BCH链常用接口使用

BCH链常用接口使用

BCH链常用接口使用

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

区块链API

挖矿类API

裸交易API

钱包类API

getblockcount

获取最新区块高度

  • 请求示例
bitcoin-cli -rpcuser=admin -rpcpassword=123456 -rpcport=18443 getblockcount

curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockcount", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18443/

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/
  • 返回参数
返回带有完整绝对路径的文件名
点赞 1
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

1 条评论

请先 登录 后评论
杰哥的技术杂货铺
杰哥的技术杂货铺
0x6e60...2aa2
六年区块链开发及运维经验,成都电子科技大学Web3讲师,利用该平台进行技术分享,可私信进行交流沟通