BCH链常用接口使用

BCH链常用接口使用

注:以下rpc接口测试均在开发网络完成

getblockhash

获取指定高度区块的哈希

  • 请求参数
1.BlockHeight:区块高度
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 getblockhash 121  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockhash", "params": [121] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
1.getblockhash:返回指定区块高度的区块哈希值

getblock

获取指定哈希的区块信息

  • 请求参数
1.HeaderHash:区块哈希 2.Format:结果格式,可选项为:0:串流格式;1:json格式(默认为1);2:json格式,同时解码区块中的交易
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 getblock 176d9c775e14d6490ac30231dd7f10bced7f182d2525d362700951e1fda6e03e  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["176d9c775e14d6490ac30231dd7f10bced7f182d2525d362700951e1fda6e03e"] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
getblock调用根据参数Format的不同返回值有所区别。  1.如果Format是0,那么返回的就是16进制字符串表示的序列化交易。 2.如果Format是1,那么返回的就是JSON对象,包括区块哈希,确认数,区块字节数等 3.如果Format是2,那么返回的JSON对象中tx数组成员是解码的交易对象

generatetoaddress

将挖矿之后的奖励发送至某个地址

  • 请求参数
1.Blocks:出块数量 2.Address:接收奖励的比特币的地址 3.Maxtries:最大重试次数,默认:1000000
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 generatetoaddress 5 "qpt20c6gpn7eq48ez0l22zeg7txnn8u0ky6g5lcdw4"  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "generatetoaddress", "params": [5,"qqzgpjk7fsy5m4a90f22dnshlrhtsjf84sd0m4frvf"] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
1.区块哈希:返回生成的区块头哈希数组

getrawtransaction

查询交易原始数据

  • 请求参数
1.TXID:要提取裸交易的交易ID 2.Format:返回格式,序列化字符串或JSON对象,false:返回序列化字符串(默认为false),true:返回解码后的JSON对象 3.blockhash:在某个块查找此交易,可选
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 getrawtransaction b51cc630d326a6ba46fdb6ec7ce4f2a3800392dc811b4f08d315de5e75b783cc true  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getrawtransaction", "params": ["b51cc630d326a6ba46fdb6ec7ce4f2a3800392dc811b4f08d315de5e75b783cc",true] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
当参数Format的值为true时,返回的交易对象结构如下: 1.hex:序列化字符串 2.blockhash:所在区块的哈希值 3.confirmations:所在区块的确认数 4.time:所在区块的出块时间 5.blocktime:所在区块的出块时间,同上

getnewaddress

获取新地址

  • 请求参数
1.Account:新地址所属账户,可选,默认值:"" 2.AddressType:地址类型,可以是legacy、p2sh-segwit和bech32,可以 使用-addresstype设置默认地址类型
  • 请求示例
# 为指定账户下创建地址 bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 getnewaddress test             bchreg:qpt20c6gpn7eq48ez0l22zeg7txnn8u0ky6g5lcdw4  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": ["test2"] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/ {"result":"bchreg:qqzgpjk7fsy5m4a90f22dnshlrhtsjf84sd0m4frvf","error":null,"id":"curltest"}
  • 返回参数
1.getnewaddress:返回一个新的地址

getbalance

查看钱包中全部bch可用余额

  • 请求参数
Confirmations: 可计入余额的UTXO所需要的最小确认数,可选,默认值:6 WatchOnlyIncl: 是否包含那些仅用于监测的地址,可选,默认值:true
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 getbalance  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbalance", "params": ["*", 1] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
1.返回以bch为单位的钱包总余额

getbalances

查看钱包中全部bch中所有余额

  • 请求示例
# bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 getbalances  {   "mine": {     "trusted": 500.00000000,     "untrusted_pending": 0.00000000,     "immature": 5000.00000000   } }  # curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbalances", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/ {"result":{"mine":{"trusted":500.00000000,"untrusted_pending":0.00000000,"immature":5000.00000000}},"error":null,"id":"curltest"}
  • 返回参数
1.trusted:可信余额 2.untrusted_pending:不可信的pending余额 3.immature:不成熟的交易输出余额

listaddressgroupings

显示bch钱包中所有地址余额

  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 listaddressgroupings  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listaddressgroupings", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
1.Address:地址 2.Balance:地址bch余额,不包含未确认收入 3.Account:地址关联的账户

sendtoaddress

发送金额至指定地址

  • 请求参数
1.ToAddress:接收地址 2.Amount:发送的比特币数量 3.Comment:备注文本,可选 4.CommentTo:备注接收人,可选 5.subtractfeefromamount:手续费是否从汇款金额中扣除,默认值:false 6.avoid_reuse:避免从脏地址消费;如果地址以前在事务中使用过,则地址被认为是脏的,默认值:true
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 sendtoaddress "qqzgpjk7fsy5m4a90f22dnshlrhtsjf84sd0m4frvf" 5  b51cc630d326a6ba46fdb6ec7ce4f2a3800392dc811b4f08d315de5e75b783cc  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "sendtoaddress", "params": ["qqzgpjk7fsy5m4a90f22dnshlrhtsjf84sd0m4frvf",10] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/ {"result":"c6ff429f44ac6776fc0cd19151d787e8816c72c60033f60853389d3af585a592","error":null,"id":"curltest"}
  • 返回参数
返回该笔交易ID

gettransaction

获取钱包内交易的详细信息

  • 请求参数
TXID:要查看详情的交易ID include_watchonly:是否包含watch-only地址,默认为true
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 gettransaction b51cc630d326a6ba46fdb6ec7ce4f2a3800392dc811b4f08d315de5e75b783cc  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "gettransaction", "params": ["b51cc630d326a6ba46fdb6ec7ce4f2a3800392dc811b4f08d315de5e75b783cc"] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
1.amount:交易金额,正数表示该交易增加钱包余额,负数表示该交易减少钱包余额 2.fee:交易手续费,仅针对转出交易 3.confirmations:交易确认数,0表示未确认,-1表示存在冲突 4.generated:币基交易则该值为true 5.blockhash:交易所在区块的哈希 6.blockindex:交易所在区块的编号 7.blocktime:交易所在区块的unix时间 8.txid:交易ID 9.walletconflicts:冲突交易数组,成员为冲突交易的ID 10.timereceived:节点收到交易的unix时间 11.bip125-replacable:是否可替换交易 12.comment: 保存在钱包中的交易备注, 13.to:保存在钱包中的交易目标备注 14.details:输入输出详情数组,包括:send,receive,amount,fee 15.hex:串行序列化字符串

listreceivedbyaddress

查询钱包内某个地址收入交易列表

  • 请求参数
1.minconf:计入统计结果的交易所需的最小确认数,默认值:1 2.include_empty:是否包含从未有收入的账户,可选,默认值:false 3.include_watchonly:是否包含watch-only地址,可选,默认值:false,详情可参见importaddress 4.address_filter:可选参数,仅返回某个地址的信息,默认返回整个钱包地址的交易列表
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 listreceivedbyaddress 6 true true qqzgpjk7fsy5m4a90f22dnshlrhtsjf84sd0m4frvf  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listreceivedbyaddress", "params": [6,true,true,"qqzgpjk7fsy5m4a90f22dnshlrhtsjf84sd0m4frvf"] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
1.nvolvesWatchOnly:是否是watch-only地址 2.address:地址 3.account:关联账户 4.amount:收到比特币总数量 5.confirmations:该地址最后一个交易的确认数 6.label:地址关联的账户 7.txids:向该地址支付过的交易数组,成员为交易ID

settxfee

settxfee 为钱包设置每kB的交易费用,将覆盖全局的-paytxfee命令行参数

  • 请求参数
1.FeePerKB:每千字节的手续费(BCHA/kB)
  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 settxfee 0.0008  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "settxfee", "params": ["0.0005"] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
1.调用在成功时返回true。

dumpwallet

导出钱包文件为文本

  • 请求参数
1.filename:带有路径的文件名
  • 请求的示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 dumpwallet /opt/wallet.txt  curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "dumpwallet", "params": ["/opt/wallet.txt"] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/
  • 返回参数
返回带有完整绝对路径的文件名

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注