Overview
This initial release of Cardano Wallet Backend includes two binaries:
- cardano-wallet-server
- cardano-wallet-launcher
The cardano-wallet-server in future will serve API and CLI interfaces for the
wallet backend. In this release it is just a stub.
The cardano-wallet-launcher is responsible for starting (and terminating when
closed) the cardano-wallet-server and cardano-http-bridge which is an interface
that Cardano Wallet Backend uses to interact with the blockchain. The
cardano-http-bridge is therefore a prerequisite that needs to be installed
before running the cardano-wallet-launcher.
Key Features
- N/A
Bug Fixes
- N/A
Installation Instruction
Please note that currently only Unix\Linux platform is supported.
-
Install cardano-http-bridge.
- Install the rust toolchain.
- In terminal run
cargo install --git https://github.com/input-output-hk/cardano-http-bridge.git - make sure
$HOME/.cargo/binis on your$PATH
-
Download
cardano-wallet-serverandcardano-wallet-launcherand put it in
the directory that is on your$PATH, e.g./usr/local/bin. Make sure to
add exec permissions on binary files:chmod u+x cardano-wallet-server cardano-wallet-launcher
-
Start
cardano-wallet-launcher --helpand see available parameters and
follow instructions about how to installcardano-http-bridgeif you
haven't done already in point 1.
Documentation
| Link | Audience |
|---|---|
| API Documentation | Users of the Cardano Wallet API |
| Haddock Documentation | Haskell Developers using the cardano-wallet as a library
|
Changelog
Setup new cardano-wallet repository & CI
| PR | Description |
|---|---|
| #9 | Stylish, hlint |
| #10 | Version specification documents (api & formal specs) |
| #13 | Add .gitignore |
| #15 | Initial stack project and Travis CI |
| #17 | Add .editorconfig |
| #18 | Rename README to README.md (in specifications/api) |
| #19 | Add Coveralls & Stylish Haskell to CI |
| #24 | Re-introduce 'Acceptance Criteria' as part of the issue template |
| #31 | Review .travis.yaml to allow multiple jobs & haddock export |
| #45 | Fix 406 to be correct 410 error code in API specification |
| #65 | Add build instructions for the http bridge in CI |
| #66 | Update Wallet API specification draft document |
| #70 | Add cardano-http-bridge to environment of stack --nix |
| #85 | Review deploy pipeline for Travis for executables |
| #86 | Add mising target to stack haskell coverage reports |
Receive & Process Blocks (from cardano-http-bridge)
| PR | Description |
|---|---|
| #28 | Add block decoder |
| #32 | Pack file decoder |
| #35 | Adding ticking functionality for block polling |
| #37 | Review folder structure, file documentation and pragmas |
| #40 | Add a basic API client for the Rust Cardano HTTP Bridge |
| #41 | Add nextBlocks function |
| #44 | Review BlockSyncer Tests: Separate IO from pure code |
| #48 | tests: Add a couple negative tests for block decoding |
| #49 | Apply miscellaneous coding style fixes |
| #50 | Tweak Blocks Generator + Moar Tests + Better Coverage |
| #54 | Add startBlockSyncer |
| #57 | Review style of ChainProducer modules + add license header |
| #60 | Review Network Layer |
| #66 | Merge BlockSyncer with NetworkLayer |
| #71 | Allow BlockSyncer.listen to catch up with the node |
| #80 | Integration Tests Http Bridge |
Basic Launcher
| PR | Description |
|---|---|
| #27 | Docopt for CLI parsing |
| #38 | Launch http bridge and wallet together |
| #75 | launcher: When terminated, ensure child processes are cleaned up |
| #77 | Add manual steps describing how to check launcher behavior regarding POSIX signals |
| #78 | Make it possible to connect wallet to staging |
| #84 | remove temporary dummy wallet server to avoid confusion |
| #87 | QA review of #8 |
Support Wallet Creation
| PR | Description |
|---|---|
| #25 | Wallet Primitive Types |
| #29 | Add additional wallet primitives and wallet layer primitives |
| #34 | Compute TxId |
| #42 | Implement txId hash using CBOR encoders |
| #43 | Minimal Viable Wallet Layer |
| #46 | Address Derivation (Sequential) |
| #47 | Port Mnemonic Module |
| #51 | Address Discovery (Sequential) |
| #58 | Few more unit tests for mnemonics + adjusting wallet API spec |
| #59 | Review Slotting as Primitive |
| #61 | Add an extra bit of documentation to the 'AddressDerivation' module |
| #82 | Add createWallet and getWallet tests |