Aleph v0.2.0 Release Notes
Codename “Asimov, A new foundation.”
TLDR;
- Support for FORGET messages
- A new dedicated service handles P2P connections
- Node Software private keys need to be migrated for the new service to work
- Many API improvements and fixes
- Deadline 1st of March, 15:00 CET
How to upgrade or install
👉 https://pyaleph.readthedocs.io/en/latest/guides/index.html
Breaking changes
- This release requires a new way to manage private keys. The private key must now be provided in a new serialized format. Use the configuration updater to migrate to the new format.
- The “protocol” P2P config is disabled until further notice as it was not working properly.
- MongoDB becomes the only supported internal storage engine. RocksDB is not supported anymore.
Main features
FORGET message
This is a new type of message. It is designed to order the explicit deletion of a message by a user.
When a FORGET message is received by a node, it will immediately:
- remove the ‘content’ and ‘item_content’ sections of the targeted messages
- add a field ‘forgotten_by’ that references to the processed FORGET message
The FORGET message will only be accepted if either:
- the sender of the FORGET matches the ‘sender’ field of the message
- the targeted message was created by a VM and the sender of the FORGET matches the ‘sender’ of the VM
If the forgotten message is of type STORE, the number of references to the data will be counted.
If the new count amounts to zero, the file will be deleted from the database or unpinned and cleared from IPFS.
P2P daemon
P2P communication is now managed with the official libp2p daemon.
This allows us to get rid of a dependency on the unmaintained py-libp2p library.
This in turn enabled many improvements. We:
- Moved to newer versions of many dependencies
- Resolved many bugs related to P2P communication
- Simplified the overall architecture of PyAleph.
API improvements
- Calling
/api/v0/messages.json
with unsupported fields returns a proper error message instead of the obscure 500 Internal Server Error - Improved reliability of the Websocket API
- New parameters to
/api/v0/messages.json
:contentKeys
,startDate
,endDate
.
Other changes
- The
--gen-key
option is renamed to--gen-keys
. It now stores the public key along with the private key, and a serialized version of the private key for use by the P2P daemon. - The private key for the P2P host can no longer be provided through the config.yml file using the
p2p.key
field. The key must be provided as a serialized file in thekeys
directory. - Decommissioned the dockerized VMs as they were replaced by the micro-VMs.
- Introduced a new tool called the configuration updater to manage changes in the configuration files and key files between versions.
- Fixed minor issues in the index page of the web service.
- Optimized the processing of messages by prioritizing new messages over messages that are waiting for a retry.
- Add support for a IPFS content identifier (CID) format version 1.
- Improve the reliability of the Websocket API
- A new API
/api/v0/storage/count/<storage-hash>
exposes the number of times a IPFS/storage hash is pinned - A new metric exposes the number of files pinned that belong to a chain and cannot be unpinned
- Operators can now distinguish the different processes of the node
- Fixed issues where errors could not be reported on Sentry
- Fixed an issue where the logging level was different in subprocesses
How to upgrade or install 👉 https://pyaleph.readthedocs.io/en/latest/guides/index.htm
About Aleph.im
Aleph.im is a distributed cloud platform that provides serverless trusted computing services, file storage and database hosting to its users. Aleph.im offers a decentralized solution that could rival traditional centralized cloud computing. It provides dApps of any chain instant access to database solutions thanks to its scalable peer-to-peer network and programming language-agnostic interface. For more information visit aleph.im
Explore Aleph.im’s indexing solution, staking DApp, and NFT & IPFS Backup dApp.
Follow aleph.im on Twitter: @aleph_im
Thanks and keep in touch
Join our live conversation on our Telegram Community Chat.
🌐 Website | 🗞 Blog | 📄 Papers | 🐦 Twitter | 💬 Telegram | 💼 Linkedin |
💻 GitHub | 📒 Dev Docs | 🤖 Reddit