两个开关,一份讣告
比特币核心钱包有两个服役多年的手动费率入口:启动参数 -paytxfee 与运行期命令 settxfee,作用同宗——给钱包交易定一个固定的每千虚拟字节费率,把出价从自动估算手里接管过来。2026 年发布的 31.0 版把它们彻底请出了代码库。讣告分两段:30.0 发布说明宣布两者弃用并预告在 31.0 移除,理由写得毫不含糊——静态费率可能让人多付也可能让人少付;31.0 发布说明执行删除,原样重申替代路线。翻检 31.0 源码树,settxfee 的 RPC 注册已不见踪影,这不是被门闩藏起来的弃用,是删干净了。


一个参数引发的单位事故史
手动费率之所以被判死刑,与它的账本方式有关。settxfee 时代的计价单位是每千虚拟字节多少比特币,小数位长得数不清;钱包找零、估算器与拥堵市场又让固定费率的两个失败方向反复上演——市场安静时多付了空气费,市场飙升时少付到交易卡死。删除通知里给出的替代方案因此强调两条:默认交给费率估算;要手动就精确到单笔,在 fundrawtransaction、sendtoaddress、send、sendall、sendmany 这些命令上传 fee_rate 参数。新的参数与旧时代有个致命的单位差:fee_rate 按每虚拟字节多少聪计价,旧习惯里按千字节心算的人,差三个数量级不是罕见事故而是默认事故。

三阶段退役模型,值得抄进笔记本
比特币核心对功能下线近年形成了一套可预期的节奏,这两个参数正好走完全部三格。第一格,发布说明挂出弃用声明并写死移除版本——30.0 明说 31.0 删除,给了运维一整个大版本的迁移窗口。第二格,部分功能会先降级进门闩:同一份 31.0 说明里,getpeerinfo 的 startingheight 字段就要靠 -deprecatedrpc 才继续返回,属于还活着但需主动表态的一类。第三格,彻底移除:paytxfee 与 settxfee 落到这一格,没有兼容门闩,调用只会得到未知方法错误。读版本说明时按三格给每个变更归档——挂名的、进闩的、删净的——脚本的改造优先级自然浮现。
脚本报错时的排查动线
老脚本升级到新节点后报 JSONRPCError、消息含 Unknown command,第一步不是重装,而是翻所用大版本的发布说明搜命令名;第二步查它属于哪一格——进了 deprecatedrpc 门的,在配置文件里加对应值即可续命,下一大版本仍要还债;被删净的,按说明给出的替代参数改写,顺手核对单位换算。第三步,把所有依赖固定钱包费率的逻辑标记为技术债:既然官方判断是估算加单笔显式费率更稳,长期对抗这个方向只会越欠越多。
对普通用户意味着什么
如果你用带界面的钱包,这件事基本无感——绝大多数图形钱包从不暴露全局手动费率。受影响的是把 bitcoind 当钱包后端、又习惯开局 settxfee 一下的自动化部署。迁移后的正确心智是:费率是每笔交易自己的属性,不再是钱包的全局人格。顺带一提,31.0 在费率方向还有一处同向变化:费率估算器的最低费率桶从 1 聪每虚拟字节下调到 0.1 聪一档,与节点默认最小中继费率对齐——估算器开始认真看待低费区,静态全局费率的存在理由又少了一条。同一份说明的退役名单也值得对照着读:早在 30.0 之后就已无效果的启动参数 -maxorphantx 被正式移除,和这两个费率入口属于同一种家务清理。最后做个换算练习收尾:假设你认定的合理费率是每虚拟字节 2 聪,新规矩下 fee_rate 就传 2;脑子里还装着按千虚拟字节旧表的人顺手填 2000,这一笔就要多付三个数量级,全靠费率上限的护栏替你把门。反向的错法同样致命——旧习惯里的小数直接搬进新参数,交易只会在内存池里等一个不来的春天。
风险提示:本文版本事实以 Bitcoin Core 30.0 与 31.0 官方发布说明及 31.0 源码为准,参数行为请以所用版本一手文档核对;费率设置失误可能造成交易延迟确认或费用多付,本文不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。