Bitcoin Core v31.0 的 echo、echojson、echoipc 都只回显参数,但分别探 RPC 通道、客户端 JSON 类型转换与多进程 IPC 三段链路。本文按 v31.0 源码核对三者的服务端同源关系、client.cpp 转换表差异与 trigger_internal_bug 测试活门。
Bitcoin Core v31.0 的 echo、echojson、echoipc 都只回显参数,但分别探 RPC 通道、客户端 JSON 类型转换与多进程 IPC 三段链路。本文按 v31.0 源码核对三者的服务端同源关系、client.cpp 转换表差异与 trigger_internal_bug 测试活门。
Bitcoin Core 的 send RPC 自 0.21 引入并标注实验性质,v31.0 里它以 outputs 字典同时覆盖多收款人与 OP_RETURN 数据输出,options 面板收纳 add_inputs、minconf、subtract_fee_from_outputs 等控制项。本文按 v31.0 源码逐项拆解参数与三种返回形状。
Bitcoin Core v31.0 的 getnewaddress 不现场造钥匙,而是从描述符派生区间发号。本文按源码核对它的密钥池机制、label 标签语义、address_type 覆盖规则,以及锁定钱包与观察钱包下的真实行为。
Bitcoin Core v31.0 的 decoderawtransaction 纯本地拆解十六进制交易,不做共识校验也不告诉你能不能花。本文按源码核对 iswitness 参数的猜测风险、txid 与 wtxid 的分野、size、weight、vsize 三本体积账。
Bitcoin Core v31.0 的 getbalance 把余额压成一个数字,参数表里却留着 dummy 化石、弃用的 include watchonly 与 avoid reuse 过滤。本文按源码核对它的口径、与 getbalances 和 listunspent 的分工。
Bitcoin Core v31.0 的 getblockcount 报的是最大工作量且完整验证那条链的高度,快照同步与重组都会让它和直觉对不上。本文按源码核对高度与链尖哈希的语义、成对使用的理由和轮询脚本的替代方案。
Bitcoin Core v31.0 的 abortrescan 只把一个原子标志置位,扫描线程在下一个检查点才真正停下。本文按源码核对返回 true 与 false 的语义、中止后未扫区间的漏账风险,以及三处强制要求先中止的操作。
LND v0.19.0-beta 的 getinfo 不止是节点名片。本文按 lnrpc 接口定义核对 synced_to_chain 与 synced_to_graph 各自管什么、通道与对端计数为何互不覆盖,以及把它当分流阀的排障顺序。
LND v0.19.0-beta 的 pendingchannels 记录通道生命周期里所有不活不死的等待:待开确认、强制关闭在途、等待结算。本文按接口定义核对 limbo balance、maturity height 与 recovered balance 的对账读法。
LND v0.19.0-beta 的 listinvoices 把节点签发的收款请求按索引摊开。本文按接口定义核对 OPEN、ACCEPTED、SETTLED、CANCELED 四态语义、签发序与结算序两套索引的成因,以及翻页过滤参数的组合陷阱。