Skip to content

Bitcoind RPC Parity

Jake Sylvestre edited this page Sep 25, 2020 · 14 revisions

Below is a comparison of bitcoind and btcd from rpc perspective. There has been much discussion on methods that should not be ported here, but for the most part, parity is desirable - especially in the rpcclient.

Note: A bunch of these probably are as simple as a command name change (e.g. account->label in wallet rpc's). These are included anyway

X marks a feature is complete.

Blockchain

Method Server Client PR (Client) PR (Server) Issue
getbestblockhash x x
getblock x x
getblockchaininfo x x #1630
getblockcount x x
getblockfilter
getblockhash x x
getblockheader x x
getblockstats x #1630
getchaintips x
getchaintxstats x
getdifficulty x x
getmempoolancestors
getmempooldescendants
getmempoolentry x #1522
getmempoolinfo x x #1586
getrawmempool x x
gettxout x x
gettxoutproof
gettxoutsetinfo x
preciousblock x
pruneblockchain
savemempool
scantxoutset
verifychain x x
verifytxoutproof x

Control

Method Server Client PR (Client) PR (Server) Issue
getmemoryinfo
getrpcinfo
help x x
logging
stop x x
uptime x x

Mining

Method Server Client PR (Client) PR (Server) Issue
getblocktemplate x x
getmininginfo x x
getnetworkhashps x x
prioritisetransaction
submitblock x x
submitheader

Network

Method Server Client PR (Client) PR (Server) Issue
addnode x x
clearbanned
disconnectnode
getaddednodeinfo x x This is implemented, but appears to have a bug fixed by #800
getconnectioncount x x
getnettotals x x
getnetworkinfo x x
getnodeaddresses #1590 #1590
getpeerinfo x x
listbanned
ping x x
setban
setnetworkactive

Raw Transactions

Method Server Client PR (Client) PR (Server) Issue
analyzepsbt
combinepsbt
combinerawtransaction
converttopsbt
createpsbt
createrawtransaction x x
decodepsbt
decoderawtransaction x x
decodescript x x
finalizepsbt
fundrawtransaction x
getrawtransaction x x
joinpsbts
sendrawtransaction x
signrawtransactionwithkey
testmempoolaccept x x
utxoupdatepsbt x x

Util

Method Server Client PR (Client) PR (Server) Issue
createmultisig
deriveaddresses x
estimatesmartfee x
getdescriptorinfo #1578
signmessagewithprivkey #1585
validateaddress x x
verifymessage x x

Address

Note: server is not applicable here since that's in a different repo, I've also left Issue blank on these since issues are scattered across repos. I've left the column here so we can add in as we go

Method Client PR (Client) Issue
abandontransaction
abortrescan
addmultisigaddress x
backupwallet x
bumpfee
createwallet
dumpprivkey x
dumpwallet x
encryptwallet x
getaddressesbylabel
getaddressinfo x
getbalance x
getbalances x
getnewaddress x #1567
getrawchangeaddress x
getreceivedbyaddress x
getreceivedbylabel
gettransaction x
getunconfirmedbalance x
getwalletinfo x #1638
importaddress
importmulti #1584
importprivkey x
importprunedfunds
importpubkey
importwallet x
keypoolrefill x
listaddressgroupings x
listlabels
listlockunspent x
listreceivedbyaddress x
listreceivedbylabel x
listsinceblock x
listtransactions x
listunspent x
listwalletdir
listwallets
loadwallet
lockunspent x
removeprunedfunds
rescanblockchain
sendmany x
sendtoaddress x
sethdseed
setlabel
settxfee x
setwalletflag
signmessage x
signrawtransactionwithwallet #1561
unloadwallet
walletcreatefundedpsbt #1573 #1596
walletlock x
walletpassphrase x
walletpassphrasechange x
walletprocesspsbt #1573 #1596

zmq

_Note: server is not applicable here since btcd does not implement zmq

Method Client PR (Client) Issue
getzmqnotifications #1587
Clone this wiki locally