Skip to content

Shelley MVP

Compare
Choose a tag to compare
@WilliamKingNoel-Bot WilliamKingNoel-Bot released this 07 Jul 16:27
v2020-07-06
9a910f3

Compatible with [email protected] and [email protected].

New Features

  • Remaining API endpoints in cardano-wallet-shelley completed, which include delegation / undelegation support, and stake pools listing with metadata support #1722 #1738 #1744 #1747 #1752 #1753 #1763 #1765 #1769 #1775 #1776 #1783 #1800 #1801 #1806 #1807 #1810 . Note the following details:

    • ⚠️ The stake pool resource is different from cardano-wallet-itn, both models are documented in the API documentation under different tabs. Key changes are summarized in the table below:

      jörmungandr (itn) cardano-node (shelley)
      apparent_performance removed
      metadata.pledge_address replaced by pledge
      desirability replaced by metrics.non_myopic_member_rewards
      saturation replaced by metrics.saturation
      metrics.controlled_stake replaced by metrics.relative_stake
      metadata.owner removed
    • ⚠️ cost, margin, pledge and metadata are fetched asynchronously and may therefore be null temporarily. Although, once set, they should remain set

    • ⚠️ Stake pools are no longer ordered by desirability, but are ordered by non-myopic member rewards which require an indented delegated stake to be provided as a query parameter

    • ⚠️ Metadata are no longer tight to the owner, but are tight to the stake pool itself. Yet, if two stake pools register the same metadata, it is still possible to find duplicates

  • Support for submission of already signed and serialized Shelley transactions #1766

  • Support for bech32 encoding for Shelley addresses. The server will however still accept addresses encoded as base16 to keep compatibility with cardano-cli #1746

  • Support for fetching transaction (both Byron & Shelley) by id #1795 #1804

  • Support of recovery phrases of various lengths for Icarus and random Byron wallets #1809

  • Addition of the decentralization level (a.k.a d-parameter) alongside other protocol parameters #1735 #1736 #1739

  • Addition of the desired number of pools (a.k.a k-parameter) alongside other protocol parameters #1827 #1848

  • Support for spending rewards as part of a payment transaction. The rewards will be converted as UTxO and used to pay for some of the fees. Rewards are consumed only when deemed worthy (adding them does not cost more than their value), and by explicit demand using a query flag #1843

Improvements

  • Extensive fully automated integration tests for cardano-node in Shelley mode. We've developed a framework for running a local cluster of node made of 3 stake pools, 1 BFT leader and one passive node, all fully connected and running a private blockchain at will. The cluster uses a genesis file with pre-registered funds attached to HD wallets which can be restored using their recovery phrase to be used to write various test scenarios #1729 #1731 #1732 #1734 #1748 #1754 #1772 #1790

  • More code re-use from cardano-addresses and in particular the command-line declarations for keys and recovery phrase manipulation. #1780. As a consequence, there are breaking changes in the command-line (see CLI breaking changes)

  • Show latest value of protocol parameters instead of their value from genesis #1760

  • Small API documentation reorganization to group endpoints by verbs #1802

  • Faster fee estimation for Shelley transactions #1834

CLI breaking changes

  • ⚠️ The mnemonic command has been renamed to recovery-phrase
  • ⚠️ The key root command has been renamed to key from-recovery-phrase
  • ⚠️ The wallet create from-mnemonic command has been renamed to wallet create from-recovery-phrase

Known Issues

  • #1572 Recovery from chain-following exceptions may cause node to crash
  • #1708 cardano-wallet-shelley workers crash
  • #1713 Performance issues /v2/byron-wallets/{walletId}/addresses API
  • #1733 cardano-wallet-shelley address CLI has import and create commands which are not supported for Shelley wallets
  • #1743 Required wallet DB fields do not get persistently added
  • #1823 Trying to join pool returns 500 when there's no next delegation
  • #1833 There are un-joinable pools on shelley_testnet
  • #1867 Wallet doesn't show meta data re-registered (in case of changing metadata url without changing metadata hash)

Documentation

Link Audience
API Documentation Users of the Cardano Wallet API
CLI Manual: Jörmungandr / cardano-node Users of the Cardano Wallet API
Docker Manual Users of the Cardano Wallet API

Supported Operating Systems

  • Linux 64 bit
  • MacOS 64 bit
  • Windows 64 bit

Installation Instructions

Shelley testnet (cardano-node)

  1. Install [email protected]

  2. Download the provided cardano-wallet-shelley for your platform, and uncompress it in a directory that is on your $PATH, e.g. /usr/local/bin. Or %PATH% on Windows

  3. Start cardano-wallet --help and see available parameters

Docker

Pull from DockerHub and verify the version matches 2020.7.6:

$ docker pull inputoutput/cardano-wallet:2020.7.6-shelley
$ docker run --rm inputoutput/cardano-wallet:2020.7.6-shelley version

ITN (jormungandr)

  1. Install [email protected]

  2. Download the provided cardano-wallet-jormungandr for your platform, and uncompress it in a directory that is on your $PATH, e.g. /usr/local/bin. Or %PATH% on Windows

  3. (optional) Install the bash/zsh auto-completion script according to the jormungandr cli manual

  4. Start cardano-wallet --help and see available parameters

Docker

Pull from DockerHub and verify the version matches 2020.7.6:

$ docker pull inputoutput/cardano-wallet:2020.7.6-jormungandr
$ docker run --rm inputoutput/cardano-wallet:2020.7.6-jormungandr version

Byron (cardano-node)

  1. Install [email protected]

  2. Download the provided cardano-wallet-byron for your platform, and uncompress it in a directory that is on your $PATH, e.g. /usr/local/bin. Or %PATH% on Windows

  3. (optional) Install the bash/zsh auto-completion script according to the byron cli manual

  4. Start cardano-wallet --help and see available parameters

Docker

Pull from DockerHub and verify the version matches 2020.7.6:

$ docker pull inputoutput/cardano-wallet:2020.7.6-byron
$ docker run --rm inputoutput/cardano-wallet:2020.7.6-byron version

Additional notes

  • On macOS: Make sure all *.dylib files are in the same directory as cardano-wallet binary

Signatures

Name Role Approval
Matthias Benkort @KtorZ Technical Team Lead ✔️
Piotr Stachyra @piotr-iohk QA Engineer ✔️
Tatyana Valkevych @tatyanavych Release Manager ✔️