Node 10.1.1
is a mainnet release of the Cardano node that is capable of crossing the Chang#2 hard fork. It includes a number of improvements to the governance system, including support for SPO delegation to pre-defined voting options, and support for auto-abstain DRep votes supplanting abstaining via rewards address delegation. It also enables new Plutus primitives as defined in CIP-0122, CIP-0123, and CIP-0127. Finally it includes a number of other improvements to the ledger, CLI, API and networking code bases, as detailed below.
Note that, although staking rewards will continue to be earned as usual, in order to withdraw their rewards, following the Chang#2 hard fork, Ada holders will need to delegate to a DRep, which may be one of the pre-defined options, a single key or a Plutus v3 script. Until the hard fork, rewards may be withdrawn normally. Although following the hard fork, rewards may not be withdrawn unless a DRep is delegated to, rewards will continue to accrue to the Ada holder normally, regardless of whether or not a DRep is delegated to.
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
- Removed support for legacy P2P topology format
- Integrates Plutus 1.36 and corresponding ledger changes
- Removed support for NodeToNodeV_12 and earlier
Consensus
- Add
GetFuturePParams
query - Updated N2C part of
latestReleasedNodeVersion
toNodeToClientV_18
. - Updated N2N part of
latestReleasedNodeVersion
toNodeToNodeV_14
- Decrease the maximum permissible clock skew from 5s to 2s.
Ledger
- Translation of
RegTxCert
andUnRegTxCert
toPlutusV3
scripts context will now be done correctly, which means deposit and refund respectively, will actually be translated: #4627 - Treasury withdrawals that are empty or sum up to zero will no longer be allowed: #4630
- Prevent non-registered return accounts for proposals' deposits and
TreasuryWithdrawals
#4639 - Ensure
ppuCoinsPerUTxOBytes
cannot be zero: #4650 - Ensure dreps exist prior to delegation: #4652
- Change how SPO votes are counted: #4659
- Disallow withdrawals to non-delegated keyhashes post-bootstrap #4555
- Remove
maxMajorPV
fromGlobals
, because it was unused: #4218 - Fix DRep delegation invariant preservation #4709
- Fix simultaneous withdrawal and deregistation tx #4715
Network
- Added
NodeToNodeV_14
- Added
NodeToClientV_18
Cardano-cli
Release Notes for cardano-cli-10.1.1.0
Major Changes
- Introduce "compatible" command group
(feature, compatible)
PR 917
Usage: cardano-cli compatible
( shelley
| allegra
| mary
| alonzo
| babbage
| conway
)
Limited backward compatible commands for testing only.
Available options:
-h,--help Show this help text
Available commands:
shelley Shelley era commands
allegra Allegra era commands
mary Mary era commands
alonzo Alonzo era commands
babbage Babbage era commands
conway Conway era commands
This is a group of commands predominantly exposed for our testing requirements. It paves the way to deprecate all pre-mainnet eras from cardano-cli
's interface as users are interested in interacting with the current era and the upcoming era if there is a hardfork on the horizon. Note, this does not imply that prior functionality introduced in previous eras will be unavailable.
- Large deprecation of legacy commands and removal of related code.
(breaking)
PR 905
We waited until after the Chang hardfork to begin refactoring cardano-cli (internal code and the external interface). This is still ongoing work but the summary of the changes are as follows:
cardano-cli - General purpose command-line utility to interact with
cardano-node. Provides specific commands to manage keys, addresses, build &
submit transactions, certificates, etc.
Usage: cardano-cli
- ( shelley
+ ( address
+ | key
+ | node
+ | query
+ | legacy
+ | byron
+ | shelley
| allegra
| mary
| alonzo
| babbage
| conway
| latest
- | legacy
- | Legacy commands
- | byron
| hash
| ping
| debug commands
| version
+ | compatible
)
Note:
-
Several of the era agnostic commands have been moved to the top level e.g
key
,address
,node
etc. -
The majority of the
legacy
commands have been removed and we intend to fully remove thelegacy
command group in future releases.
Expect future changes to the cli's interface but note that we will be socializing proposed changes via our working group to get feedback from the community.
Features
-
Implement cddl's
stake_reg_deleg_cert
andvote_reg_deleg_cert
andstake_vote_reg_deleg_cert
as:- cardano-cli conway stake-address registration-and-delegation-certificate
- cardano-cli conway stake-address registration-and-vote-delegation-certificate
- cardano-cli conway stake-address registration-stake-and-vote-delegation-certificate
(feature)
PR 919
-
create-testnet-data
now takes a node configuration file as input. If a file is given, it is augmented with the hashes (and paths) of the genesis files, or if the hashes/paths are present; they are checked.
(feature, breaking)
PR 908 -
Add anchor data hash checks to all
governance action
commands
(feature, breaking, test)
PR 915 -
Adding support for script stake credentials and stake address in
create-treasury-withdrawal
and improving help text. New options are:--funds-receiving-stake-script-file
and--funds-receiving-stake-address
(feature, documentation)
PR 914 -
Added hash checks for
governance committee create-cold-key-resignation-certificate
andgovernance vote create
(feature, test)
PR 937 -
Added metadata, metadata hash validation and URL support to
stake-pool registration-certificate
; and hash checking and URL support tostake-pool metadata-hash
.
(feature, test)
PR 932 -
Added URL support to
governance drep metadata-hash
(feature)
PR 927 -
Added hash checks for
drep registration-certificate
anddrep update-certificate
(feature, breaking, test)
PR 916 -
Add proposal hash check when creating
info
governance action
(feature, breaking)
PR 910 -
Added hash validation and support for HTTP(S) and IPFS to command
hash anchor-data
(feature)
PR 895 -
Show user friendly warning when
cardano ping
command is misconfigured.
(feature)
PR 893
Breaking Changes
-
Added support for the new envelope types for transactions: "TxSignedShelley", "Tx AllegraEra", "Tx MaryEra", "Tx AlonzoEra", "Tx BabbageEra", "Tx ConwayEra".
The following old envelope types are no longer supported: "Witnessed Tx ShelleyEra", "Witnessed Tx AllegraEra", "Witnessed Tx MaryEra", "Witnessed Tx AlonzoEra", "Witnessed Tx BabbageEra", "Witnessed Tx ConwayEra", "Unwitnessed Tx ByronEra", "Unwitnessed Tx ShelleyEra", "Unwitnessed Tx AllegraEra", "Unwitnessed Tx MaryEra", "Unwitnessed Tx AlonzoEra", "Unwitnessed Tx BabbageEra", "Unwitnessed Tx ConwayEra"
(bugfix, breaking)
PR 892 -
Move address commands to top level
(feature, compatible)
PR 934 -
Move key commands to top level as they are era agnostic
(feature, compatible)
PR 931 -
The node commands are era agnostic and should be moved to the top level
(feature, compatible)
PR 929 -
Remove eras older than Babbage support in
transaction build
andtransaction build-estimate
(breaking, refactoring)
PR 878 -
Remove
era transaction view
andtransaction view
commands. Usedebug transaction view
instead.
(breaking)
PR 868
Bugfixes
Cardano-api
- Fix collateral balancing when building transaction
- Add voting to simple tx interface
- Handle Plutus related ledger events in Conway
- When building applications that need to spend from a script UTxO which has a datum attached,
that off-chain code needs access to the raw Datum for evaluating the transaction and calculate fees. - Fix bug that ignored a specific stake deregistration certificate in Conway
- Fix datum conversion in 'fromLedgerTxOuts' when using 'fromAlonzoTxOut'
Submit-api
NONE
Plutus
- Reference scripts are enabled for Plutus V1 scripts. This enables legacy scripts to take advantage of reference scripts, reducing DApp
costs and increasing on-chain capacity. - The
minFeeRefScriptsCoinsPerByte
protocol parameter refines the Plutus cost model and improves fee calculations by allowing separate
tuning of the costs for reference scripts.
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 | 10.1.0.0 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 10.1.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.3 | CHANGELOG.md |
cardano-data | 1.2.3.1 | CHANGELOG.md |
cardano-git-rev | 0.2.2.0 | |
cardano-ledger-allegra | 1.6.0.1 | CHANGELOG.md |
cardano-ledger-alonzo | 1.11.0.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.3.0.0 | CHANGELOG.md |
cardano-ledger-api | 1.9.4.0 | CHANGELOG.md |
cardano-ledger-babbage | 1.10.0.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.3.0.0 | CHANGELOG.md |
cardano-ledger-binary | 1.4.0.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.17.2.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.3.0.0 | CHANGELOG.md |
cardano-ledger-core | 1.15.0.0 | CHANGELOG.md |
cardano-ledger-mary | 1.7.0.1 | CHANGELOG.md |
cardano-ledger-shelley | 1.14.1.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.2.2.4 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.5.0.0 | CHANGELOG.md |
cardano-ping | 0.5.0.0 | CHANGELOG.md |
cardano-prelude | 0.2.0.0 | ChangeLog.md |
cardano-prelude-test | 0.1.0.5 | |
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 | |
cuddle | 0.3.2.1 | CHANGELOG.md |
ekg-core | 0.1.1.7.0.0.0.0.1 | CHANGELOG.md |
ekg-forward | 0.6 | CHANGELOG.md |
heapwords | 0.1.0.2 | CHANGELOG.md |
iohk-monitoring | 0.1.11.5 | |
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.6 | CHANGELOG.md |
network-mux | 0.4.5.3 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus | 0.21.0.0 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.20.0.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.18.0.0 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.9.0.2 | CHANGELOG.md |
ouroboros-network | 0.17.1.2 | CHANGELOG.md |
ouroboros-network-api | 0.10.0.0 | CHANGELOG.md |
ouroboros-network-framework | 0.13.2.5 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.2 | CHANGELOG.md |
ouroboros-network-protocols | 0.11.0.0 | CHANGELOG.md |
ouroboros-network-testing | 0.7.0.0 | CHANGELOG.md |
plutus-core | 1.36.0.0 | CHANGELOG.md |
plutus-ledger-api | 1.36.0.0 | CHANGELOG.md |
plutus-tx | 1.36.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.0.1 | CHANGELOG.md |
sop-extras | 0.2.1.0 | CHANGELOG.md |
strict-checked-vars | 0.2.0.0 | CHANGELOG.md |
strict-sop-core | 0.1.2.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