比特币RPC API命令中文手册

区块链API
GetBestBlockHash/获取链头区块哈希 GetBlock/获取指定哈希的区块 GetBlockChainInfo/获取区块链当前状态 GetBlockCount/获取区块数量 GetBlockHash/获取指定高度区块的哈希 GetBlockHeader/获取指定哈希区块头 GetChainTips/获取全部链头区块 GetDifficulty/获取出块难度 GetMemPoolAncestors GetMemPoolDescendants GetMemPoolEntry GetMemPoolInfo/获取交易池信息 GetRawMemPool/获取交易池详情 GetTxOut/获取交易输出信息 GetTxOutProof/获取交易在区块中的证据 GetTxOutSetInfo/获取交易输出集信息 PreciousBlock PruneBlockChain VerifyChain/校验本地区块 VerifyTxOutProof
节点控制API
GetRpcInfo/获取rpc服务器信息 Help Stop/关闭节点软件
区块构造与挖矿API
Generate/挖矿出块 GenerateToAddress/挖矿出块并奖励指定地址 GetBlockTemplate GetMiningInfo/获取挖矿信息 GetNetworkHashPS/获取全网哈希生成速率 PrioritiseTransaction SubmitBlock/提交区块
P2P网络通信API
AddNode ClearBanned DisconnectNode GetAddedNodeInfo GetConnectionCount GetNetTotals GetNetworkInfo GetPeerInfo ListBanned Ping SetBan SetNetworkActive
裸交易相关API
CreateRawTransaction/创建裸交易 FundRawTransaction/充值裸交易 DecodeRawTransaction/解码裸交易 DecodeScript/解码脚本 GetRawTransaction/获取指定裸交易 SendRawTransaction/广播裸交易 SignRawTransaction/签名裸交易
工具类
CreateMultiSig/创建多签地址与脚本 EstimateFee EstimatePriority GetMemoryInfo/获取内存利用信息 ValidateAddress/验证地址有效性 VerifyMessage/验证消息签名
钱包相关
AbandonTransaction/废弃交易 AddWitnessAddress/添加隔离见证地址 AddMultiSigAddress/添加多签地址 BackupWallet/备份钱包文件 BumpFee/提高交易手续费 DumpPrivKey/导出指定私钥 DumpWallet/导出钱包文件 EncryptWallet/加密钱包 GetAccountAddress/获取指定账户当前地址 GetAccount/获取指定地址所述账户 GetAddressesByAccount GetBalance/查询钱包余额 GetNewAddress/生成新地址 GetRawChangeAddress/生成新找零地址 GetReceivedByAccount GetReceivedByAddress/查询指定地址收币数量 GetTransaction/查询指定交易 GetUnconfirmedBalance/查询钱包未确认余额 GetWalletInfo/获取钱包信息 ImportAddress/导入地址 ImportMulti ImportPrunedFunds ImportPrivKey/导入私钥 ImportWallet/导入钱包转储文件 KeyPoolRefill/预填充密钥池 ListAccounts ListAddressGroupings/按地址分组查询余额 ListLockUnspent/获取锁定状态UTXO ListReceivedByAccount ListReceivedByAddress/按地址统计收币数量 ListSinceBlock/查询指定区块后发生的钱包交易 ListTransactions/查询最近发生的钱包交易 ListUnspent/查询钱包UTXO LockUnspent/锁定或解锁指定的UTXO Move RemovePrunedFunds SendFrom SendMany SendToAddress/向指定地址发送比特币 SetAccount SetTxFee/设置交易手续费率 SignMessage/签名消息 SignMessageWithPrivKey/用指定私钥签名消息 WalletLock/锁定钱包 WalletPassphrase/解锁钱包 WalletPassphraseChange/修改钱包密码

GetBlockHeader/获取指定哈希区块头

getblockheader调用返回本地最优链中指定哈希区块的头,可以指定 不同的参数来返回序列化表示,或者JSON对象表示。

参数

  • HeaderHash:区块头哈希
  • Format:结果格式,false:序列化格式,true:JSON格式,默认值:true

返回值

getblockheader调用返回指定的区块头。

如果Format参数值为false,那么返回一个序列化的区块头,否则返回一个JSON 对象格式的区块头,其结构如下:

  • hash
  • confirmations
  • height
  • version
  • versionHex
  • merkleroot
  • time
  • mediantime
  • nonce
  • bits
  • difficulty
  • chainwork
  • previousblockhash
  • nextblockhash

示例代码

下面的命令返回指定区块头的序列化表示:

~$ bitcoin-cli -testnet getblockheader \
            00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09 \
            false

输出结果如下:

010000007de867cc8adc5cc8fb6b898ca4462cf9fd667d7830a275277447e608\
00000000338f121232e169d3100edd82004dc2a1f0e1f030c6c488fa61eafa93\
0b0528fe021f7449ffff001d36b4af9a

下面的命令返回同一区块头的JSON表示:

~$ bitcoin-cli -testnet getblockheader \
            00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09

输出结果如下:

{
  "hash": "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09",
  "confirmations": 437926,
  "height": 1000,
  "version": 1,
  "versionHex": "00000001",
  "merkleroot": "fe28050b93faea61fa88c4c630f0e1f0a1c24d0082dd0e10d369e13212128f33",
  "time": 1232346882,
  "mediantime": 1232344831,
  "nonce": 2595206198,
  "bits": "1d00ffff",
  "difficulty": 1,
  "chainwork": "000000000000000000000000000000000000000000000000000003e903e903e9",
  "previousblockhash": "0000000008e647742775a230787d66fdf92c46a48c896bfbc85cdc8acc67e87d",
  "nextblockhash": "00000000a2887344f8db859e372e7e4bc26b23b9de340f725afbf2edb265b4c6"
}