#elements #json-rpc-client #rpc-client #liquid #wallet

bin+lib elements-rpc

Elements JSON RPC Rust Client Library

1 unstable release

0.1.0 Feb 8, 2023

#21 in #liquid

MIT license

16KB
233 lines

elements rust json rpc client library

This is a new library aiming to be a useful dependency for apps and wallets that wish to interact with an Elements daemon, most often used in the Liquid sidechain.

NOTE: This is still a brand new Work In Progress crate

If you need an existing crate you could take a look at liquid-rpc

Design goals

  • lower level calls that match the RPCs directly
  • a higher level API to abstract common patterns
  • ...

RPCs

From: https://elementsproject.org/en/doc/22.0.0/rpc/

blockchain

  • getbestblockhash
  • getblock
  • getblockchaininfo
  • getblockcount
  • getblockfilter
  • getblockhash
  • getblockheader
  • getblockstats
  • getchaintips
  • getchaintxstats
  • getdifficulty
  • getmempoolancestors
  • getmempooldescendants
  • getmempoolentry
  • getmempoolinfo
  • getrawmempool
  • getsidechaininfo
  • gettxout
  • gettxoutproof
  • gettxoutsetinfo
  • preciousblock
  • pruneblockchain
  • savemempool
  • scantxoutset
  • verifychain
  • verifytxoutproof

control

  • getmemoryinfo
  • getrpcinfo
  • help
  • logging
  • stop
  • uptime

generating

  • combineblocksigs
  • consumecompactsketch
  • consumegetblocktxn
  • finalizecompactblock
  • generateblock
  • generatetoaddress
  • generatetodescriptor
  • getcompactsketch
  • getnewblockhex

mining

  • getblocktemplate
  • getmininginfo
  • getnetworkhashps
  • prioritisetransaction
  • submitblock
  • submitheader
  • testproposedblock

network

  • addnode
  • clearbanned
  • disconnectnode
  • getaddednodeinfo
  • getconnectioncount
  • getnettotals
  • getnetworkinfo
  • getnodeaddresses
  • getpeerinfo
  • listbanned
  • ping
  • setban
  • setnetworkactive

rawtransactions

  • analyzepsbt
  • calculateasset
  • combinepsbt
  • combinerawtransaction
  • converttopsbt
  • createpsbt
  • createrawtransaction
  • decodepsbt
  • decoderawtransaction
  • decodescript
  • finalizepsbt
  • fundrawtransaction
  • getrawtransaction
  • parsepsbt
  • rawblindrawtransaction
  • rawissueasset
  • rawreissueasset
  • sendrawtransaction
  • signrawtransactionwithkey
  • testmempoolaccept
  • updatepsbtpegin
  • utxoupdatepsbt

signer

  • enumeratesigners

util

  • createblindedaddress
  • createmultisig
  • deriveaddresses
  • dumpassetlabels
  • estimatesmartfee
  • getdescriptorinfo
  • getindexinfo
  • getpakinfo
  • signmessagewithprivkey
  • tweakfedpegscript
  • validateaddress
  • verifymessage

wallet

  • abandontransaction
  • abortrescan
  • addmultisigaddress
  • backupwallet
  • blindrawtransaction
  • bumpfee
  • claimpegin
  • createrawpegin
  • createwallet
  • destroyamount
  • dumpblindingkey
  • dumpissuanceblindingkey
  • dumpmasterblindingkey
  • dumpprivkey
  • dumpwallet
  • encryptwallet
  • getaddressesbylabel
  • getaddressinfo
  • getbalance
  • getbalances
  • getnewaddress
  • getpeginaddress
  • getrawchangeaddress
  • getreceivedbyaddress
  • getreceivedbylabel
  • gettransaction
  • getunconfirmedbalance
  • getwalletinfo
  • getwalletpakinfo
  • importaddress
  • importblindingkey
  • importdescriptors
  • importissuanceblindingkey
  • importmasterblindingkey
  • importmulti
  • importprivkey
  • importprunedfunds
  • importpubkey
  • importwallet
  • initpegoutwallet
  • issueasset
  • keypoolrefill
  • listaddressgroupings
  • listdescriptors
  • listissuances
  • listlabels
  • listlockunspent
  • listreceivedbyaddress
  • listreceivedbylabel
  • listsinceblock
  • listtransactions
  • listunspent
  • listwalletdir
  • listwallets
  • loadwallet
  • lockunspent
  • psbtbumpfee
  • reissueasset
  • removeprunedfunds
  • rescanblockchain
  • send
  • sendmany
  • sendtoaddress
  • sendtomainchain
  • sethdseed
  • setlabel
  • settxfee
  • setwalletflag
  • signblock
  • signmessage
  • signrawtransactionwithwallet
  • unblindrawtransaction
  • unloadwallet
  • upgradewallet
  • walletcreatefundedpsbt
  • walletdisplayaddress
  • walletlock
  • walletpassphrase
  • walletpassphrasechange
  • walletprocesspsbt

zmq

  • getzmqnotifications

used in the tutorial

https://elementsproject.org/elements-code-tutorial/overview

  • getblockcount
  • createwallet
  • getwalletinfo
  • rescanblockchain
  • getnewaddress
  • sendtoaddress
  • generatetoaddress
  • getaddressinfo
  • getrawmempool
  • gettransaction
  • getrawtransaction
  • importaddress
  • importblindingkey
  • dumpblindingkey
  • dumpassetlabels
  • listissuances
  • importissuanceblindingkey
  • decoderawtransaction
  • reissueasset
  • destroyamount
  • dumpprivkey
  • createmultisig
  • getnewblockhex
  • submitblock
  • signblock
  • combineblocksigs
  • getpeginaddress
  • gettxoutproof
  • claimpegin
  • issueasset
  • reissueasset
  • ...

Dependencies

~21–35MB
~446K SLoC