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-http-bridge.tar.gz | linux-x86_64 | A CLI tool to start and interact with a wallet server using cardano-http-bridge as a chain producer. See Main Features below.
|
cardano-wallet-http-bridge.sha256 | N/A | Checksum for the executable in cardano-wallet-http-bridge.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
cardano-http-bridge - Launch wallet against
cardano-http-bridge - Serve wallet against
Jörmungandr - Launch wallet against
Jörmungandr
Get network information
-
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
-
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
- ⚠️ Only Jörmungandr Genesis/Praos node is supported.
- ⚠️ Submitting already signed transactions works only on Jörmungandr backend
Bug Fixes
∅
Known Issues
- 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
Installation Instructions
Please note that currently only Unix\Linux platform is supported.
with Jörmungandr@v0.6.1
-
Install jormungandr@v0.6.1 from the official repository.
-
Download
cardano-wallet-jormungandr.tar.gzand 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-10-16/cardano-wallet-jormungandr.tar.gz | tar xz -C $HOME/.local/bin
- (optional) Download and install bash/zsh auto-completion script:
$ curl -L https://github.com/input-output-hk/cardano-wallet/releases/download/v2019-10-16/cardano-wallet.sh > /etc/bash_completion.d/cardano-wallet.sh
$ source /etc/bash_completion.d/cardano-wallet.sh
- Start
cardano-wallet --helpand see available parameters.
with cardano-http-bridge
-
Install cardano-http-bridge from our fork.
- Install the rust toolchain.
- In terminal run
cargo install --git https://github.com/KtorZ/cardano-http-bridge.git --branch cardano-wallet-integration - make sure
$HOME/.cargo/binis on your$PATH
-
Download
cardano-wallet-http-bridge.tar.gzand 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-10-16/cardano-wallet-http-bridge.tar.gz | tar xz -C $HOME/.local/bin
- (optional) Download and install bash/zsh auto-completion script:
$ curl -L https://github.com/input-output-hk/cardano-wallet/releases/download/v2019-10-16/cardano-wallet.sh > /etc/bash_completion.d/cardano-wallet.sh
$ source /etc/bash_completion.d/cardano-wallet.sh
- Start
cardano-wallet --helpand 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
- Week 37 - 2019-09-13
- Week 38 - 2019-09-20
- Week 39 - 2019-09-27
- Week 40 - 2019-10-04
- Week 41 - 2019-10-11
Changelog
Miscellaneous
| PR | Description |
|---|---|
| #847 | bump versions to v2019.10.16 |
Byron Wallet Support
| PR | Description |
|---|---|
| #846 | More integration tests for byron restore, get, list, delete |
| #841 | Group tags by era (Shelley vs Byron) in swagger documentation |
| #839 | Network Information endpoint adjustments |
| #837 | Change the return type of migrateByronWallet to be a list of transactions.
|
| #834 | DaedalusIPC: Fix isWindows function |
| #829 | add test Wallet has the same tip as network/information |
| #827 | Add syncProgressRelativeToCurrentTime helper |
| #825 | Add block heights in various places of the API (network info, transaction date ...) |
| #824 | network information CLI command |
| #820 | Network information endpoint - implementation |
| #817 | Implement basic API functions for Byron-style wallets. |
| #816 | Network information endpoint |
| #811 | Provisional integration test code for migrate Byron wallets |
| #810 | Fork API server context into random and sequential variants. |
| #809 | Provide KeyToAddress instance for (Jormungandr n) RndKey type.
|
| #806 | Add test example values for Byron API types. |
| #799 | Preliminary byron wallets integration tests |
| #795 | Add skeletal Byron wallet API endpoints relating to migration. |
| #793 | Put Byron wallet's endpoints into separate category: 'Byron Wallets' in spec |
| #790 | Provide skeletal API endpoints for functions on Byron-style wallets. |
| #789 | Apply hlint suggestions.
|
| #784 | Create ApiByronWallet type.
|
List Stake Pool
| PR | Description |
|---|---|
| #840 | Make Jörmungandr NetworkLayer use raw blocks |
| #826 | Add SlotNo and EpochNo newtypes for readability |
| #815 | add pool production properties |
| #804 | Calculate restore-progress via blockNo instead of slotNo |
| #798 | Stake pools changes to DB |
| #787 | Separate restoration code from WalletLayer to be moved to NetworkLayer |
| #785 | Foundations for CLI tests of stake-pool list |
| #782 | Add stake-pool list CLI along with unit tests |
| #770 | Foundations for stake-pools integration tests |
| #765 | Add simple StakePool.Metrics module for counting blocks |
| #764 | Update Buildable instances for BlockHeader and Hash |
| #763 | add jormungandr get stake distribution |
| #761 | Tiny cleanup: simplify getBlock0H in faucet |
| #753 | Make NetworkLayer polymorphic over block |
| #750 | Decode block height in http-bridge backend |
| #748 | add api types and handlers for listStakePools endpoint |
| #744 | Don't crash because of other kinds of witnesses |
| #742 | Dynamically get block0H in jörmungandr integration tests |
Recovery Week - Week 37
| PR | Description |
|---|---|
| #723 | Increase buildkite timeout to 120min for restoration benchmarks |
| #717 | Fix windows build |
Support Rollbacks
| PR | Description |
|---|---|
| #812 | Enable rollbacks in wallet layer |
| #800 | store headerHash in "BlockHeader" |
| #796 | Make chain follower more resilient to unexpected failures |
| #794 | Store sparse checkpoints in database |
| #792 | Enable arbitrary slot ids in DB specs |
| #791 | Make sure to purge address discovery state when clearing old checkpoints |
| #772 | Wallet workers in separate databases |
| #768 | Rename UnstableBlocks -> BlockHeaders |
| #759 | Move node launching to network layer |
| #758 | jormungandr: coerceBlock -> convertBlock |
| #757 | Track pending transactions outside of the wallet model |
| #755 | Rollback in network layer |
| #752 | 'RollbackTo' in the database state-machine testing |
| #751 | Rollback: additional properties about transaction history during rollback |
| #745 | Manual procedure for testing block height in Jörmungandr |
| #743 | Add and use 'Buildable' instances for data-structures of the SQLite properties |
| #741 | review DB spec files organization |
| #739 | Wallet.Primitive: Tweak docs for Wallet type |
| #736 | SQLite - remove pending checkpoint indirections |
| #735 | prune dangling UTxOs after inserting a new checkpoint |
| #734 | Add 'rollbackTo' to DBLayer |
| #733 | Remove remaining hard-coded delays and ports in http-bridge integration tests |
| #732 | add error handler to worker thread, log when it exits |
| #731 | Prune dangling UTxO |
| #727 | Purge old checkpoints (beyond k blocks) |
| #724 | DBSpec: More testing of saving UTxO |
| #721 | Unspecialise the core wallet layer |
| #693 | Don't calculate blockHeights — read them from binary! |
| #686 | Save multiple checkpoints in db in preparation to support rollbacks |
| #675 | Initial unstable blocks state in Jormungandr NetworkLayer |
Usability & Compatibility
| PR | Description |
|---|---|
| #843 | Attempt to fix issues with nightly builds |
| #831 | Buildkite: protect stack build dependencies from GC during build |
| #830 | Jormungandr 0.6.1 |
| #822 | Jormungandr: Make it possible to launch passive node |
| #818 | Fix for #767 + tests. |
| #814 | cli: Assume utf-8 output encoding |
| #803 | Jormungandr 0.6.0 in CI |
| #802 | Buildkite: use new paths for cache and scratch |
| #801 | db bench: Add disk space usage measurements for UTxO |
| #797 | Read Tx History Benchmarks |
| #783 | Jormungandr 0.5.5 in CI |
| #780 | Jormungandr 0.5.4 in CI |
| #771 | Fix integration tests |
| #762 | Jormungandr 0.5.2 in CI |
| #749 | Jormungandr 0.3.9999 > 0.5.0 |
| #740 | Nix: Fix flaky eval check |
| #738 | Add benchmark for reading of UTxO |
| #737 | Jörmungandr: 0.3.3 -> 0.3.9999 |
| #730 | nix: Make it possible to see and change the jormungandr version |
| #728 | Remove unnecessary dependency on cardano-wallet-http-bridge.
|
| #720 | Run Jörmungandr integration tests on genesis/praos in CI |
| #719 | add buildkite badge and rename other badges on README |
Signatures
| Name | Role | Approval |
|---|---|---|
| Matthias Benkort @KtorZ | Technical Team Lead | ✔️ |
| Piotr Stachyra @piotr-iohk | QA Engineer | ✔️ |
| Tatyana Valkevych @tatyanavych | Release Manager | ✔️ |