The core component that is used to participate in a Cardano decentralised blockchain.
APACHE-2.0 License
Bot releases are visible (Hide)
Published by disassembler over 1 year ago
Node 1.35.7 is a bug fix release that addresses an issue with the legacy network stack connecting to a P2P relay. SPOs are recommended to deploy this version on all their nodes.
IMPORTANT: P2P on mainnet is only intended to be ran on a single relay at this time. Continue to run any other relays with P2P disabled using the legacy topology.
NOTICE Minimum resources were adjusted in this release due to chain growth.
Please note that this version contains no breaking changes
Shelley ledger era Tx body in CDDL format is not supported by some CLI commands (#3688)
Cardano-cli computes wrong collateral return output for multiple occurrences of collateral inputs (#4744)
A hot -> warm -> hot
busy demotion / promotion cycle is not fixed in this release (#4385)
cardano-submit-api can't handle transactions (#4829)
Please see here for other known issues. None of these is considered to be a blocker.
They will be addressed in future releases.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
NONE
NONE
NONE
NONE
NONE
NONE
Role | Approval |
---|---|
Cardano Head of Engineering | ✔️ |
Cardano Head of Product | ✔️ |
Test Engineer | ✔️ |
Site Reliability Engineer | ✔️ |
Release Engineer | ✔️ |
Published by disassembler over 1 year ago
Node 1.35.6 is a release adding P2P support without need of development network protocols when EnableP2P
is set to true
. The legacy topology is still supported as a parallel mode of operation. This release is based on the release/1.35
branch so has no changes not related to P2P included.
IMPORTANT: P2P on mainnet is only intended to be ran on a single relay at this time. Continue to run any other relays with P2P disabled using the legacy topology.
To run a node in P2P mode set EnableP2P
to true
(the default is False
) in the configuration file. You will also need to specify the topology in a new format which is described here. There are a few new tracers and configuration options which you can set (listed below by component):
The outbound governor is responsible for satisfying targets of root peers, known (cold, warm and hot), established (warm & hot) and active peers (synonym for hot peers) and local root peers. The primary way to configure them is by setting the following options:
TargetNumberOfRootPeers
(default value: 100
) - a minimal number of root peers (unlike other targets this one is one sided, e.g. a node might have more root peersTargetNumberOfKnownPeers
(default value: 100
) - a target of known peers (must be larger or equal to TargetNumberOfRootPeers
)TargetNumberOfEstablishedPeers
(default value: 50
) - a target of all established peers (including local roots, ledger peers)TargetNumberOfActivePeers
(default value: 20
) - a target for hot peers which engage in the consensus protocolLet us note two more targets. In the topology file you may include local root peers. This is a list of groups of peers, each group comes with its own valency. The outbound governor will maintain a connection with every local root peer, and will enforce that at least the specified number of them (the valency) are hot. Thus the TargetNumberOfKnownPeers
, TargetNumberOfEstablishedPeers
and TargetNumberOfActivePeers
must be large enough to accommodate local root peers.
The following traces can be enabled:
TracePeerSelection
(by default on) - tracks selection of upstream peers done by the outbound-governor. Warm peers are ones with which we have an open connection but don't engage in consensus protocol, hot peers are peers which engage in consensus protocol (via chain-sync
, block-fetch
and tx-submission
mini-protocols), cold peers are ones which we know about but the node doesn't have an established connection. Note that the notions of hot, warm and cold are only related to usage of initiator sides of mini-protocols in a connection (which can be either inbound or outbound).TracePeerSelectionCounters
(by default on) - traces how many cold / warm / hot / local root peers the node has, it's also available via ekg.TracePeerStateActions
(by default on) - includes traces from a component which executes peer promotion / demotions between cold / warm & hot states.TracePublicRootPeers
(by default off) - traces information about root / ledger peers (e.g. ip addresses or dns names of ledger peers, dns resolution)DebugPeerSelectionInitiator
and DebugPeerSelectionInitiatorResponder
(by default off) - a debug tracers which log the information about current state of the outbound governor.At this point haddock documentation of the outbound governor is available.
The inbound governor is maintaining responder side of all mini-protocols. Unlike the outbound governor it is a purely responsive component which reacts to actions of remote peer (its outbound governor).
TraceInboundGovernor
(by default on) - traces information about inbound connection, e.g. we track if the remote side is using our node as warm or hot peer, traces when we restart a responder.TraceInboundGovernorCounters
(by default on) - traces number of peers which use the node as cold
, warm
or hot
(which we call remote cold
, remote warm
or remote hot
). Note that we only know if a peer is in the remote cold state if we connected to that peer and it's not using the connection. This information is also available via ekg.TraceInboundGovernorTransitions
(by default on) - a debug tracer which traces transitions between remote cold, remote warm and remote hot states.The inbound governor is documented in The Shelley Networking Protocol (section 4.5).
Connection manager tracks the state of all tcp connections, and enforces various timeouts, e.g. when the connection is not used by either of the sides. The following traces are available:
TraceConnectionManager
(by default on) - traces information about new inbound or outbound connection, connection errors.TraceConnectionManagerCounters
(by default on) - traces the number of inbound, outbound, duplex (connections which negotiated P2P mode and can use a connection in full duplex mode), full duplex (connections which run mini-protocols in both directions, e.g. at least warm and remote warm at the same time), unidirectional connections (connections with non p2p nodes, or p2p nodes which configured themselves as initiator only nodes).TraceConnectionManagerTransitions
(by default on) - a low level traces which traces connection state changes in the connection manager state machine.The connection manager is documented in The Shelley Networking Protocol (section 4).
Ledger peers are the relays registered on the chain. Currently we use square of the stake distribution to randomly pick new ledger peers. You can enable TraceLedgerPeers
(by default off) to log actions taken by this component.
The accept loop. You can enable TraceServer
to log its actions or errors it encounters (by default it is off, however we suggest to turn it on) .
Please note that this version contains no breaking changes
Shelley ledger era Tx body in CDDL format is not supported by some CLI commands (#3688)
Cardano-cli computes wrong collateral return output for multiple occurrences of collateral inputs (#4744)
A hot -> warm -> hot
busy demotion / promotion cycle is not fixed in this release (#4385)
Please see here for other known issues. None of these is considered to be a blocker.
They will be addressed in future releases.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
NONE
NONE
WarningDevelopmentNetworkProtocolVersions
into WarningDevelopmentNodeToNodeVersions
and WarningDevelopmentNodeToClientVersions
(#4691).NodeToNodeVersion
and NodeToClientVersion
JSON instances (#4691).P2PWarning
, it now sais: You are using an early release of peer-to-peer capabilities, please report any issues. (#4691).P2PWarningDevelopmentNetworkProtocols
(#4691).warm -> cold
demotion (input-output-hk/ouroboros-network#4163).PeerGSV
to SendFetchRequest
(input-output-hk/ouroboros-network#4167).TraceDemoteLocalAsynchronous
(input-output-hk/ouroboros-network#4127).NONE*
NONE
NONE
Role | Approval |
---|---|
Cardano Head of Engineering | ✔️ |
Cardano Head of Product | ✔️ |
Test Engineer | ✔️ |
Site Reliability Engineer | ✔️ |
Release Engineer | ✔️ |
Published by disassembler over 1 year ago
Node 1.35.5 is a maintenance release addressing a fix in ledger internal data structures.
Please note that this version contains no breaking changes
Shelley ledger era Tx body in CDDL format is not supported by some CLI commands (#3688)
Cardano-cli computes wrong collateral return output for multiple occurrences of collateral inputs (#4744)
Please see here for other known issues. None of these is considered to be a blocker.
They will be addressed in future releases.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
NONE
*NONE
NONE
NONE*
NONE
NONE
Role | Approval |
---|---|
Cardano Head of Engineering | ✔️ |
Test Engineer | ✔️ |
Site Reliability Engineer | ✔️ |
Release Engineer | ✔️ |
Published by disassembler almost 2 years ago
Node 1.35.4 supports the use of SECP256K1 elliptic curves via new Plutus primitives at protocol version 8. It also includes some CLI improvements, including changing the default ledger era to Babbage for transaction commands.
Please note that this version contains breaking changes, as listed below:
--<ledger-era>-era
is not passed as an option.Shelley ledger era Tx body in CDDL format is not supported by some CLI commands (#3688)
Please see here for other known issues. None of these is considered to be a blocker.
They will be addressed in future releases.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
NONE
NONE
transaction build
command to automatically calculate total and return collateral values(PR4198)transaction view
command to render inline datums and reference inputs (PR4089)transaction build
and transaction build-raw
commands, always use ledger's CDDL format for transaction body creation.cli-format
flag and make --cddl-format
deprecated and hiddenExpose Key
interface via Cardano.Api.Shelley
(PR4048)
Append, not prepend change output when balancing a transaction (PR4343)
Expose convenience functions executeQueryCardanoMode
, determineEra
, constructBalancedTx
and queryStateForBalancedTx
(PR 4446)
NONE
Role | Approval |
---|---|
Cardano Head of Engineering | ✔️ |
Test Engineer | ✔️ |
Site Reliability Engineer | ✔️ |
Release Engineer | ✔️ |
Published by LaurenceIO about 2 years ago
Node 1.35.3 fixes some important issues with previous versions of the node and provides some CLI enhancements. The node provides full Vasil era capabilities.
Node 1.35.3 adds important functionality that will enable the use of new Plutus capabilities
following the Vasil hard fork, including node and CLI support for:
It also includes significant improvements to the logging/monitoring, and networking codebases, as well as significant memory and time performance improvements, including the first implementation of diffusion pipelining, and reduced VRF checks, as well as several improvements to the ledger.
Please note that this version contains breaking changes, as listed below, specifically with respect to operational certificates
on the CLI. Stake pool operators may need to update their management scripts to accommodate this change.
Shelley era Tx body in CDDL format is not supported by some CLI commands (#3688)
Please see here for known issues.
None of these issues are considered to be blockers for the mainnet hard fork;
they will be addressed in future releases.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
libsodium
installation (#4000)PraosProtocolSupportsNode
class (#3758)EpochInfo
that can fail to ledger. (#3770)COMPLETE
pragma for FallingEdge
pattern synonym (#3766)DeltaRewardEvent
and TotalRewardEvent
. The former gives incremental rewards as they are being computed, and the latter gives a report of the result at the end of computation. (#2615, #2647, #2673, #2690)RestrainedRewards
, which contains details of any rewards which are subsequently not paid out owing to e.g. deregistered addresses. (#2726)SuccessfulPlutusScriptsEvent
is emitted in the case of no failures where IsValid
is true. This event contains all the information needed to rerun all the scripts in a transaction. In the case of IsValid
being false and failures being present, two events are emitted; the preceding event with successful scripts and a FailedPlutusScriptsEvent
with the details for failing scripts. (#2670)TotalAdaPotEvent
which is emitted on the epoch boundary and reports the size of the various ADA pots (reserves, treasury, reward pot etc.) (#2797)cardano-ledger-example-shelley
package. (#2693)CostModel
constructor. The appropriate way to construct a CostModel
is using costModelParamsToCostModel
. (#2703, #2730)Datum
. This is now done entirely by Plutus on deserialisation. (#2757)EpochInfo
is not overused. (#2818)SuccessfulPlutusScriptsEvent
events (#2861)yield
to MonadFork
(#3713)unless quiet
(#3729)getMonotonicNSec
from base rather than via FFI (#3735)--calculate-plutus-script-cost
option (#4204)IsString
(Hash BlockHeader) (#3619)LedgerStateEvents
a type alias (#3692)IsCardanoEra
constraint to BlockInMode (#3665)cddlTypeToEra
(#3916)utxoCostPerByte
protocol parameter (#4141)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO over 2 years ago
Node version 1.34.1 is a minor release that fixes two issues:
To avoid increased synchronisation times, we recommended that Windows users DO NOT upgrade to this node version. We recommend instead that they continue to run node 1.33.0. Future releases will address this issue which is specific to Windows.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO over 2 years ago
Node version 1.34 brings a number of important new features that will benefit stake pool operators and other users, including
It also includes a number of stability improvements, plus improvements to the performance of Plutus scripts.
To avoid increased synchronisation times, we recommended that Windows users DO NOT upgrade to node version 1.34.0. We recommend instead that they continue to run node 1.33.0. Future releases will address this issue which is specific to Windows.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
cardano-node
. (#3450, #3496, #3497, #3498, #3570)transaction build
and transaction build-raw
commands. (#3483)leadership-schedule
command. This can calculate a stake pool's leadership schedule for the current and following epoch. It requires access to the VRF signing key for that stake pool. (#3464, #3494)
> cardano-cli query leadership-schedule \
--testnet-magic 42 \
--genesis example/shelley/genesis.json \
--stake-pool-id pool12t0y7agkqct89pf00eeytkvfjlquv76tjy27duannan9w63ckxv \
--vrf-signing-key-file example/node-pool1/shelley/vrf.skey
--current
SlotNo UTC Time
--------------------------------------------------------
4073 2021-12-29 17:26:54.998001755 UTC
4126 2021-12-29 17:27:00.298001755 UTC
4206 2021-12-29 17:27:08.298001755 UTC
4256 2021-12-29 17:27:13.298001755 UTC
4309 2021-12-29 17:27:18.598001755 UTC
4376 2021-12-29 17:27:25.298001755 UTC
4423 2021-12-29 17:27:29.998001755 UTC
4433 2021-12-29 17:27:30.998001755 UTC
transaction build
and transaction build-raw
commands. This is specified by using the --cddl-format
flag. (#3505)kes-period-info
command in the CLI. This checks that your operational certificate is correct. It checks:
> cardano-cli query kes-period-info --testnet-magic 42 \
--op-cert-file example/node-pool1/shelley/node.cert
✓ The operational certificate counter agrees with the node protocol state counter
✓ Operational certificate's kes period is within the correct KES period interval
{
"qKesNodeStateOperationalCertificateNumber": 6,
"qKesCurrentKesPeriod": 404,
"qKesOnDiskOperationalCertificateNumber": 6,
"qKesRemainingSlotsInKesPeriod": 3760228,
"qKesMaxKESEvolutions": 62,
"qKesKesKeyExpiry": "2022-03-20T21:44:51Z",
"qKesEndKesInterval": 434,
"qKesStartKesInterval": 372,
"qKesSlotsPerKesPeriod": 129600
}
transaction sign
command now allows for incremental signing by providing an already signed transaction via --tx-file
. This allows more easily adding multiple signatures to a transaction. (#3549)transaction build
command now supports an option (--calculate-plutus-script-cost
) to compute the cost for included scripts. (#3589)
cardano-cli transaction build \
--alonzo-era \
--cardano-mode \
--testnet-magic "$TESTNET_MAGIC" \
--change-address "$utxoaddr" \
--tx-in "$plutusutxotxin" \
--tx-in-collateral "$txinCollateral" \
--tx-out "$dummyaddress+10000000" \
--tx-in-script-file "$plutusscriptinuse" \
--tx-in-datum-file "$datumfilepath" \
--protocol-params-file "$WORK/pparams.json" \
--tx-in-redeemer-file "$redeemerfilepath" \
--calculate-plutus-script-cost "$WORK/create-datum-output.scriptcost"
> cat $WORK/create-datum-output.scriptcost
[
{
"executionUnits": {
"memory": 1700,
"steps": 476468
},
"lovelaceCost": 133,
"scriptHash": "67f33146617a5e61936081db3b2117cbf59bd2123748f58ac9678656"
}
]
lovelaceToTxOutValue
. (#3381)currentEpochEligibleLeadershipSlots
and nextEpochEligibleLeadershipSlots
to get the leadership slots for the current/next epoch respectively. (#3464, #3494)capi
library to support using the cardano node as a C library in other software. (#3501)fromShelleyAddr
now takes an explicit ShelleyBasedEra
parameter to determine the era. The previous behaviour (with an implicit IsShelleyBasedEra
constraint) can be obtained with fromShelleyAddrIsSbe
. (#2253, #3606)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO almost 3 years ago
Cardano Node version 1.33.0 is a performance-focused release, bringing significant improvements in sync time, block propagation time, and reduced memory usage. Incremental stake aggregation and reward calculation allows much more uniform computation across the epoch, reducing the likelihood of spikes in CPU usage during the reward calculation period and so improving the consistency of block production.
In addition, more information is provided during node initialisation, and changes have been made to improve the handling of unexpected shutdowns when initialising the node. DNS support for IPv6 has been added. Tracing has been provided for Plutus scripts, making it easier to debug failure conditions.
With this version, the ledger state will need to be replayed from the genesis block, meaning that the initial synchronisation may be slow. Users should account for this when deploying the node.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
tx-generator
internal testing infrastructure. (#3425, #3426, #3427, #3436)TxIn
as a key in JSON maps. (#3438)db-analyser
tool. (#3471)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO almost 3 years ago
Cardano Node version 1.32.1 introduces a number of improvements and enhancements to improve the usability of the Cardano node. Native asset name rendering has been changed in order to eliminate problems caused by non-printing characters, CLI commands now default to the Alonzo era, and default values have been added to simplify startup where a genesis file is not supplied (eg in test or standalone settings). Additional logging is available during node startup, enabling progress to be tracked more easily, and statistics counting has been disabled in order to reduce noise. Limits have been added to mini protocols. There is better rendering of some trace messages.
Documentation has also been improved in various areas.
This version also adds experimental support for peer-to-peer network. It is unverified and unsupported, and hence not recommended to be enabled in production.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
{
"thread": "5",
"sev": "Notice",
"data": {
"startupTime": "1638866965"
},
"loc": null,
"env": "1.31.0:be123",
"msg": "",
"app": [],
"host": "waldorf",
"at": "2021-12-07T08:49:24.22Z",
"ns": [
"cardano.node.nodeconfig"
],
"pid": "33952"
}
RemoteConnectionId
in trace messages. (#3199)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO almost 3 years ago
Cardano node version 1.31.0 introduces a number of new features and provides performance improvements, including
reducing default logging information, and optimising memory and time behaviour. It also provides support for improved rewards logging in db-sync, includes a new CLI command to query stake pools, enhances the transaction build
CLI command, fixes an issue where connections were dropped when using query tip
, and provides various other CLI enhancements. It allows signatures to be specified when spending from pre-Plutus time-lock/multi-signature scripts, improves error logging for Plutus scripts, adds new logging modes, allows the size of the mempool to be configured, provides support for multiple versions of Plutus, and improves networking behaviour and robustness.
It is recommended that all users upgrade to this new version.
calculate-min-req-utxo
requires a transaction output (TxOut era
) instead of a Value
in order to calculate the min required UTxO in the Alonzo era. This is required in the Alonzo era, and the change is made everywhere for consistency.Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
trace-dispatcher
library. This is built to replace the existing iohk-monitoring-framework
. (#3073)maybeToStrictMaybe
during translation of ProtocolParameters
. This turns out to trigger a GHC bug, resulting in extremely high compilation time. (#3275)GetChainBlockNo
and GetChainPoint
. (#3346)cardano-protocol-tpraos
. (#2445)RetiredPools
event, which gives details about retiring pools and the refund (or not) of the pool deposit. (#2487, #2495)Value
and TxInfo
in the spec. (#2383, #2494)accept
on IPv6 sockets. (#3368
build
or build-raw
commands. Required signers must be present in the witnesses, and only required signers are visible to Plutus scripts. (#3123)query tip
command. This fixes an occasional bug where the query tip
command would fail. (#3130)tx build
command. (#3032)tx build
command now validates its inputs (ensuring they are in the UTxO and that only basic VKey-locked inputs are used as collateral.) (#3151)tx build
now uses the set of existing stake pools to determine if a pool is already registered (and hence whether it must pay a deposit). (#3152)calculate-min-req-utxo
now requires a transaction output, not just a value as before. This is required in the Alonzo era, and the change is made everywhere for consistency. (#3181)tx build
command to spend the entirety of a UTxO and create no change output. (#3188)tx view
command. (#2613)GetChainBlockNo
and GetChainPoint
queries in the query tip command. There is a fallback to the older method using the full chain sync query. (#3179)--tx-out-datum-embed-value
. This mechanism can for example be used to provide the actual script locking an output, for use when spending it. (#3171)transaction build
command. (#3317)getBlockHeader
for Alonzo. This was a stray function that got missed when implementing Alonzo in the API. (#3158)chainSyncServerHeaderTracer
. This fixes a bug which caused logs to be unnecessarily verbose. (#3252)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by github-actions[bot] about 3 years ago
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
cardano-api
. This fix ensures that custom code written against cardano-api
behaves as expected when run in multiple threads. Furthermore, there are performance improvements that should have a positive impact on sync times. (#236)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by github-actions[bot] about 3 years ago
This release is an important update to the node that provides the functionality that is needed following the Alonzo hard fork.
All users, including stake pool operators, must upgrade to this version (or a later version) of the node.
The release includes features that will enable the use of the node in the Alonzo era, allowing the on-chain execution of Plutus scripts,
including extended CLI commands to support the construction of transactions that include Plutus scripts, datums and redeemers.
It incorporates several improvements, including a new transaction build
command that calculates transaction fees and Plutus script execution units, and a new version of the query tip
command that provides additional information, including node synchronisation progress. The transaction build
command requires a local instance of the node in order to check Plutus script validity and to provide information that is used by the fee calculation. The Shelley specification has also been updated with respect to rewards calculation.
Note that this release changes the log format of traces configured by TraceChainSyncHeaderServer
and TraceChainSyncClient
. See #2746 for more detail.
mainnet-alonzo-genesis.json
filemainnet-config.json
file to include the following 2 lines: "AlonzoGenesisFile": "mainnet-alonzo-genesis.json",
"AlonzoGenesisHash": "7e94a15f55d1e82d10f09203fa1d40f8eede58fd8066542cf6566008068ed874",
cardano-tx-generator
. This is a testing utility. (#2603)AddedToCurrentChain
and SwitchedToAFork
traces. (#2678)TraceBlockFetchServerSendBlock
, TraceForgedBlock
, CompletedBlockFetch
events. (#2710)ChainSync
server traces provide additional fields that help in debugging. Note that this entails a change to the log format. (#2746)Query
type, in preparation for adding new queries to the node. (#3106)cardano-cli genesis create
now also creates the new Alonzo genesis file. (#2743)--tx-in
flag which allows filtering the UTxO by TxIn, and requires the addition of the --whole-utxo
flag to return the complete UTxO set (which was previously the default). Returning the whole UTxO set is an expensive operation only useful in small testnets, so we don't want it as the default option. (#2843, #2854)--script-valid
and --script-invalid
flags. The latter can be used to mark a script as being known invalid, such that the node will allow it to be submitted anyway (whereas under normal operation it would reject such a transaction in order to avoid loss of collateral). This flag is only likely to be of use in testing. The --script-valid flag is set as a default. (#3050, #3091, #3093)QuerySystemStart
gets the system start time.QueryStakePools
and QueryStakePoolParameters
can be used to get details on the currently known stake pools.QueryUTxOFilter
provides various ways to query a filtered subset of the UTxO.evaluateTransactionBalance
computes the current balance of a (partial) transaction, which is helpful for determining what needs to be done to correctly balance it (such that value produced equals value consumed).evaluateTransactionExecutionUnits
computes how many ExUnits will be needed by all the scripts in a (partial) transaction.evaluateTransactionFee
computes the fee for a (partial) transaction, assuming a given number of VKey witnesses (corresponding to inputs).estimateTransactionKeyWitnessCount
attempts to estimate the number of VKey witnesses needed.makeTransactionBodyAutoBalance
attempts to create and automatically balance a transaction body, using the above tools.transaction view
does not work for Alonzo era transactions (#3039)transaction build
command (#3074)transaction build
does not balance correctly when the certificate is already submitted (#3040)transaction build
attempts to create UTxO with 0 lovelace as change (#3041)transaction build
to balance automatically also the multi-assets (#3068)transaction build
command (#3024)Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO over 3 years ago
Node version 1.27.0 provides important new functionality, including supporting new CLI commands that have been requested by stake pools, providing garbage collection metrics.
It includes the performance fixes for the epoch boundary calculation that were released in node version 1.26.2, plus a number of bug fixes and code improvements.
It also includes many fundamental changes that are needed to prepare for forthcoming feature releases (notably Plutus scripts in the Alonzo era).
Note that this release includes breaking changes to the API and CLI commands, and that compilation using GHC version 8.6.5 is no longer supported.
There are some breaking changes:
--certificate-file $certfile --certificate-script-file $scriptfile
--tx-out $txout --minting-script-file $scriptfile
--withdrawal $withdrawal --withdrawal-script-file $scriptfile
--tx-in $txin --txin-script-file $scriptfile
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO over 3 years ago
This point release is a recommended upgrade for all stake pool operators. It is not required for relays or other passive nodes. It ensures that block producing nodes do not unnecessarily re-evaluate the stake distribution at the epoch boundary.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO over 3 years ago
This release includes significant performance improvements and numerous other minor improvements and feature additions. In particular the reward calculation pause is eliminated, and the CPU load for relays handling lots of incoming transactions should be significantly reduced.
The focus of the current development work is on completing and integrating support for the Alonzo era. This release includes many of the internal changes but does not yet include support for the new era.
cardano-cli query tip
query has changed - see release notes for the CLI below.cardano-cli query ledger-state
query now produces a binary file if --out-file
is specified. If required (e.g. for use in cncli
), JSON output can be obtained by omitting this parameter, and redirecting the standard output to a fileThis release will automatically perform a DB migration on the first startup after the update. The migration should take 10-20 minutes however it can take up to 60 minutes depending on your CPU.
To mitigate downtime:
See #311 for example scripts of how this can be done.
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO over 3 years ago
This release is expected to be the final release for the upcoming Mary hard fork, and everyone must upgrade to this (or a later) version to cross the Mary hard fork.
The Mary hard fork introduces native token functionality to Cardano. This is directly useful and is also one of the significant building blocks for the later Goguen smart contracts.
A launchpad testnet for the native token functionality has been running since December, using the cardano-node 1.24.2 release. This 1.25.1 release contains relatively minor changes for the Mary era compared to the 1.24.2 release. It is nevertheless not compatible with the 1.24.2 version and the existing testnet. The launchpad testnet will not be restarted and will remain on 1.24.2. Public testnet and staging have been upgraded to 1.25.1. If you have already tested integration with the existing launchpad testnet then no new integration work is expected for this release other than upgrading the node version and moving to the staging or public testnet.
Exchanges and other users that integrate closely with Cardano must take action to test their integration before the transition takes place on mainnet. Exchanges can use launchpad or staging, SPOs can use staging, and everyone should use public testnet once it forks. Staging will go through the Mary hard fork on 28th January, and public testnet will go through the Mary hard fork during week commencing 1st February. The native token functionality does have an impact for all custom wallet implementations: it is not a feature that can be ignored and remain compatible. All addresses are capable of receiving native tokens.
Stake Pool Operators (SPOs) and Exchanges should take note that the metric namespace has undergone consolidation, so all metrics now reside in cardano.node.metrics
:
The node configs require no changes, but allow dropping entries that became redundant: wherever cardano.node.Forge.metrics.*
, cardano.node.ChainDB.metrics.*
or cardano.node.BlockFetchDecision.connectedPeers
were mentioned, those entries can be removed. Only cardano.node.metric
needs to remain. Please see #2281 for further details.
This release uses a new cabal snapshot so could be rather resource intensive when building for the first time.
cardano.node.metrics
. This requires a one-off change to the node configuration to route all metrics to the metrics backend and not have them in the log files. This should reduce the number of such changes in future. (#2281)Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ |
Windows | ❌ | ❌ | ✔️ |
MacOS | ❌ | ❌ | ✔️ |
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO almost 4 years ago
This release provides support for the upcoming Allegra (token locking) Hard Fork and Mary Hard Fork and the new features they bring.
Everyone must upgrade to this (or a later) version to cross the Allegra Hard Fork.
Daedalus users should look for Daedalus release 3.0.0 which includes a version of the node that will cross the Token locking Cardano update, however people using the node directly must upgrade.
Stake Pool Operators (SPOs) and Exchanges should update their node config "options" section with an extra entry:
"options": {
"mapBackends": {
"cardano.node.resources": [
"EKGViewBK"
],
See link to configuration files in documentation section below.
LastKnownBlockVersion-*
entries in the node config files for the Shelley-based eras. This means the configuration does not need to be updated for the Token locking or native tokens eras. (#2193)cardano-cli shelley transaction build-raw
becomes simply cardano-cli transaction build-raw
. The existing names are also kept for compatibility. (#2076, #2145)transaction policyid
for making multi-asset policy ids (#2176)byron transaction txid
to help scripts with getting the transaction id for Byron transactions made using the cli (#2169)--tx-file
flag for the command transaction txid
to accept complete txs, not just tx bodies (#2169)--ttl
flag in the --help
output (#2189, #2190)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by LaurenceIO almost 4 years ago
This release includes a substantial amount of internal changes to support the upcoming Allegra and Mary hard forks and the new features they bring. This is not the final release before the Allegra hard fork, but it does include the bulk of the functionality for both Allegra and Mary hard forks.
Another notable change in this release is an adjustment to the pool ranking that will benefit small pools that have not yet made many blocks. We have adjusted the initial Bayesian prior so that instead of assuming new pools will perform at some less-than-perfect average level, we assume they will perform more-or-less perfectly. This prior is still updated based on the actual performance history, so pools that perform poorly will still drop in ranking. This change will especially benefit small pools that have produce few blocks so far, because they have very little performance history and so their score will be more influenced by the initial prior.
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by tatyanavych about 4 years ago
This patch release updates Cardano Node 1.21.0 with a few minor fixes. In particular, it resolves a problem on startup when the node is configured to use systemd
socket activation.
Deployed on the testnet on 6 October 2020.
Deployed on the mainnet on 6 October 2020.
systemd
socket activation (#1927)systemd
(#1775)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |
Published by dcoutts about 4 years ago
This release includes support in the cardano-cli
for multi-signature addresses and transactions. It also resolves a problem that has been affecting pool operators at the 48-hour mark within each epoch. It has various other minor improvements and fixes detailed below.
The "Live View" mode for the Cardano node is being deprecated in favour of a new external "RT View" (RT for real-time) monitoring tool which is cross-platform and has a richer browser-based interface. The new RT View component will be released separately. The Live View mode is still available in this release of the node, but will be removed in a future release.
stack
build support (#2638)Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | |
Release Manager | ✔️ |