同样是生成交易 inclusion 证明,gettxoutproof 有时成功有时报找不到,差别在于该交易是否还有输出留在 UTXO 集合。本文拆解证明里区块头加哈希路径的结构、txindex 与手工指定块哈希两条补救路,以及验收证明时的交叉比对顺序。
汇总与「节点」相关的文章,帮助你系统了解该主题。
同样是生成交易 inclusion 证明,gettxoutproof 有时成功有时报找不到,差别在于该交易是否还有输出留在 UTXO 集合。本文拆解证明里区块头加哈希路径的结构、txindex 与手工指定块哈希两条补救路,以及验收证明时的交叉比对顺序。
按流量计费的服务器跑比特币节点,上行最先爆表。maxuploadtarget 以每 24 小时为窗口限制出站流量,逼近目标时先停供一周外的历史区块再停过滤区块。本文拆解削减顺序、144 区块推荐下限、白名单流量计入但不断线的细节,以及和修剪模式的搭配。
比特币核心的 prioritisetransaction RPC 能让一笔交易在本机建块算法里凭空变贵或变便宜,却不改变交易本身。本文逐参数拆解 fee_delta 的绝对费用语义、dummy 占位符的废弃历史,以及它对中继、对重启、对其他矿工完全无效的原因。
比特币核心钱包报费用过高或算价离谱时,多半是 mintxfee、fallbackfee、maxtxfee 三个参数在起作用。本文逐一拆解地板费率、后备费率与单笔费用上限的默认值、触发场景和版本差异,以及为什么 settxfee 不再适合新脚本。
一笔比特币交易广播后一直没确认,过几天就查不到了,是不是钱没了?本文讲清节点内存池的 336 小时过期规则、300MB 空间驱逐、mempool.dat 持久化重启恢复,以及未确认交易被丢弃后你该做的三步核对。
比特币核心的连接管理器周期性开一条只存活几秒的 feeler 连接,随机抽一个未验证地址试握手:成功就记下地址在线,失败即丢弃不留痕;握手一完成实现就把它标记断开。核心源码 net.cpp 中该词(不分大小写)出现数十处。本文拆解它与八个常驻出站槽位的分工、随机抽样为什么是对地址投毒的主要解毒剂,以及防火墙后节点被误判离线的原因。
比特币核心的 onlynet 参数限定自动出站连接只走指定网络,设成 onion 或 i2p 可让节点完全不在公网发起连接。官方帮助文本写明入站与手动连接不受影响,配置文件里一条残留的明文 addnode 就能让隔离功亏一篑。本文拆解参数的精确取值与语义、与监听和权限配置的分工,以及三步自查清单。
节点发 getdata 点货,对端手里没有对应数据时回一条 notfound,把"在路上了"和"根本拿不到"区分开。比特币核心源码 protocol.h 定义该消息类型,net_processing.cpp 在处理 getdata 时把取不到的条目攒进 vNotFound 回给请求方。本文拆解它出现的位置、与孤儿交易等待和区块补洞的配合,以及误读它导致的排障弯路。
go-ethereum 的 syncmode 有 snap 与 full 两档,默认值是 snap。快照同步不再逐块重放历史交易,而是向网络索取一段段连续的状态数据,在本地重建默克尔树,只在接近链尖时才回退到逐块执行。本文拆解两种模式的成本结构、快照为什么必须先造一次、以及节点停在快照阶段时的排查顺序。
比特币核心把节点学到的对端地址记进内存地址管理器并周期性落盘到数据目录的 peers.dat,重启后优先从验证过的 tried 表重连。本文拆解 new 与 tried 两级结构、网段分桶防污染、文件损坏与陈旧的表现,以及它和封禁名单、DNS 种子的分工。