Cardano Node 8.7.2
Cardano Node 8.7.2
brings the CLI refactoring from sanchonet to mainnet to allow teams ample time to update their components in preparation for 9.0. It also has improvements to the P2P networking layer. The high-level changelog updates below are significant changes since 8.1.2 mainnet release and only focus on the node running in the babbage era.
Benchmarking reports relevant to the 8.7.2
release can be found in this post on Cardano Updates.
The Conway genesis filé needs updated to latest sanchonet version. Check the linked configuration files below.
Breaking changes:
- cardano-cli has dropped some byron era commands (see detailed changelogs for details)
- While we don't anticipate any breaking changes and our regression test suites have passed, beware that major refactoring has happened on cardano-cli since 8.1.2.
- libblst is a required dependency now in preparation for next hard fork
Known Issues
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
-
Docker images are temporarily unavailable
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
NONE
Consensus
- Changing the selection now traces the entire SelectView (including the tiebreaker VRF)
Ledger
NONE
Network
- Introduces light peer sharing: incoming duplex connections become known to
the outbound governor. - Fixed issues with random peer selection for sharing.
- Addressed asynchronous demotion issues, preventing peers from remaining
indefinitely in certain states (the bug). - Fixed a bug where peers marked with DoNotAdvertisePeer were being shared.
- Clarified distinction between pools of peers for sharing and requesting.
- Updated types for PeerSharing, including removal of PeerSharingPrivate
for symmetric handshakes, improving compatibility and fixing specific
issues. - Changed encoding for IPv6 addresses in the PeerSharing protocol.
- Introduced NodeToNodeVersion_13 - this version fixes the negotiated value
of PeerSharing and deprecates PeerSharingPrivate. Older versions would
wrongly echo the proposer's PeerSharing value so version 13 disables peer
sharing with older versions to not lead into unwanted disconnections. - Made ChainSync idle timeout configurable.
- Updated KeepAlive client for better round-trip time sampling.
- Introduced less aggressive churn for established and known peers.
- Added new PeerStatus PeerCooling to manage asynchronous demotions more accurately.
- Introduced big ledger peers to the outbound governor.
- Fixed a small memory leak in PeerMetrics.
- Made DNS resolution for peers more efficient and limited concurrency for
faster and more stable connections. - Improved memory footprint for peer metrics.
Cardano-cli
Introduction of Top-Level Command:
- cardano-cli 8.17.0.0 now features as a top-level command, exemplified by commands like cardano-cli conway, cardano-cli babbage, and cardano-cli alonzo.
This refactoring is crucial for the seamless integration of the Conway era, which introduces significant changes compared to Babbage and previous eras. This enhancement aims to improve user experience by tailoring the CLI to display only the commands and flags relevant to the current era. For example, Conway-specific commands are not displayed in Babbage, and Babbage options that would be nonsensical in Conway are appropriately excluded (i.e MIR certificates and update proposals by genesis keys)
Please be aware that commands are actively under development, and changes or refinements may still occur in upcoming releases.
Preservation of Legacy Commands:
- cardano-cli 8.17.0.0 retains all commands from cardano-cli 8.1.2 (the previous release suitable for mainnet). These commands are designated as "legacy commands," ensuring users transitioning from cardano-cli 8.1.2 can seamlessly continue their operations without disruption while they smoothly transition into the new commands structure.
Known Issues:
There are a few minor bugs related to Conway era integration where Conway subcommands are spilling over to previous eras and the legacy commands. For updates on these issues, please refer to cardano-cli repository.
- The legacy command "cardano-cli transaction build" currently displays options --vote-file and --proposal-file.
- The legacy command cardano-cli
query
presents the subcommand constitution-hash which is irrelevant for babbage era cardano-cli babbage stake-address registration-certificate
andcardano-cli stake-address registration-certificate
show the flag--key-reg-deposit-amt
but it is really not needed on Babbage. This will be removed, however the its presence and the removal is purely cosmetic since the resulting certificate does conform to the Babbage cddl. In other words, using this flag does not have any impact. The deposit in Babbage era should be supplied on the current fashion: when balancing the transaction.- The output of
cardano-cli babbage query stake-address-info
shows thevoteDelegation
field which does not have any meaning in Babbage and is Conway specific to display the DRep that we are delegating to.
Cardano-api
- Major refactoring of API (see detailed changelogs for API below)
- Fix the inclusion of datum hashes in Alonzo era tx bodies
- New
ToJSON
instance forTxValidationErrorInCardanoMode
- Remove
ByronTx
data constructor fromdata Tx era
- Delete Cardano.Api.Eon.ByronEraOnly module
- Remove
TxFeeImplicit
andTxValidityNoUpperBound
Submit-api
- Remove support for Byron transactions
- Update
cardano-cli-8.17.0.0
andcardano-api-8.36.1.1
Plutus
NONE
Individual packages' changelogs
Package | Version | Changelog |
---|---|---|
Win32-network | 0.1.1.1 | ChangeLog.md |
base-deriving-via | 0.1.0.2 | CHANGELOG.md |
bech32 | 1.1.4.1 | ChangeLog.md |
byron-spec-chain | 1.0.0.1 | CHANGELOG.md |
byron-spec-ledger | 1.0.0.1 | CHANGELOG.md |
cardano-api | 8.36.1.1 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 8.17.0.0 | CHANGELOG.md |
cardano-crypto | 1.1.2 | |
cardano-crypto-class | 2.1.4.0 | CHANGELOG.md |
cardano-crypto-praos | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-test | 1.5.0.0 | |
cardano-crypto-tests | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-wrapper | 1.5.1.0 | CHANGELOG.md |
cardano-data | 1.1.2.0 | CHANGELOG.md |
cardano-ledger-allegra | 1.2.5.0 | CHANGELOG.md |
cardano-ledger-alonzo | 1.5.1.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.1.2.7 | CHANGELOG.md |
cardano-ledger-api | 1.7.0.1 | CHANGELOG.md |
cardano-ledger-babbage | 1.5.1.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.1.1.8 | CHANGELOG.md |
cardano-ledger-binary | 1.2.1.0 | CHANGELOG.md |
cardano-ledger-byron | 1.0.0.3 | CHANGELOG.md |
cardano-ledger-byron-test | 1.5.0.0 | |
cardano-ledger-conway | 1.11.0.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.2.1.2 | CHANGELOG.md |
cardano-ledger-core | 1.9.0.0 | CHANGELOG.md |
cardano-ledger-mary | 1.4.0.0 | CHANGELOG.md |
cardano-ledger-pretty | 1.3.3.1 | CHANGELOG.md |
cardano-ledger-shelley | 1.8.0.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.2.1.5 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.3.0.0 | CHANGELOG.md |
cardano-ping | 0.2.0.9 | CHANGELOG.md |
cardano-prelude | 0.1.0.4 | ChangeLog.md |
cardano-prelude-test | 0.1.0.2 | |
cardano-protocol-tpraos | 1.0.3.7 | CHANGELOG.md |
cardano-slotting | 0.1.2.0 | CHANGELOG.md |
cardano-strict-containers | 0.1.2.1 | CHANGELOG.md |
contra-tracer | 0.1.0.2 | |
dependent-sum-template | 0.1.1.1.0.0.0.1 | ChangeLog.md |
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.4 | 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.3 | |
lobemo-backend-aggregation | 0.1.0.0 | |
lobemo-backend-ekg | 0.1.0.1 | |
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.4 | CHANGELOG.md |
network-mux | 0.4.3.0 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus | 0.14.0.0 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.12.1.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.9.0.0 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.6.0.0 | CHANGELOG.md |
ouroboros-network | 0.10.1.0 | CHANGELOG.md |
ouroboros-network-api | 0.6.1.0 | CHANGELOG.md |
ouroboros-network-framework | 0.10.1.0 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.0 | CHANGELOG.md |
ouroboros-network-protocols | 0.6.0.1 | CHANGELOG.md |
ouroboros-network-testing | 0.4.0.1 | CHANGELOG.md |
plutus-core | 1.15.0.1 | CHANGELOG.md |
plutus-ledger-api | 1.15.0.1 | CHANGELOG.md |
plutus-tx | 1.15.0.1 | CHANGELOG.md |
prettyprinter-configurable | 1.15.0.0 | |
protolude | 0.3.3.0.0.0.0.1 | ChangeLog.md |
set-algebra | 1.1.0.1 | CHANGELOG.md |
small-steps | 1.0.0.0 | CHANGELOG.md |
small-steps-test | 1.0.0.1 | |
sop-extras | 0.1.0.0 | CHANGELOG.md |
strict-checked-vars | 0.1.0.4 | CHANGELOG.md |
strict-sop-core | 0.1.0.0 | CHANGELOG.md |
th-extras | 0.0.0.6.0.0.0.0.1 | 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-algorithms | 0.9.0.1.0.0.0.0.1 | CHANGELOG.md |
vector-map | 1.0.1.0 | CHANGELOG.md |