Skip to content

Releases: radixdlt/babylon-node

Bottlenose v1.2.4

03 Oct 16:07
Compare
Choose a tag to compare

Summary

This is a minor release that fixes an issue with the new transaction preview receipt, introduced by v1.2.3.

Details

  • Fixed metadata_updates in the new toolkit receipt (#1935)

License

The Babylon node code is released under the Radix License. Executable components are licensed under the Radix Node EULA.

Bottlenose v.1.2.4 - Release Candidate 1 (v1.2.4-rc1)

02 Oct 20:37
e5a969f
Compare
Choose a tag to compare

This is a test release, and not intended for running in production. We hope to have a proper release of v1.2.4 soon.

Bottlenose v1.2.3

09 Sep 09:53
d708386
Compare
Choose a tag to compare

Summary

This is a minor release improving the transaction preview endpoint within Core API. It can now return the transaction receipt in a format better aligned with Radix Engine Toolkit.

Note: the old SBOR receipt encoding is still supported, but becomes deprecated with this release.

Details

  • The request to /transaction/preview Core API endpoint now honors a new options field. When requested, the response will contain a new radix_engine_toolkit_receipt field.
    • The new receipt encoding will primarily be consumed by Radix Engine Toolkit and the wallet; it is not expected to be useful to other clients.

License

The Babylon node code is released under the Radix License. Executable components are licensed under the Radix Node EULA.

Bottlenose v.1.2.3 - Release Candidate 1 (v1.2.3-rc1)

06 Sep 15:51
d708386
Compare
Choose a tag to compare

This is a test release, and not intended for running in production. We hope to have a proper release of v1.2.3 soon.

Bottlenose (v1.2.2)

20 Aug 15:09
7ec37be
Compare
Choose a tag to compare

This is an optional hotfix that resolves an issue experienced by nodes with an old CPU.

If your node has been crashing with SIGILL errors, please upgrade to this version.

License

The Babylon node code is released under the Radix License. Executable components are licensed under the Radix Node EULA.

[DRAFT] Bottlenose (v1.2.2-rc1)

20 Aug 10:46
Compare
Choose a tag to compare
Pre-release
Bump engine version to enable BLST portable

[DRAFT] Bottlenose (v1.2.1.2)

20 Aug 10:23
b5ebf89
Compare
Choose a tag to compare
Pre-release

Not ready - description coming soon

Bottlenose (v1.2.1)

21 May 07:42
632b21c
Compare
Choose a tag to compare

Caution

If you upgrade a node from v1.2.0 to v1.2.1 after the bottlenose enactment, you will need to do a full re-sync.

This is a mandatory hotfix to the v1.2.0 release, which resolves a compatibility issue between Core API and ledger database from previous Node versions.

If you've already signalled readiness for the bottlenose protocol update, you don't need to do so again.

For Gateway runners, please make sure you update your Gateway to v1.6.1, https://github.com/radixdlt/babylon-gateway/releases/tag/v1.6.1.

Change log can be found at https://github.com/radixdlt/babylon-node/releases/tag/v1.2.0.3.

Bottlenose (v1.2.0.3)

15 May 10:31
2fd5e25
Compare
Choose a tag to compare

Caution

This build is now deprecated. Please use v1.2.1 instead!

Summary

This is the Node v1.2.0 release, containing the bottlenose protocol update candidate.

If Bottlenose is enacted by the validator set, this will be a mandatory update for all node runners. All mainnet nodes should be updated to this version by 18:00 UTC on Monday 3rd June, which is the approximate targeted time for enactment.

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:

Details

  • New AccountLocker native blueprint, as described at https://docs.radixdlt.com/docs/locker
  • New API for reading component owner role from Scrypto
  • New substates that expose the current protocol-related parameters
  • Add recovery fee vault to AccessController, removing the need for third-party fee locking during the recovery process
  • Various improvements to Account and TransactionProcessor native blueprints
  • Various improvements to Radix Engine implementation

License

The Babylon node code is released under the Radix License. Executable components are licensed under the Radix Node EULA.

Anemone (v1.1.3.1)

26 Apr 11:27
dc9f981
Compare
Choose a tag to compare

Summary

This is the v1.1.3 node, introducing a number of new features and improvements to the APIs.

This release is an optional update and fully Anemone-compatible. The key change is adding Engine State API (beta), which is a low-level, comprehensive API for reading state from the engine.

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:

  • It is impossible to go back to v1.1.2 once you've updated to v1.1.3.
  • When v1.1.3 starts for the first time, it needs to generate indexes for the database, which may introduce downtime. As a result, this may cause your validator node to miss proposals. You may wish to swap to a back-up node, or unregister for this hour or two, to mitigate this.

Using the Engine State API

The Open API documentation is available on Redocly here.
When set-up, by default, it will be bound to 127.0.0.1:3336/engine-state - or via nginx, <BASE>/engine-state.

Example CURL:

curl -X 'POST' \
  'http://localhost:3336/engine-state/entity/info' \
  --header 'Content-Type: application/json' \
  -d '{
    "entity_address": "resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd"
  }'

Setting up the Engine State API

With the node runner CLI

Update the CLI, then re-run the relevant config command as per the docs, which will prompt if you wish to configure the Engine State API, and then update the node.

Custom bare-metal

By default, the Engine State API binds to 127.0.0.1:3336, this can optionally be changed with:

  • Set the port up with:api.engine_state.port / RADIXDLT_ENGINE_STATE_API_PORT (defaults to binding to 3336)
  • Set the bind address with: api.engine_state.bind_address / RADIXDLT_ENGINE_STATE_API_BIND_ADDRESS (defaults to 127.0.0.1)

Custom docker

If running in Docker, you will likely wish to expose this port somehow. For example, in https://github.com/radixdlt/babylon-node/blob/main/testnet-node/docker-compose.yml it is bound to the host's 127.0.0.1:3336.

Using babylon-nginx

If you are using the babylon-nginx reverse proxy then you will want to use at least 1.0.7, and run it with the RADIXDLT_ENGINE_STATE_ENABLE=true command line parameter, which will map /engine-state/* to the engine state API.

Details

  • Engine State API:
    • New API for reading state from the engine.
  • Core API:
    • Add ability to preview transactions at recent state versions
    • Add TransactionFormatOptions option to /transaction/receipt endpoint
    • Add disable_auth_checks option for transaction preview
    • Improve Core API performance by using RocksDB’s snapshots instead of RwLock on database
    • Fix mempool add race condition causing occasional restarts of busy full nodes
  • Other:
    • Improve log messages
    • Optimize the reevaluation strategy for transactions stuck in the mempool
    • Add DB checkpoint System API which can be used to take backups more easily

License

The Babylon node code is released under the Radix License. Executable components are licensed under the Radix Node EULA.