Anemone (v1.1.0)
Summary
This is the v1.1.0 node, containing the anemone
protocol update, and a few other improvements.
This is a required update. All mainnet nodes will need to have updated to this version by the time the anemone protocol update enacts. This will likely happen at the start of epoch 70574 at 16:20:57 UTC on Wednesday 7th February. Configuration for the anemone protocol update triggering on mainnet can be found here.
The protocol update on stokenet was triggered on 30th January to allow time for developers to test on stokenet before mainnet is live.
Details for node set-up are on the docs site here. There should be no need for configuration changes as part of updating to this release. For those running natively, you should update both jar and native library from the attached assets. For those running in Docker, the new image is available on dockerhub.
Please note also:
- If you run a validator, after updating, you MUST signal readiness for anemone according to the
Readiness Signal Process
section of this guide. - If you run a Gateway, and wish to avoid downtime, be aware that you need to update to Gateway v1.2.4 before updating to node
v1.1.0
, and then update to Gateway v1.3.0.
License
The Babylon node code is released under the Radix License. Executable components are licensed under the Radix Node EULA.
Details
Key changes
- Support for protocol updates - Including the new (protocol update) flash transaction type, additions to the System API, ability to define protocol update thresholds and content, node startup verification, and node monitoring for protocol updates. Also includes new metrics under the
rn_protocol_
sub-namespace. - Support for the
anemone
protocol update - as per the Scrypto release notes (on docs site and github). Notably:- Corrects the creation cost for validators to 100 USD equivalent of XRD.
- Brings basic BLS support to Scrypto.
- Allows requesting
TimePrecision::Second
when requesting the current time in Scrypto. - Tweaks the pool blueprints to improve precision, and improve behaviour with non-18 divisibility resources.
- Ledger size pruning - includes a pruner of ledger proofs which reduces ledger disk usage by validators by a significant margin.
- Core API additions we have added the following functionality:
- Balances changes can be requested from the Stream API
- New
/core/stream/proofs
endpoint which can be used for retrieving proofs, with various filters. - New transaction type (the flash transaction)
- Addition to the
/core/state/validator
and/core/state/consensus-manager
endpoints to include a breakdown of the current readiness signals for validators.
Important note
The state pruner will take around 60 minutes to catch up / reduce disk space usage, and in this time will use a lot of IO. This may cause some delays in other parts of the node, and may cause your validator node to miss some proposals. You may wish to swap to a back-up node, or unregister for this hour or two, to mitigate this.
The initial logs will be very noisy after spinning up a new node. Note these logs are in the Rust part of the node, so you may not see them if you are only explicitly streaming your Java logs. When the catching up gets to the current epoch, the logs will stop being so noisy. IO slowness and disk space usage may persist for a time as RocksDB does further DB compactions to free-up the reclaimed space.
Small artifact update
The babylon-node-v1.1.0.zip
artifact was updated on 20th February to include a native keygen
, to reduce dependence on docker. This will be present in future built zip files.