Skip to content

Cardano Wallet Backend - Byron Wallets & Stake Pools

Pre-release
Pre-release
Compare
Choose a tag to compare
@WilliamKingNoel-Bot WilliamKingNoel-Bot released this 06 Nov 15:11
v2019-11-06
1988f22

Overview

Program Platform Description
cardano-wallet-jormungandr.tar.gz
linux-x86_64
A CLI tool to start and interact with a wallet server using Jörmungandr as a chain producer. See Main Features below.
cardano-wallet-jormungandr.sha256
N/A
Checksum for the executable in cardano-wallet-jormungandr.tar.gz
cardano-wallet.sh
linux-x86_64
Auto-completion script for cardano-wallet (works for all flavours)

Main Features

cardano-wallet

  • A command-line interface which exposes the following features (see CLI manual):

    • Create and Delete wallet
    • Get details of a particular wallet
    • List all known wallets
    • Generate BIP-39 mnemonic sentence (English) of various sizes
    • Update wallet metadata
    • Create and submit transactions from a single wallet
    • List known (used or unused) addresses of a wallet
    • Estimate transaction fee
    • Visualize wallet's UTxO distribution
    • Update wallet encryption passphrase
    • List transaction history
    • Submit already signed transactions
    • Serve wallet against Jörmungandr
    • Launch wallet against Jörmungandr
    • Get network information
    • List available stake pools, ordered by apparent performance
  • A web server which exposes the following features (see API Documentation below):

    • Create and delete wallet
    • Get details of a particular wallet
    • List all known wallets
    • Update wallet metadata & wallet encryption passphrase
    • Create and submit transactions from a single wallet
    • List known (used or unused) addresses of a wallet
    • API and server logs
    • Estimate transaction fee
    • Visualize wallet's UTxO distribution
    • List transaction history
    • Submit already signed transactions
    • Get network information
    • Create Byron wallets
    • Delete Byron wallets
    • Get and List Byron wallets
    • Forget pending transaction of Shelley wallets
    • List transaction history of Byron wallets
    • Forget pending transaction of a Byron wallet
    • Migrate Byron wallets to Shelley wallets
    • List available stake pools, ordered by apparent performance
  • Node.js-compatible IPC server with custom protocol

  • Data-persistence to disk via SQLite

  • Support for Ouroboros Genesis/Praos and proper chain following in the events of chain switches

Known Limitations

Bug Fixes

  • Improper shutdown of iohk-monitoring switchboard #851
  • Error reported in the log after deleting a wallet #807
  • Providing -- --config node_config.yaml on launch makes wallet exit ugly #848
  • Pending txs when listed on the wallet have inserted_at field instead of pending_since #935
  • Test failures -> Cardano.Wallet.Primitive.Types.Ranges #917

Known Issues

  • "Invalid Address first byte": error message could be more user-friendly #953
  • CentOS, RHEL 6+ and SuSe Linux defect for libcrypto.so.1.0.0 #923
  • --logging-config FILE.YAML more info and tests #961

Installation Instructions

Please note that currently only Unix\Linux platform is supported.

with Jörmungandr@eb0b7bb1

  1. Install jormungandr@eb0b7bb1 from the source.

⚠️ This pre-release requires a very specific revision (eb0b7bb14af8e573a44bf38b0a683ba2d4579c7d) which is ahead of and incompatible with 0.7.0-rc4 ⚠️

  1. Download cardano-wallet-jormungandr.tar.gz and uncompress it in a directory that is on your $PATH, e.g. /usr/local/bin.
$ curl -L https://github.com/input-output-hk/cardano-wallet/releases/download/v2019-11-06/cardano-wallet-jormungandr.tar.gz | tar xz -C $HOME/.local/bin
  1. (optional) Download and install bash/zsh auto-completion script:
$ curl -L https://github.com/input-output-hk/cardano-wallet/releases/download/v2019-11-06/cardano-wallet.sh > /etc/bash_completion.d/cardano-wallet.sh
$ source /etc/bash_completion.d/cardano-wallet.sh
  1. Start cardano-wallet --help and see available parameters.

Documentation

Link Audience
API Documentation Users of the Cardano Wallet API
Haddock Documentation Haskell Developers using the cardano-wallet as a library
CLI Manual Users of the Cardano Wallet API

Weekly Reports

Changelog

Byron Wallet Support
PR   | Description
--   | --
#966 | More tests for byron wallets migration, in particular migrating from big wallets
#960 | Test that `migrateByronWallet` appropriately deposits funds into a target wallet.
#952 | review golden tests for legacy transaction and generate witnesses using jcli
#950 | Test that `migrateByronWallet` migrates funds correctly.
#916 | Byron migration integration tests
#915 | Remove length invariant from `Cardano.Wallet.Jormungandr.Binary.putAddress`.
#911 | Fix Arithmetic Underflow in Migration Coin Selection
#890 | Add `deleteByronTransaction` endpoint.
#884 | More integration tests for Byron wallets
#882 | Add handlers for Byron migration
#878 | Support for legacy UTxO witness in Jörmungandr
#873 | Byron wallet transaction list integration tests
#871 | Special coin selection function for handling migration of legacy wallets
#849 | Enable faucet random wallets
#844 | Add and 'implement' "listByronTransactions" to the API
Create Delegation Certificate
PR   | Description
--   | --
#954 | Make `core.Tx` a concrete type and remove `DefineTx` and `PersistTx`
#946 | extend FeePolicy definition
#932 | Extend binary format for stake delegation tx
#920 | Api types for delegation endpoints
#907 | Fix `FromText` instance for `Double` (and `FeePolicy`).
#889 | Correct `ToText` and `FromText` instances for `FeePolicy`.
#634 | Remove cardano-wallet-http-bridge
Forget Pending Transaction
PR   | Description
--   | --
#939 | few more forget tx tests for CLI
#930 | Forget pending tx endpoint spec update
#912 | more 'forget tx' tests via API
#879 | Porting the rest of forget pending tx integration tests to CLI
#867 | Wrap-up forgetting pending tx
#853 | Add removePendingTx to Cardano.Wallet.DB and corresponding testing
List Stake Pool
PR   | Description
--   | --
#940 | Add more stake-pools in the CI setup
#937 | Review responsibility of getMessage vs getTransaction in Jörmungandr.Binary
#933 | Don't store wallet syncProgress in DB
#928 | Test that monitorStakePools resumes correctly after being killed
#924 | Prototype implementation of approximate pool performance
#919 | Test stake-pool metrics on extremely short epochs
#910 | Review stake pool worker creation
#881 | Connect Pool DB with Api
#876 | Implement chain follower for the stake pool metrics
#875 | Add readCursor to Pool.DB
#870 | Add FollowAction to allow retrying current step
#869 | review exception handling in chain follower and better handle asynchronous exceptions
#868 | store 'StakeDistribution' in the database, implement put & read ops
#861 | Measure intersection hit rate in chain following tests
#860 | Tweak withinSameTip
#859 | Relocate C.W.Jormungandr.BlockHeaders to C.W.Network.BlockHeaders
#858 | Store full BlockHeader with stake pool instead of only slot ids
#856 | implement 'withinSameTip' = to retry an action if the tip has changed while executing it
#855 | Implement combineMetrics for StakePools
#854 | Rename Cardano.Wallet.StakePool.Metrics to Cardano.Pool.Metrics
#842 | Add `NetworkLayer.stakeDistribution` and change types of response
Support Delegated Addresses
PR   | Description
--   | --
#955 | hd derivation reward accounts
#948 | Add `reward` field to `ApiWallet` type.
#942 | Address Pool work with key/address fingerprints
#941 | Property tests for 'InspectAddress' on Shelley keys / addresses
#926 | Move address construction, encoding and decoding back to cardano-wallet-core
Usability & Compatibility
PR   | Description
--   | --
#958 | nix: Add necessary test data files to windows testing bundle
#957 | cli: ANSI colour for windows 10, and easier utf-8 setup
#951 | Jormungandr 0.7.0 rc4
#945 | Jormungandr 0.7.0-rc3
#944 | Integration tests: logging is shut down when CLI finished
#938 | Jörmungandr 0.7.0-rc1 -> 0.7.0-rc2
#929 | use IOHK organization to host persistent fork
#918 | Fix Sqlite DB on Windows
#914 | Fix text locale encoding issues on windows
#909 | Jormungandr 0.7.0-rc1
#906 | nix: Update windows jormungandr version and the instructions
#905 | Fix error msg when providing incorrect wallet id
#888 | Update Haskell.nix
#887 | Wait an hour for the Jormungandr REST API to start
#886 | cardano-wallet-jormungandr: tweak error message style
#885 | tests: Add aroundAll helper function
#883 | Fix process cleanup in cardano-wallet-jormungandr:tests:integration
#880 | Jormungandr 0.7.0
#874 | cabal.project: Make it build
#872 | jormungandr: 0.6.1 -> 0.6.5
#864 | nix: Provide derivations for Daedalus installer
#862 | jormungandr launch: use --rest-listen instead of generating config.yaml
#852 | CLI: Always shutdown logging, last thing before exiting
#838 | Add --listen-address=127.0.0.1 option
#766 | Run tests in nix release build
Miscellaneous
PR   | Description
--   | --
#967 | bump versions to 2019.11.6
#943 | Produce user-friendly CLI error on failure to decode a transaction ID
#936 | Test for #935 - Pending tx should have pendingSince in the list tx response
#927 | Fix range tests by generating non-singleton ranges directly.
#865 | Temporarily turn off automated CI checks for logging

Signatures

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