This new release of the aleph.im Core Channel Node application significantly enhances the pyaleph
library with new capabilities for automated balance management, improved file pin handling, the integration of the Unichain network, message status filtering, and Kubo configuration. It also addresses a bug related to balance tracking for specific accounts and includes a Pydantic migration for improved codebase.
✨ New Features
- Balance Pre-check: A balance pre-check has been added for file pins to ensure sufficient funds before proceeding (#799).
- Automated Balance Management: The system now includes automated balance checking and management of the message lifecycle (#798).
- Message Status Filtering: The messages API now supports filtering messages by their status (#806).
- Unichain Network Implementation: Support for the Unichain network has been implemented (#802).
- Kubo Configuration: A new implementation for Kubo configuration has been added (#805).
🐞 Bug Fixes
- A fix was implemented to correctly handle accounts without a balance, allowing for proper balance tracking after the cutoff (#801).
- An issue where file content could not be found has been resolved (#812).
🛠️ Technical Improvements
- Pydantic Migration: The test codebase has been migrated to the new Pydantic interface (#807).
- Docker Image: The Docker Image version has been updated (#815).
What's Changed
- Added balance pre-check on file pins by @nesitor in #799
- Feat: Add automated balance checking and message lifecycle management by @amalcaraz in #798
- fix: catch accounts without balance to track balance after cutoff by @amalcaraz in #801
- Implement Unichain network by @nesitor in #802
- Feat: Add message status filtering to messages API by @amalcaraz in #806
- Implement Kubo Configuration by @nesitor in #805
- Migrate Pydantic to new interface by @emmanuel-ferdman in #807
- Solve file content not found by @nesitor in #812
- Increase Docker Image version by @nesitor in #815
New Contributors
- @emmanuel-ferdman made their first contribution in #807
Full Changelog: 0.7.4...0.8.0
Upgrade guide
Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.
From v0.5.1, simply bump the version of these services:
- On the
docker-compose.yml
file, in thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.8.0
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the same folder than
docker-compose.yml
file, should be a properkubo.json
configuration file, can be downloaded withwget https://raw.githubusercontent.com/aleph-im/pyaleph/0.8.0/deployment/samples/docker-compose/kubo.json
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/kubo:v0.35.0
and the command section should be["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"]
. - On the
docker-compose.yml
file, in theipfs
service must include a volume pointing to localkubo.json
configuration file, like- "./kubo.json:/etc/kubo.json:ro"
. - On the
docker-compose.yml
file, ONLY FOR CCNs WITH HIGH CPU LOADS, in theipfs
service, must have some CPU and memory limitations. On CPU side should be the half of total CPU cores, and on memory side around 20% of the total memory. To configure it, the service should look like (new lines added with comments):
ipfs:
restart: always
image: ipfs/kubo:v0.35.0
ports:
- "4001:4001"
- "4001:4001/udp"
- "127.0.0.1:5001:5001"
volumes:
- "pyaleph-ipfs:/data/ipfs"
- "./kubo.json:/etc/kubo.json:ro"
environment:
- IPFS_PROFILE=server
- GOMAXPROCS=4 # 50% of total CPU cores amount
- GOMEMLIMIT=23500MiB # 25% of total RAM memory minus 500MB
networks:
- pyaleph
command: ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"]
cpus: 4.0 # 50% of total CPU cores amount
mem_limit: 24g # 25% of total RAM memory
memswap_limit: 24g # Same amount than up
⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.
Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d
.