Skip to content

0.5.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ch1bo ch1bo released this 06 May 10:06
· 7512 commits to master since this release
0.5.0
b3d927a

Added

  • Start hydra-node tracking the chain starting at a previous point using new --start-chain-from command line option #300.
    • This is handy to re-initialize a stopped (or crashed) hydra-node with an already inititalized Head
    • Note that off-chain state is NOT persisted, but this feature is good enough to continue opening or closing/finalizing a Head
  • Handle rollbacks #184
    • Not crash anymore on rollbacks
    • Rewind the internal head state to the point prior to rollback point
    • Added RolledBack server output, see API reference
    • See the user manual for a detailed explanation on how rollbacks are handled.
  • Hydra Network section on the website about networking requirements and considerations
  • Benchmarks section on the website with continuously updated and published results on transaction costs of Hydra protocol transactions
    • These are also performed and reported now on every PR -> Example
  • New architectural decision records:
  • Improved hydra-node --version to show an easier to understand and accurate revision based on git describe
  • Added hydra-node --script-info to check hashes of plutus scripts available in a hydra-node.
    • This can also be seen as the "script version" and should stabilize as we progress in maturity of the codebase.

Changed

  • BREAKING Switch to Ed25519 keys and proper EdDSA signatures for the Hydra Head protocol
    • The --hydra-signing-key and consequently --hydra-verification-key are now longer and not compatible with previous versions!
  • BREAKING The Hydra plutus scripts have changed in course of finalizing #181
    • All Hydra protocol transactions need to be signed by a Head participant now
    • This changes the script address(es) and the current hydra-node would not detect old Heads on the testnet.
  • BREAKING Renamed server output UTxO -> GetUTxOResponse
    • This should be a better name for the response of GetUTxO client input on our API :)
  • Updated our dependencies (plutus, cardano-ledger, etc.) to most recent released versions making scripts smaller and Head transactions slighly cheaper already, see benchmarks for current limits.

Fixed

  • Reject commit transactions locking a UTxO locked by Byron addresses, part of #182
    • This would render a Head unclosable because Byron addresses are filtered out by the ledger and not visible to plutus scripts
  • Fix instructions in demo setup without docker to use 0.0.0.0 and correct paths.

Known Issues

  • TUI quickly flashes an error on fanout. This is because all nodes try to post a fanout transaction, but only one of the participants' transactions wins. Related to #279
  • Recipient addresses to send money to in the TUI are inferred from the current UTXO set. If a party does not commit a UTXO or consumes all its UTXO in a Head, it won't be able to send or receive anything anymore.
  • TUI crashes when user tries to post a new transaction without any UTXO remaining.
  • The internal wallet of hydra-node requires a UTXO to be marked as "fuel" to drive the Hydra protocol transactions. See user manual.