Node 10.4.0
brings the UTxO-HD feature to mainnet. UTxO-HD is a rework of the Consensus layer of the node which allows the UTxO set to be stored in a store that can remain in-memory or be on the disk, lowering the memory requirements of the running node at the cost of some speed. This first version of UTxO-HD provides an LMDB backend, but future releases will incorporate a more fine-tailored backend based on LSM trees. More information on UTxO-HD can be found in the consensus website. It also updates the dependency on Plutus to 1.45.
Users migrating from a previous version of the node should read the migration guide to properly configure the node and convert the database such that a replay from genesis can be avoided.
This version of the node is released as a pre-release, pending community testing. It is not recommended for production use at this point in time.
Known Issues
There is a known bug with the experimental Ouroboros Genesis feature that is not yet recommended for mainnet use.
ChainSync Jumping (CSJ) is not disabled once a node is caught up. This should not affect normal operation of the syncing node, but does risk a DoS attack for the caught-up node. It will be corrected in a future release (Issue IntersectMBO/ouroboros-consensus#1490).
Technical Specification
Minimum System Requirements
- An Intel or AMD x86 processor with two or more cores, at 1.6GHz or faster (2GHz or faster for a stake pool or relay)
- Or, for MacOS, an Apple Silicon (M1, M2, M3 or M4) processor
- 24GB of RAM when running with the InMemory backend, 8GB when running with the OnDisk backend
- 200GB of free storage (250GB recommended for future growth)
Platforms
- Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS; Mint 19.3, 20; Debian 10.3)
- Windows 64-bit (8.1, 10, 11)
- MacOS 10.13, 10.14, 10.15, 11
GHC/Cabal supported versions
- GHC 9.6
- Cabal 3.8/3.12
Supported roles
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | 🟢 | 🟢 | 🟢 |
Windows | 🟥 | 🟥 | 🟢 |
MacOS | 🟥 | 🟥 | 🟢 |
Downloads
Documentation
- Cardano Node documentation
- For details about changes to configuration for
UTxO-HD
please refer to the Consensus docs on UTxO-HD - The getting started guide may also be helpful for general queries.
- Networking options and related changes are listed on the P2P section
- For details about changes to configuration for
- Cardano CLI
- Internal API docs for ledger, consensus and network
- Compatibility matrix
Sign-off
Role | Approval |
---|---|
Technical Steering Committee (Intersect) | |
Product Committee (Intersect) | |
Test Engineer | |
Performance Engineer | |
Site Reliability Engineer | |
Release Engineer | 🟢 |
Legend
- 🟢 - signed / agreed / supported
- 🟥 - not agreed / unsupported
Changelogs
Node
Consensus
Ledger
- No changes
Network
- No changes
CLI
-
Corrected the flipped text & JSON output format for
query stake-pools
command.
(bugfix)
PR 1139 -
Make the output format flag for the
query utxo
command only have one default: JSON (rather than a different default depending on whether the output file is specified).
(breaking, refactoring)
PR 1133 -
Add canonical CBOR output toggle for transaction building and signing commands.
(feature, compatible)
PR 1092
API
Submit API
- No changes
Plutus
Detailed Changelogs
Individual packages' changelogs
Package | Version | Changelog |
---|---|---|
Win32-network | 0.2.0.1 | ChangeLog.md |
base-deriving-via | 0.1.0.2 | CHANGELOG.md |
byron-spec-chain | 1.0.1.0 | CHANGELOG.md |
byron-spec-ledger | 1.1.0.0 | CHANGELOG.md |
cardano-api | 10.14.1.0 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 10.8.0.0 | CHANGELOG.md |
cardano-crypto-wrapper | 1.6.0.0 | CHANGELOG.md |
cardano-crypto-test | 1.6.0.0 | CHANGELOG.md |
cardano-crypto-praos | 2.2.1.0 | CHANGELOG.md |
cardano-crypto-tests | 2.2.1.0 | CHANGELOG.md |
cardano-crypto-class | 2.2.2.0 | CHANGELOG.md |
cardano-data | 1.2.4.0 | CHANGELOG.md |
cardano-git-rev | 0.2.2.0 | |
cardano-ledger-byron | 1.1.0.0 | CHANGELOG.md |
cardano-ledger-api | 1.11.0.0 | CHANGELOG.md |
cardano-ledger-babbage | 1.11.0.0 | CHANGELOG.md |
cardano-ledger-alonzo | 1.13.0.0 | CHANGELOG.md |
cardano-ledger-shelley | 1.16.0.0 | CHANGELOG.md |
cardano-ledger-core | 1.17.0.0 | CHANGELOG.md |
cardano-ledger-conway | 1.19.0.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.3.0.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.3.1.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.3.1.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.3.1.0 | CHANGELOG.md |
cardano-ledger-byron-test | 1.5.2.1 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.6.0.0 | CHANGELOG.md |
cardano-ledger-binary | 1.6.0.0 | CHANGELOG.md |
cardano-ledger-allegra | 1.7.0.0 | CHANGELOG.md |
cardano-ledger-mary | 1.8.0.0 | CHANGELOG.md |
cardano-lmdb | 0.4.0.3 | CHANGELOG.md |
cardano-lmdb-simple | 0.8.0.1 | CHANGELOG.md |
cardano-ping | 0.8.0.0 | CHANGELOG.md |
cardano-prelude-test | 0.1.0.5 | |
cardano-prelude | 0.2.1.0 | ChangeLog.md |
cardano-protocol-tpraos | 1.4.0.0 | CHANGELOG.md |
cardano-slotting | 0.2.0.0 | CHANGELOG.md |
cardano-strict-containers | 0.1.4.0 | CHANGELOG.md |
contra-tracer | 0.1.0.1 | |
cuddle | 0.3.2.1 | CHANGELOG.md |
diff-containers | 1.3.0.0 | CHANGELOG.md |
ekg-forward | 0.9 | CHANGELOG.md |
fingertree-rm | 1.0.0.4 | CHANGELOG.md |
heapwords | 0.1.0.2 | CHANGELOG.md |
iohk-monitoring | 0.2.1.0 | |
lobemo-backend-aggregation | 0.1.0.0 | |
lobemo-backend-monitoring | 0.1.0.0 | |
lobemo-backend-trace-forwarder | 0.1.0.0 | |
lobemo-backend-ekg | 0.2.0.0 | |
measures | 0.1.0.2 | CHANGELOG.md |
monoidal-synchronisation | 0.1.0.6 | CHANGELOG.md |
network-mux | 0.7 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.12.0.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.22.0.1 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.25.0.1 | CHANGELOG.md |
ouroboros-consensus | 0.26.0.0 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.2 | CHANGELOG.md |
ouroboros-network-api | 0.13.0.0 | CHANGELOG.md |
ouroboros-network-protocols | 0.14.0.0 | CHANGELOG.md |
ouroboros-network-framework | 0.17.0.0 | CHANGELOG.md |
ouroboros-network | 0.20.1.0 | CHANGELOG.md |
ouroboros-network-testing | 0.8.1.0 | CHANGELOG.md |
plutus-core | 1.45.0.0 | CHANGELOG.md |
plutus-ledger-api | 1.45.0.0 | CHANGELOG.md |
plutus-tx | 1.45.0.0 | CHANGELOG.md |
prettyprinter-configurable | 1.36.0.0 | |
quickcheck-monoids | 0.1.0.1 | CHANGELOG.md |
set-algebra | 1.1.0.3 | CHANGELOG.md |
small-steps | 1.1.1.0 | CHANGELOG.md |
sop-extras | 0.4.0.0 | CHANGELOG.md |
strict-checked-vars | 0.2.0.0 | CHANGELOG.md |
strict-sop-core | 0.1.3.0 | CHANGELOG.md |
tracer-transformers | 0.1.0.4 | |
typed-protocols-cborg | 0.3.0.0 | CHANGELOG.md |
typed-protocols | 0.3.0.0 | CHANGELOG.md |
typed-protocols-stateful-cborg | 0.3.0.0 | ChangeLog.md |
typed-protocols-stateful | 0.3.0.0 | |
typed-protocols-examples | 0.5.0.0 | |
vector-map | 1.1.0.0 | CHANGELOG.md |