Skip to content
Pre-release

@WilliamKingNoel-Bot WilliamKingNoel-Bot released this Mar 20, 2019

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.

Installation Instructions

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

  1. 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
  2. Download cardano-wallet-server and cardano-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
  3. Start cardano-wallet-launcher --help and see available parameters and follow instructions about how to install cardano-http-bridge if you haven't done already in point 1.

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

🔨 Wallet Layer Integration (with cardano-http-bridge)

PR Description
#62 Add very preliminary interface/structure for wallet getter and creation
#64 Draft an initial interface for a DB Layer
#73 Connect Primitives to Layers
#81 Replace usage of 'mtl' with 'transformers'
Assets 6
You can’t perform that action at this time.