Skip to content

Cardano Node 8.10.0-pre

Pre-release
Pre-release
Compare
Choose a tag to compare
@disassembler disassembler released this 09 Apr 20:10
· 614 commits to master since this release
04e060e

NOTE: THIS RELEASE IS ONLY RECOMMENDED FOR USE ON THE SANCHONET AND PUBLIC TEST ENVIRONMENTS (E.G. PREVIEW) AT THIS TIME. IT IS NOT RECOMMENDED FOR USE ON MAINNET.

This release contains the latest governance changes for SanchoNet. It has support for a new cost model for Plutus v3, plus new Plutus byte string primitives. The Constitution Committee quorum has been renamed to threshold in the CLI and a new economic parameter minFeeRefScriptCostPerByte has been added for reference scripts. This version of the node also adds support for reference scripts in the Conway era.

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

Documentation

Sign off

Role Approval
Cardano Head of Engineering 🟢
Cardano Head of Product 🟢
Test Engineer N/A for pre-release
Performance Engineer N/A for pre-release
Site Reliability Engineer N/A for pre-release
Release Engineer 🟢

Changelogs

Node
Consensus
  • Change the randomness stabilization window for Conway (and future eras) to 4k/f instead of 3k/f (one stability window) that was used for Babbage and TPraos-based eras. See erratum 17.3 in the Shelley ledger specs for context. Note that this is a backwards-incompatible change for all existing chains containing (at least one full epoch worth of) Conway blocks.
  • Bugfix: DiskPolicyArgs were not being passed down to the ChainDB, resulting in default values for SnapshotInterval.
  • Implement lightweight checkpointing #449. A validation to help nodes follow the historical chain. A new field topLevelConfigCheckpoints has been added to the TopLevelConfig record, with a new type CheckpointsMap.
  • Compare TxIds based on the underlying hash so that they can now be seen as equal even if they are from different eras. This helps us with eg MsgHasTx from the LocalTxMonitor miniprotocol.
Ledger
  • Retention of Anchor for proposal procedures in the ledger state for users to be able to query the node for those anchors

  • The minimum fee calculation has been updated to take into consideration a new protocol parameter controlling the contribution of reference script sizes (minFeeRefScriptCostPerByte)

  • Support for intra-era hardfork initiation and necessary updates to the SPO stake distribution calculation

  • Fail translation when Conway features are present in transactions that use Plutus v1/v2

  • Query-related changes:

Era-specific queries:

  • Conway functionality supported only starting with Conway era
  • Change committee query to return non-optional CommitteeMembersState
  • Add optional Anchorto resigned status in CommitteeMembersState

Important bug fixes:

  • Use the correct stake pool distribution for voting (instead of one that is an epoch too old)
  • Fix DRep stake distribution to correctly add rewards to deleged stake
  • JSON serialization of rational numbers in protocol parameters and governance procedures are encoded without loss of precision (BoundedRatio and Prices)
  • JSON serialization fix for ConwayGovState
Network
Cardano-cli
  • Add ref-script-size query command

  • convert-cardano-address-key: support DRep and CC keys

  • New required flag --reference-script-size for transaction calculate-min-fee

  • Fix protocol params order for minFeeA and minFeeB

  • Update CLI to use the term threshold instead of quorum for constitutional committee

  • Add info about redeemers to the output of the transaction view command

  • Add support for querying drep state and stake distribution by script hash

  • transaction build{,-raw}: throw an error on identical action-ids in votes files

  • Add --drep-script-hash parameter to conway governance drep retirement-certificate

  • vote create: support DRep and CC script hash

  • Add Plutus script hash support in update-committee, overnance committee create-cold-key-resignation-certificate and query committee-state commands.

  • verification-key: support DRep keys as well as committee keys, extended or not

  • Fix calculate-min-fee by switching to use Cardano.Api.evaluateTransactionFee
    instead of the deprecated Cardano.Api.estimateTransactionFee.
    This also deprecates the --mainnet, --testnet-magic, --tx-in-count,
    and --tx-out-count arguments to this command, which are no longer necessary.
    They can still be provided, but have no effect.

  • Modified create-testnet-data option so that it registers DReps generated and delegates stake delegators to them. Also introduced transient drep delegation and refactored existing code so that more is reused.

  • Extend committee create-hot-key-authorization-certificate to support scripts

  • Modify query leadership: add --output-[json,text] flag to control format of the output. Previous behavior is preserved (write text to stdout, write JSON to file)

  • create-testnet-data: fixes that the treasury could be unexpectedly negative

  • create-testnet-data: fixes that the amount of delegated coins was incorrect

  • Allow an output file to be specified for the various versions of query pool-state

  • create-testnet-data: allow to specify relays for SPOs (like create-staked)

Cardano-api
  • Add getReferenceInputsSizeForTxIds function.

  • New Conway genesis parameter ucppMinFeeRefScriptCostPerByte needs to be set to the correct value after benchmarking.

  • Add an extra parameter to evaluateTransactionFee, the reference script size, which the Ledger requires to estimate the minimum fee of a transaction.

  • Replace unsafeMergeVotingProcedures by mergeVotingProcedures, that handles incompatible votes and return an error

  • Undeprecate evaluateTransactionFee

  • Re-implement evaluateTransactionFee using ledger's calcMinFeeTx
    The evaluateTransactionFee takes an additional utxo parameter and no longer takes byronwitcount.

  • Add support for script-based CC members

Submit-api

NONE

Plutus
  • New Plutus V3 primitives: byteStringToInteger and integerToByteString, enabled for Plutus V3 at Protocol Version 9.0.
Individual packages' changelogs
Package Version Changelog
Win32-network 0.1.1.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.0.1.0 CHANGELOG.md
cardano-api 8.44.0.0 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 8.22.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.2
cardano-crypto-tests 2.1.2.0 CHANGELOG.md
cardano-crypto-wrapper 1.5.1.2 CHANGELOG.md
cardano-data 1.2.1.0 CHANGELOG.md
cardano-git-rev 0.2.2.0
cardano-ledger-allegra 1.4.0.0 CHANGELOG.md
cardano-ledger-alonzo 1.7.0.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.2.1.0 CHANGELOG.md
cardano-ledger-api 1.9.0.0 CHANGELOG.md
cardano-ledger-babbage 1.7.0.0 CHANGELOG.md
cardano-ledger-babbage-test 1.2.0.1 CHANGELOG.md
cardano-ledger-binary 1.3.1.0 CHANGELOG.md
cardano-ledger-byron 1.0.1.0 CHANGELOG.md
cardano-ledger-byron-test 1.5.1.0
cardano-ledger-conway 1.13.1.0 CHANGELOG.md
cardano-ledger-conway-test 1.2.1.4 CHANGELOG.md
cardano-ledger-core 1.11.0.0 CHANGELOG.md
cardano-ledger-mary 1.5.1.0 CHANGELOG.md
cardano-ledger-shelley 1.10.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.2.2.0 CHANGELOG.md
cardano-ledger-shelley-test 1.4.0.0 CHANGELOG.md
cardano-ping 0.2.0.13 CHANGELOG.md
cardano-prelude 0.1.0.4 ChangeLog.md
cardano-prelude-test 0.1.0.2
cardano-protocol-tpraos 1.2.0.0 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.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.5 CHANGELOG.md
network-mux 0.4.5.1 CHANGELOG.md
non-integral 1.0.0.0 CHANGELOG.md
optparse-applicative-fork 0.18.1.0 CHANGELOG.md
ouroboros-consensus 0.17.0.0 CHANGELOG.md
ouroboros-consensus-cardano 0.15.0.0 CHANGELOG.md
ouroboros-consensus-diffusion 0.13.0.0 CHANGELOG.md
ouroboros-consensus-protocol 0.8.0.0 CHANGELOG.md
ouroboros-network 0.13.1.0 CHANGELOG.md
ouroboros-network-api 0.7.1.0 CHANGELOG.md
ouroboros-network-framework 0.12.0.0 CHANGELOG.md
ouroboros-network-mock 0.1.1.1 CHANGELOG.md
ouroboros-network-protocols 0.8.1.0 CHANGELOG.md
ouroboros-network-testing 0.6.0.0 CHANGELOG.md
plutus-core 1.23.0.0 CHANGELOG.md
plutus-ledger-api 1.23.0.0 CHANGELOG.md
plutus-tx 1.23.0.0 CHANGELOG.md
prettyprinter-configurable 1.23.0.0
set-algebra 1.1.0.2 CHANGELOG.md
small-steps 1.1.0.0 CHANGELOG.md
sop-extras 0.1.0.0 CHANGELOG.md
strict-checked-vars 0.2.0.0 CHANGELOG.md
strict-sop-core 0.1.0.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