v0.4.0
This release introduces the use of the Aleph.im P2P service to replace the libp2p daemon.
This is expected to reduce the load of core channel nodes significantly and fixes several performance issues.
The release also fixes several bugs linked to the validation of messages.
What's Changed
- Feature: use the Aleph.im P2P service by @odesenfans in #328
- [Messages] Use Pydantic message models everywhere by @odesenfans in #301
- Internal: Persistent VM messages were rejected by @hoh in #323
- Fix: avoid retrying improperly formatted FORGET messages by @odesenfans in #325
- [API] Remove MongoDB object ID from responses by @odesenfans in #266
- Chore: update kubo to v0.15.0 by @odesenfans in #322
Full Changelog: v0.3.3...v0.4.0
How to upgrade
Node private key file
This release includes a change in the private key format. The P2P service requires the key to be in PKCS8 DER format. This change is automatically managed in a migration script that you must run with the upgrade command (see below).
P2P topics
This release introduces new configuration options for the P2P service. We advise to set the following configuration options. Append these options to your config.yml
file:
aleph:
queue_topic: ALEPH-QUEUE
rabbitmq:
host: rabbitmq
port: 5672
RabbitMQ config
The Core Channel Node communicates with the new P2P service through an instance of RabbitMQ for P2P pubsub topics. We strongly advise to change the default username and password in the Docker Compose file:
services:
rabbitmq:
environment:
RABBITMQ_DEFAULT_USER: <new-username>
RABBITMQ_DEFAULT_PASS: <new-password>
And in the config.yml file:
rabbitmq:
username: <new-username>
password: <new-password>
From any version >= 0.2.0
Download the new Docker Compose file
mv docker-compose.yml docker-compose-old.yml
wget "https://raw.githubusercontent.com/aleph-im/pyaleph/v0.4.0/deployment/samples/docker-compose/docker-compose.yml"
Stop, upgrade and restart the node
docker-compose down
docker-compose \
run \
--entrypoint /opt/pyaleph/migrations/config_updater.py \
pyaleph \
--key-dir /opt/pyaleph/keys \
--key-file /opt/pyaleph/keys/node-secret.key \
--config /opt/pyaleph/config.yml \
upgrade
docker-compose up -d
From any version < 0.2.0: https://pyaleph.readthedocs.io/en/latest/guides/upgrade.html