比特币节点之Remote Procedure Calls (RPCs)

比特币很多全节点软件提供了RPC功能,包括Bitcoin Core、BTCD。通过RPC可以调用管理任务、钱包操作、网络查询、区块数据等。

       bitcoin-qt默认不启动RPC,需要手动设置-server参数或者修改bitcoin.conf增加server=1。如果启动bitcoind,rpc默认启动。Bitcoin core自带一个rpc客户端bitcoin-cli。

       比特币的rpc服务默认监听8332端口,http post方式,测试网络或私有网络监听18332端口,端口可以使用bitcoin.conf的rpcport配置。

       目前比特币采用json-rpc,规范地址:https://www.jsonrpc.org/specification_v1,从Bitcoin Core 0.7.0版本开始支持json-rpc v2.0,可以一个请求调用多个RPC

       说一下区块的hash,区块hash存储是经过小端处理的,所以rpc调用时hash需要经过反转reverse。

       如300001块头:

020000005472ac8b1187bfcf91d6d218bbda1eb2405d7c55f1f8cc820000000000000000ab0aaa377ca3f49b1545e2ae6b0667a08f42e72d8c24ae237140e28f14f3bb7c6bcc6d536c890019edd83ccf

调用RPC:

bitcoin-cli getblock \
000000000000000082ccf8f1557c5d40b21edabb18d2d691cfbf87118bac7254

Hash经过了反转处理。

你可能感兴趣的:(Bitcoin比特币,bitcoin,rpc)