比特币核心的 RPC 服务允许把多条 JSON-RPC 请求装进一个 JSON 数组一次发出,v31.0 源码规定了批量请求的鉴权顺序、错误打包方式和通知不回复语义。本文按源码拆解批量请求的排序规则、白名单联动与超时边界,并给出对账脚本里的正确用法。
比特币核心的 RPC 服务允许把多条 JSON-RPC 请求装进一个 JSON 数组一次发出,v31.0 源码规定了批量请求的鉴权顺序、错误打包方式和通知不回复语义。本文按源码拆解批量请求的排序规则、白名单联动与超时边界,并给出对账脚本里的正确用法。
比特币核心的 getorphantxs 是一条实验性的隐藏 RPC,能把节点暂存的孤儿交易列出来。本文按 v31.0 源码拆它的三档 verbosity、返回字段、隐藏分类身份,以及排障时它和 mempool 查询、日志线索怎么配合。
比特币核心有一条藏在 hidden 分类里的 sendmsgtopeer,能向指定 peer 发送任意类型的原始 P2P 消息。本文按 v31.0 源码拆解它的三个参数、消息头自动拼装规则、滥用后的断连后果,以及它与集成测试的关系。
getdifficulty 返回的是一笔浮点数——当前难度相对最低难度的倍数。本文按 v31.0 源码拆解它从 nBits 紧凑编码折算成小数的过程、与 getblockstats 难度字段的分叉点,以及为什么监控脚本不该拿它做精确比较。
combinerawtransaction 把同一笔交易的多份带签版本合并成一份,是 PSBT 普及之前的多方汇签收尾工具。本文按 v31.0 源码拆解它的合并逻辑、输入必须完全一致的前提、与 combinepsbt 的分界,以及今天还有哪些场景绕不开它。
钱包流水里一笔转账可能拆成多条记录,coinbase 收入还要按成熟度分成 generate、immature、orphan 三种 category。本文按 v31.0 源码拆解 listtransactions 的条目生成逻辑、正负号规则和分页游标语义,给出对账时的正确读法。
addpeeraddress 能把一个 IP 和端口直接写进比特币节点的地址管理表,v31.0 源码把它标注为仅供测试。本文拆解它写入 new 表与 tried 表的差别、等价于对端自报的取值细节,以及为什么生产节点不该用它补邻居。
setlabel 给地址挂标签,但标签只写进本钱包的地址簿文件,不上链、不广播。本文按 v31.0 源码拆它的归属判定逻辑——自己的地址记成收款、别人的记成付款——以及标签与 listtransactions、getbalances 按标签过滤的联动关系。
converttopsbt 把 createrawtransaction 或 fundrawtransaction 产出的裸交易十六进制反向转换成 PSBT,方便继续走签名器流程。本文按 v31.0 源码讲清它为什么只适用于这两条来路、permitsigdata 开关撕掉签名的危险默认值,以及和 walletcreatefundedpsbt 的正路对比。