0.15.0
Pre-releaseRun a hydra-node
in offline mode, improved errors when connecting to an incompatible chain and support for upcoming Conway
era (heads survive the hard-fork, but the L2 ledger still is only Babbage
)
⚠️ Warning
There are still several known issues, which are explained in the documentation.
Build artifacts
- 📦 Binaries for Linux x86_64 and MacOS ARM64, also attached
- 🐋 Docker image
Hydra Scripts
Transaction IDs to be used as --hydra-scripts-tx-id
when running hydra-node
on common networks are now also stored in the repository:
-
preview
:c21b70a719112f76d318abcfee95499a27556ef4a18b1c62bc38e4b9c07ae3a6
-
preprod
:8ce483e2d4b81f9254392afda1f85d1e123165665593228c39064691903f431a
-
mainnet
:7d998b617526d827dd69a495f5d5dc2c5e293b86a62ad61cb2fb5f2503cd87f0
Compatible / tested with
cardano-node
:8.7.3
cardano-cli
:8.17.0.0
kupo
:2.7
Upgrade instructions
This release contains breaking changes of the persisted data and on-chain scripts. This means that you'll need to apply the following procedure to upgrade all the nodes currently running a head:
- Close and fanout the head
- Stop
hydra-node
- Remove persistent files stored in
--persistence-dir
, in particularserver-output
andstate
- Upgrade
hydra-node
to this version - Upgrade
cardano-node
to compatible version (above) - Start new
hydra-node
version with new--hydra-scripts-tx-id
(above) - Open a new head
Changelog
-
BREAKING Remove head state from
hydra-node
chain layer 1196:- Not maintain head state in the chain layer anymore and all decision making (whether it's "our" head) is now fully contained in the logic layer.
- This is a breaking change on the persisted
state
file, which now only stores so-calledspendableUTxO
. This raises aPersistenceException
if an incompatiblestate
file is loaded. - Heads need to be closed before upgrade to this version, as wiping
state
in the--persistence-dir
is needed. - This also changes the
NodeOptions
log output because of internal restructuring of chain layer configuration.
-
New
offline
sub-command forhydra-node
#1118, #1222:- Initializes a head with given
--initial-utxo
parameter, and does not connect to the Cardano network. - Transactions submitted on the L2 are validated as usual, where the offline chain simulates time passing in slots.
- The
--ledger-genesis
option allows to give a shelley genesis file to configure start time and slot length of the simulated chain time.
- Initializes a head with given
-
Prepare
hydra-node
for the upcomingConway
hard-fork #1177:- Interactions with
cardano-node
are updated to work in both,Babbage
andConway
era. - Unsupported eras are reported as error when starting.
- Interactions with
-
Add a default for
hydra-node --node-id
("hydra-node-1"
) to simplify configuration. -
Fix
hydra-node
API reference & schema for/protocol-parameters
#1241. This now matches the JSON returned bycardano-cli query protocol-parameters
, expected athydra-node --ledger-protocol-parameters
and produced by the API endpoint. -
The
hydra-cluster
binary can bootstrapcardano-node
s running on public networks usingmithril-client
. -
BREAKING Internal changes to
hydra-cardano-api
:- Renamed
HasMultiAsset
type class toIsMaryEraOnwards
. UsemaryEraOnwards
to produce witnesses for features from mary onwards. - Renamed
HasScriptData
type class toIsAlonzoEraOnwards
. UsealonzoEraOnwards
to produce witnesses for features from alonzo onwards. - Renamed
HasInlineDatums
type class toIsBabbageEraOnwards
. UsebabbageEraOnwards
to produce witnesses for features from babbage onwards.
- Renamed
Full Changelog: 0.14.0...0.15.0
Contributors
Contributors to this release: @cardenaso11 @v0d1ch @abailly-iohk @locallycompact @ffakenz @ch1bo