结论先说
Solana 的交易费是两笔账:签名费按签名逐笔收,官方文档当前列出的取值是每签名 5,000 lamports,其中一半直接销毁、一半给区块生产者;可选的优先费按交易声明的计算单元上限与单价折算,百分之百归验证者。还有一条容易被忽略的规则:交易无论执行成功还是失败,费用照收。看懂这两笔账,就能回答两个常见困惑——为什么 Solana 的平时费用很稳、某些市场却会局部飙高;以及为什么失败的交易也烧掉了 lamports。
总费用怎么算
官方费用文档给出的计算顺序是:总费用等于签名费加优先费。优先费等于计算单元单价乘以计算单元上限,再除以一百万并向上取整,中间用微 lamport 做换算精度。两笔钱的去向明确:签名费一半销毁、一半连同优先费进区块生产者口袋。这个结构里,唯一随交易计算量变化的杠杆是优先费的单价与上限,签名费本身对计算用量完全不敏感。
签名费的计费对象也有讲究:官方文档说明它覆盖 Ed25519 签名验证以及预编译签名验证的成本,交易里每出现一个签名就计一次,经由 Secp256k1、Secp256r1 等预编译入口验证的签名同样计费。所以一笔交易花多少“基础账”,取决于它带几个签名,而不是它调用了几个程序或写了多少字节——这是它与按 gas 计量费用体系最直观的差别。
为什么拥堵只挤一条道
以太坊主网是全局费用市场:区块填满时所有用户面对同一个上冲的基础费。Solana 的调度不同,官方文档给出的调度优先级用费用收益除以成本(成本加一的防零处理),而成本项不仅包含计算开销,还包含写入锁的占用。并行执行依赖交易提前声明要碰哪些账户、是读还是写,要写同一个热门账户的交易必须串行排队。结果就是优先费竞价主要发生在写锁冲突的那几条通道上:当某个热门池子或市场账户被挤爆,想写它的交易需要抬高的优先费明显上升,同一时段的其他通道大多照常便宜。这就是“局部拥堵”的机制根源。

与以太坊的销毁账对比
两条链都谈销毁,位置不同:以太坊把每个区块的基础费百分之百烧掉,销毁规模随需求涨落;Solana 的销毁固定在签名费的一半,而签名费不响应拥堵,优先费则一分不进销毁队列。所以讨论两个网络的销毁曲线时,不要从 SOL 与 ETH 的燃烧节奏互相外推结论,它们由不同参数驱动。
销毁账里还有一个常被误读的点:Solana 每笔交易的销毁额只由签名数决定,与这条交易跑了多少计算、占用多少带宽无关,交易失败也不改变销毁额。所以“失败交易扣费异常”的说法通常站不住——失败时收取的正是那笔无论成败都相同的签名费,加上按声明上限预先折算的优先费,计费公式里没有执行结果这个变量。
用户检查清单
第一,感觉费用变高时先看自己的交易是否写入了热门账户——全局“网络费涨了”的判断经常开错药方。第二,计算单元上限设得太低,交易可能跑到一半超限失败,而费用照样收走,估算时参考模拟结果留余量。第三,优先费只影响排队顺序,修不了参数错误,也救不回过期的 blockhash,设置方法见 Solana优先费怎么设置?。第四,多签名的交易按签名数逐笔计签名费,协作签名越多基础账越厚。
边界与风险
每签名 5,000 lamports 等数值是官方文档的公开当前值,协议参数可能随升级调整,核验以 Solana 官方文档与链上数据为准。失败交易仍产生费用,估算成本时请把这一条算进去。本文不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。