Cardano Wallet Backend - Foundations
Pre-releaseOverview
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/bin
is on your$PATH
-
Download
cardano-wallet-server
andcardano-wallet-launcher
and 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 --help
and see available parameters and
follow instructions about how to installcardano-http-bridge
if 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 |