Skip to content

Anemone (v1.1.0)

Compare
Choose a tag to compare
@dhedey dhedey released this 26 Jan 16:58
· 388 commits to release/anemone since this release
c5f5cf1

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:

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.