Cardano Node 9.0.0
Node 9.0.0
is a major release of the Cardano node that contains all the changes that are needed for the Conway ledger era, including on-chain governance via CIP-1694, support for Plutus v1 reference scripts, and Plutus script signature support via CIP-69. It is recommended that all node users upgrade to this or a later version of the node.
This is the first node that can support crossing the 9.0 hard fork (Chang) boundary on mainnet and long-running testnets, such as PreProd). It only supports entering the bootstrap phase of CIP-1694 in production environments (Protocol Version 9.0) and not
the transition to enable DRep voting and all governance actions (Protocol Version 10.0).
System testing results for the 9.0.0 release can be found on the corresponding tag testing page.
No Conway Genesis File
Note that node 9.0.0 is supplied without a valid Conway-era Genesis file, which will be needed to cross the Chang hard fork. This will be supplied at a later date, necessitating a small configuration update.
Benchmarking reports relevant to the 9.0.0
release can be found in this post on Cardano Updates.
Known Issues
Cardano CLI
- In
cardano-cli-9.0.0.0
, in the Conway era, thetransaction build
command automatically populates thecurrentTreasuryValue
on every transaction. This should, however, happen only on Treasury donation transactions. This issue causes:- Transactions running Plutus V1, Plutus V2 and Simple scripts to fail at submission with
CurrentTreasuryFieldNotSupported
. - Also, regular transactions created on one epoch and submitted on a different epoch fail with
ConwayTreasuryValueMismatch
.
- Transactions running Plutus V1, Plutus V2 and Simple scripts to fail at submission with
⬆️ This is fixed on cardano-cli-9.0.0.1 Users are encouraged to use this latest version.
- In
cardano-cli-9.0.0.0
, in the Conway era,transaction build
command may underestimate Plutus script execution units. This causes script execution to fail withoverspent budget
. Usetransaction build-raw
instead.
No Conway Genesis File
Note that node 9.0.0 is supplied without a valid Conway-era Genesis file, which will be needed to cross the Chang hard fork. This will be supplied at a later date, necessitating a small configuration update.
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 or M3) processor
- 24GB of RAM
- 200GB of free storage (250GB recommended for future growth)
Platforms
- Linux 64-bit (Ubuntu 18.04 LTS, 20.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 8.10.7/Cabal 3.8.1.0
Supported roles
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | 🟢 | 🟢 | 🟢 |
Windows | 🟥 | 🟥 | 🟢 |
MacOS | 🟥 | 🟥 | 🟢 |
Downloads
Documentation
- Cardano Node documentation
- Cardano CLI
- Internal API docs for ledger, consensus and network
- Compatibility matrix
Sign off
Role | Approval |
---|---|
Cardano Head of Engineering | 🟢 |
Cardano Head of Product | 🟢 |
Test Engineer | 🟢 |
Performance Engineer | 🟢 |
Site Reliability Engineer | 🟢 |
Release Engineer | 🟢 |
Changelogs
Node
- Allows updating to conway era without
ExperimentalHardForksEnabled
Consensus
- Added
GetSPOStakeDistr
query. - Introduced
ConwayMeasure
, a Conway-specificTxMeasure
adding the total
reference scripts size as a new dimension on top ofAlonzoMeasure
. - Updated N2C part of
latestReleasedNodeVersion
toNodeToClientV_16
.
Ledger
- Authorization of hot credentials for constitutional committee members is now only
possible for cold credentials that are present in the ledger state, either in the current
committee or in one of the proposals. - Voting is restricted to entities that are present in the ledger state
- DRep votes will be removed whenever DRep unregisters
- Pricing model for the size of reference scripts was changed from linear to
exponential. Moreover, extra limits on the total size of reference scripts being used
have been put in place.
Network
NONE
Cardano-cli
NONE
Cardano-api
NONE
Submit-api
NONE
Plutus
NONE
Individual packages' changelogs
Package | Version | Changelog |
---|---|---|
Win32-network | 0.2.0.0 | ChangeLog.md |
base-deriving-via | 0.1.0.2 | CHANGELOG.md |
byron-spec-chain | 1.0.1.0 | CHANGELOG.md |
byron-spec-ledger | 1.0.1.0 | CHANGELOG.md |
cardano-api | 9.0.0.0 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 9.0.0.0 | CHANGELOG.md |
cardano-crypto | 1.1.2 | |
cardano-crypto-class | 2.1.5.0 | CHANGELOG.md |
cardano-crypto-praos | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-test | 1.5.0.2 | |
cardano-crypto-tests | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-wrapper | 1.5.1.2 | CHANGELOG.md |
cardano-data | 1.2.3.0 | CHANGELOG.md |
cardano-git-rev | 0.2.2.0 | |
cardano-ledger-allegra | 1.5.0.0 | CHANGELOG.md |
cardano-ledger-alonzo | 1.10.0.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.2.1.2 | CHANGELOG.md |
cardano-ledger-api | 1.9.2.1 | CHANGELOG.md |
cardano-ledger-babbage | 1.8.2.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.2.0.3 | CHANGELOG.md |
cardano-ledger-binary | 1.3.3.0 | CHANGELOG.md |
cardano-ledger-byron | 1.0.1.0 | CHANGELOG.md |
cardano-ledger-byron-test | 1.5.1.1 | CHANGELOG.md |
cardano-ledger-conway | 1.16.0.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.2.1.7 | CHANGELOG.md |
cardano-ledger-core | 1.13.2.0 | CHANGELOG.md |
cardano-ledger-mary | 1.6.1.0 | CHANGELOG.md |
cardano-ledger-shelley | 1.12.2.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.2.2.2 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.4.0.2 | CHANGELOG.md |
cardano-ping | 0.2.0.14 | CHANGELOG.md |
cardano-prelude | 0.2.0.0 | ChangeLog.md |
cardano-prelude-test | 0.1.0.3 | |
cardano-protocol-tpraos | 1.2.0.1 | CHANGELOG.md |
cardano-slotting | 0.2.0.0 | CHANGELOG.md |
cardano-strict-containers | 0.1.3.0 | CHANGELOG.md |
contra-tracer | 0.1.0.2 | |
ekg | 0.4.0.15.0.0.0.0.2 | CHANGELOG.md |
ekg-core | 0.1.1.7.0.0.0.0.1 | CHANGELOG.md |
ekg-forward | 0.5 | CHANGELOG.md |
ekg-json | 0.1.0.7.0.0.0.0.2 | CHANGELOG.md |
fs-api | 0.2.0.1 | CHANGELOG.md |
fs-sim | 0.2.1.1 | CHANGELOG.md |
heapwords | 0.1.0.2 | CHANGELOG.md |
iohk-monitoring | 0.1.11.4 | |
libsystemd-journal | 1.4.5.0.0.0.0.1 | Changelog.md |
lobemo-backend-aggregation | 0.1.0.0 | |
lobemo-backend-ekg | 0.1.1.0 | |
lobemo-backend-monitoring | 0.1.0.0 | |
lobemo-backend-trace-forwarder | 0.1.0.0 | |
lobemo-scribe-systemd | 0.1.0.0 | |
measures | 0.1.0.2 | CHANGELOG.md |
monoidal-synchronisation | 0.1.0.5 | CHANGELOG.md |
network-mux | 0.4.5.2 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus | 0.20.0.0 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.18.0.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.17.0.1 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.9.0.1 | CHANGELOG.md |
ouroboros-network | 0.16.1.1 | CHANGELOG.md |
ouroboros-network-api | 0.7.3.0 | CHANGELOG.md |
ouroboros-network-framework | 0.13.2.1 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.1 | CHANGELOG.md |
ouroboros-network-protocols | 0.9.0.0 | CHANGELOG.md |
ouroboros-network-testing | 0.6.2.0 | CHANGELOG.md |
plutus-core | 1.30.0.0 | CHANGELOG.md |
plutus-ledger-api | 1.30.0.0 | CHANGELOG.md |
plutus-tx | 1.30.0.0 | CHANGELOG.md |
prettyprinter-configurable | 1.30.0.0 | |
quickcheck-monoids | 0.1.0.0 | CHANGELOG.md |
set-algebra | 1.1.0.3 | CHANGELOG.md |
small-steps | 1.1.0.0 | CHANGELOG.md |
sop-extras | 0.2.0.0 | CHANGELOG.md |
strict-checked-vars | 0.2.0.0 | CHANGELOG.md |
strict-sop-core | 0.1.1.0 | CHANGELOG.md |
tracer-transformers | 0.1.0.4 | |
typed-protocols | 0.1.1.0 | CHANGELOG.md |
typed-protocols-cborg | 0.1.0.4 | CHANGELOG.md |
typed-protocols-examples | 0.2.0.2 | |
validation-selective | 0.2.0.0.0.0.0.0.1 | CHANGELOG.md |
vector-map | 1.1.0.0 | CHANGELOG.md |
Legend
-
🟢 - signed / agreed / supported
-
🟥 - not agreed / unsupported