共识校验不看输入有多少条,反序列化却先把尺寸声明框死在约 3354 万以内,标准政策和权重预算再把现实数字砍到几千。本文拆开这条"没有条数上限的上限",按共识、协议、政策三层各自算一遍账,再讲巨型输入在 sigops 预算和手续费上的现实约束。
共识校验不看输入有多少条,反序列化却先把尺寸声明框死在约 3354 万以内,标准政策和权重预算再把现实数字砍到几千。本文拆开这条"没有条数上限的上限",按共识、协议、政策三层各自算一遍账,再讲巨型输入在 sigops 预算和手续费上的现实约束。
一条地址进了 addrman 之后时间戳不是写死的:在线判定、一小时与二十四小时的更新门槛、两小时来源罚时、自报免罚、成功连接后的二十分钟刷新。本文按 v31.0 源码 addrman.cpp 拆这套时间重写规则,解释本机时钟偏差怎么让邻居名单老化,以及用哪个 RPC 观察分桶状态。
stop 不是拔电源。本文按 v31.0 源码 init.cpp 的 Shutdown 函数逐段走关停流水线:先关对外接口,再断网络,等后台初始化线程收工,然后依次落内存池、费用估计、链状态,最后才删 pid 文件写下 Shutdown done。理解这个顺序,才能理解为什么优雅停机下次启动快、强杀要补账。
除 coinbase 外没有交易的区块在共识规则下完全合法。本文拆解矿池产出空块的流水线竞态、包中继配置与策略过滤三类来源,并给出收款方核对与节点验证步骤。
输入序号越界时旧实现返回常数 1 当待签消息,等于可复用图章。从 2012 年警告、SegWit v0 全零输出哈希到 Taproot 直接拒绝,看共识缺陷如何分层修补。
不启动节点也能对 wallet.dat 做结构体检:info 八个字段怎么读、salvage 只救 Berkeley DB 文件的边界、dump 含私钥明文的红线,以及 createfromdump 的适用场景。
用钱包免密码登录网站时,linkingKey 按域名经 m/138' 路径派生:换子域等于换账户、k1 缓存防重放、action 枚举的确认页语义,以及换设备后的登录故障定位。
用官方 contrib/init 单元文件把节点交给 systemd 看管:专用用户、路径假设、ExecStart 覆盖配置、journal 与 debug.log 两个日志家,以及自动重启掩盖故障的识别方法。
LUD-03 用一次两跳 HTTP 对话替代粘贴 BOLT11 发票:k1 会话令牌、millisatoshi 金额边界、status OK 与实际到账的分界,以及四段排障法。
节点在写入前主动检查剩余空间并宁可停机也不半写:三个检查点、日志失控与被遗忘的旧盘两类现场,停机搬运 datadir 的正确顺序与绝不该做的操作。