Releases: radixdlt/babylon-node
Bottlenose v1.2.4
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)
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
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 newoptions
field. When requested, the response will contain a newradix_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)
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)
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)
Bump engine version to enable BLST portable
[DRAFT] Bottlenose (v1.2.1.2)
Not ready - description coming soon
Bottlenose (v1.2.1)
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)
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:
- If you run a validator, after updating, you MUST signal readiness for
bottlenose
according to theReadiness Signal Process
section of this guide. - If you run a Gateway, be aware that you need to update to Gateway
v1.5.2
orv1.6.0
before updating to Nodev1.2.0
.
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
andTransactionProcessor
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)
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 tov1.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 to3336
) - Set the bind address with:
api.engine_state.bind_address
/RADIXDLT_ENGINE_STATE_API_BIND_ADDRESS
(defaults to127.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.