Shelley MVP
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 fromcardano-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
andmetadata
are fetched asynchronously and may therefore benull
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
⚠️ Themnemonic
command has been renamed torecovery-phrase
⚠️ Thekey root
command has been renamed tokey from-recovery-phrase
⚠️ Thewallet create from-mnemonic
command has been renamed towallet 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 hasimport
andcreate
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)
-
Install
[email protected]
-
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 -
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)
-
Install
[email protected]
-
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 -
(optional) Install the bash/zsh auto-completion script according to the jormungandr cli manual
-
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)
-
Install
[email protected]
-
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 -
(optional) Install the bash/zsh auto-completion script according to the byron cli manual
-
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 ascardano-wallet
binary
Signatures
Name | Role | Approval |
---|---|---|
Matthias Benkort @KtorZ | Technical Team Lead | ✔️ |
Piotr Stachyra @piotr-iohk | QA Engineer | ✔️ |
Tatyana Valkevych @tatyanavych | Release Manager | ✔️ |