Cardano Node 8.10.0-pre
Pre-releaseNOTE: 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
- 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 | 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 of3k/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 theChainDB
, resulting in default values forSnapshotInterval
. - Implement lightweight checkpointing #449. A validation to help nodes follow the historical chain. A new field
topLevelConfigCheckpoints
has been added to theTopLevelConfig
record, with a new typeCheckpointsMap
. - Compare
TxId
s 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 egMsgHasTx
from theLocalTxMonitor
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-optionalCommitteeMembersState
- Add optional
Anchorto
resigned status inCommitteeMembersState
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
andPrices
) - 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
fortransaction calculate-min-fee
-
Fix protocol params order for
minFeeA
andminFeeB
-
Update CLI to use the term
threshold
instead ofquorum
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 toconway 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
andquery committee-state
commands. -
verification-key: support DRep keys as well as committee keys, extended or not
-
Fix
calculate-min-fee
by switching to useCardano.Api.evaluateTransactionFee
instead of the deprecatedCardano.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 tostdout
, 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 (likecreate-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
bymergeVotingProcedures
, that handles incompatible votes and return an error -
Undeprecate
evaluateTransactionFee
-
Re-implement
evaluateTransactionFee
using ledger'scalcMinFeeTx
TheevaluateTransactionFee
takes an additionalutxo
parameter and no longer takesbyronwitcount
. -
Add support for script-based CC members
Submit-api
NONE
Plutus
- New Plutus V3 primitives:
byteStringToInteger
andintegerToByteString
, 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