prioritisetransaction允许节点操作者给某个txid增加或减少一个本地fee delta,从而改变组装区块模板时对它的费用评价。getprioritisedtransactions就是审计这些人工调整的入口。它不是全网“加速记录”,也不会修改交易实际支付给矿工的输出差额。
先区分三种费用
交易原始手续费来自输入总额减输出总额;fee_delta是节点操作者人为添加的评估调整;modified_fee是在交易位于本节点mempool时,由原始手续费与本地调整共同形成的模板评估值。只有第一个写进交易经济关系,后两个属于本节点策略视图。
getprioritisedtransactions返回由用户通过prioritisetransaction创建的所有fee delta,并以txid为键。 getprioritisedtransactions返回所有由用户创建的fee delta,以txid为键。即使某笔交易当前不在mempool,调整记录仍可能存在,所以“列表里有”不能推出“交易正在等待确认”。
每项包含以satoshi计的fee_delta和in_mempool;只有交易当前在mempool时才返回modified_fee。 in_mempool明确表示本节点此刻是否持有交易;modified_fee只在它为true时出现。采集脚本必须把字段缺失与数值零区分开,不能在缺失时自动填0并制造一个并不存在的费用判断。
| 字段 | 单位/类型 | 审计问题 |
|---|---|---|
| txid键 | 交易标识 | 调整针对哪笔交易 |
| fee_delta | satoshi | 人工增加或减少多少评估费用 |
| in_mempool | 布尔值 | 当前节点是否持有交易 |
| modified_fee | satoshi,可选 | 当前mempool视图的修改后费用 |
调整前建立登记,不接受口头操作
每次调用prioritisetransaction前,保存txid、原始手续费、虚拟大小、当前mempool状态、拟调整值、原因、操作者、批准人和失效条件。测试场景还要写明是否影响真实矿池模板。没有工单编号的手工调整应被策略拒绝。
调整后立即调用getprioritisedtransactions,确认目标txid和fee_delta与计划一致;再检查getblocktemplate或相关模板观察,证明策略确实影响了预期环节。只看到RPC返回true,不能说明下游矿池软件采用了这个节点的模板。
fee delta不是交易加速服务
prioritisetransaction改变节点在组装区块模板时使用的交易费用评估,不修改交易序列化内容或实际支付手续费;把fee_delta设为相反值可抵消之前调整。 prioritisetransaction影响当前节点的挖矿优先级评估,不修改序列化交易,也不会自动传播给其他节点和矿工。如果自己的节点不生产区块、也不向实际矿池提供模板,这个调整可能完全不影响确认概率。
因此,对普通钱包用户,提升确认速度通常应评估RBF、CPFP或重新广播,而不是向不挖矿的本地节点加fee delta。对矿池或测试环境,调整可以验证模板策略,但对外描述必须写“本节点/本矿池策略”,不能写“全网手续费已提高”。
不在mempool的记录怎么处理
in_mempool为false可能因为交易从未到达、已被驱逐、发生冲突、已确认,或节点重启后的mempool视图变化。先查区块确认与冲突,再查mempool拒绝原因。不要看到false就删除记录,因为它可能是一次尚待广播的预先调整,也可能是需要归档的历史操作。
审计系统可以给这类记录标注原因和观察期限。超过期限仍无对应交易时,提交清理任务;交易已确认时,记录确认高度后归零;发生冲突时,将原txid与替代交易关联,避免错误地把旧调整复制给新交易。
归零不是传入“删除”按钮
Bitcoin Core的操作模型是增量调整。要抵消之前的fee delta,需要传入相反数,并再次调用getprioritisedtransactions确认结果。自动化系统应根据当前累计值计算回滚,不要凭最初计划值猜测,因为同一txid可能被多次调整。
登记当前值 → 写入增量 → 读取复核 → 观察模板
↑ ↓
归零复查 ← 传入当前累计值的相反数 ← 达到失效条件
最后保留两份证据:RPC前后快照和操作日志。监控应定期扫描非零调整,对没有负责人、没有到期日或交易已确认的记录报警。这样getprioritisedtransactions才是控制工具,而不是只有出问题时才偶然打开的命令。
本地策略必须有失效时间
每个fee delta都应记录操作者、原因、工单和归零条件。临时测试若没有回滚值和复查任务,很容易成为长期不可见的模板偏差。
本文的三个可复核核心是:
- getprioritisedtransactions返回由用户通过prioritisetransaction创建的所有fee delta,并以txid为键。
- 每项包含以satoshi计的fee_delta和in_mempool;只有交易当前在mempool时才返回modified_fee。
- prioritisetransaction改变节点在组装区块模板时使用的交易费用评估,不修改交易序列化内容或实际支付手续费;把fee_delta设为相反值可抵消之前调整。
目前仍需保留的边界:该节点本地策略不会自动同步到其他节点或矿工,不能当成全网手续费加速承诺。
可结合getmininginfo指标、getnetworkhashps窗口、verifychain检查继续查看相邻知识。本文为信息与技术教育内容,不构成投资、交易或法律建议;涉及资产或系统变更时,请先在隔离环境验证并自行承担风险。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。