同样是生成交易 inclusion 证明,gettxoutproof 有时成功有时报找不到,差别在于该交易是否还有输出留在 UTXO 集合。本文拆解证明里区块头加哈希路径的结构、txindex 与手工指定块哈希两条补救路,以及验收证明时的交叉比对顺序。
汇总与「节点」相关的文章,帮助你系统了解该主题。
同样是生成交易 inclusion 证明,gettxoutproof 有时成功有时报找不到,差别在于该交易是否还有输出留在 UTXO 集合。本文拆解证明里区块头加哈希路径的结构、txindex 与手工指定块哈希两条补救路,以及验收证明时的交叉比对顺序。
闪电节点收不到图谱更新,多半是没设 gossip_timestamp_filter:BOLT 7 规定节点不发这条订阅消息就收不到任何转发公告。本文拆解链哈希加起始时间戳加时间跨度的三字段语义、默认沉默规则、两周修剪与心跳噪声,以及图谱停更的排障顺序。
比特币核心把节点学到的对端地址记进内存地址管理器并周期性落盘到数据目录的 peers.dat,重启后优先从验证过的 tried 表重连。本文拆解 new 与 tried 两级结构、网段分桶防污染、文件损坏与陈旧的表现,以及它和封禁名单、DNS 种子的分工。
go-ethereum 的 syncmode 有 snap 与 full 两档,默认值是 snap。快照同步不再逐块重放历史交易,而是向网络索取一段段连续的状态数据,在本地重建默克尔树,只在接近链尖时才回退到逐块执行。本文拆解两种模式的成本结构、快照为什么必须先造一次、以及节点停在快照阶段时的排查顺序。
节点发 getdata 点货,对端手里没有对应数据时回一条 notfound,把"在路上了"和"根本拿不到"区分开。比特币核心源码 protocol.h 定义该消息类型,net_processing.cpp 在处理 getdata 时把取不到的条目攒进 vNotFound 回给请求方。本文拆解它出现的位置、与孤儿交易等待和区块补洞的配合,以及误读它导致的排障弯路。
比特币核心的 onlynet 参数限定自动出站连接只走指定网络,设成 onion 或 i2p 可让节点完全不在公网发起连接。官方帮助文本写明入站与手动连接不受影响,配置文件里一条残留的明文 addnode 就能让隔离功亏一篑。本文拆解参数的精确取值与语义、与监听和权限配置的分工,以及三步自查清单。
比特币核心的连接管理器周期性开一条只存活几秒的 feeler 连接,随机抽一个未验证地址试握手:成功就记下地址在线,失败即丢弃不留痕;握手一完成实现就把它标记断开。核心源码 net.cpp 中该词(不分大小写)出现数十处。本文拆解它与八个常驻出站槽位的分工、随机抽样为什么是对地址投毒的主要解毒剂,以及防火墙后节点被误判离线的原因。
比特币网络并不只有一种节点软件。btcd 是用 Go 语言独立实现的比特币全节点,与 C++ 写的比特币核心执行同一套共识规则。本文讲清它存在的意义、和普通用户的关系,以及为什么单一实现垄断才是更大的风险。
Electrum 客户端可以连自己家的节点后端。本文讲 Electrs、Esplora 这类索引器如何在全节点之上建账本索引、自建能消掉哪些信任缺口、要付出什么同步与磁盘成本,以及验收清单。
家庭节点最怕的不是被攻击,而是停电。本文给出一份断电、断网、磁盘写满后的重启自查:同步进度、链尖、内存池恢复、钱包重新扫描的顺序,以及轻易重扫描全链这类禁忌。