Komodo (KMD) RPC client

A RPC client for Komodo (KMD), made in Rust. In the future, you can use this library to create Rust apps that communicate with Komodo blockchains. Since Crypto Conditions is supported in all Komodo assetchains, dApps can be created through this crate. Or at least, that is my goal for this.

With credits to the coblox team's Rust BTC RPC client.

This is a work in progress!

todo: - [ ] implement all API calls - [ ] argument Address into type - [x] handle empty responses (setaccount) - [x] improve error handling Client - [ ] ~~find redeemScript in previous transactions (if any)~~ - [ ] make sensible use of references in arguments - [ ] use Into<String> as argument for String types - [ ] get rid of needing AddressList for single address in parameter - [x] define own Chain if needed assetchain isn't in enum - [ ] properly expose arguments / types - [x] handle special case: wildcard "*" in fromaddresses, z_mergetoaddress - [ ] supply Client with manual RPC credentials - [ ] struct Unspent contains account in response, which is deprecated. Need to circumvent - [ ] listaddressgroupings returns an array with 3 different types, for each distinct address. how to fix in serde - [ ] add helper functions to several types - a selection of utxos upon entering an amount to address_utxos

This wrapper aims to: - be stateless, i.e. a thin layer. It's up to the app using this library to maintain state.

Features

Currently supported calls

Below is a list of RPC calls in this Rust client as of KMDversion 0.3.3b

Notes

RPCs

CClib
FSM
Addressindex
Auction
Blockchain
Channels
Control
Crosschain
Dice
Disclosure
Faucet
Gateways
Generating
Heir
Lotto
Marmara
Mining
Network
Oracles
Payments
Pegs
Prices
Rawtransactions
Rewards
Tokens
Util
Wallet
Shielded (see API)