为什么需要”最小单位”
Gas 费是什么?为什么以太坊转账要付 Gas里提到 Gas Price 常用 Gwei 表示,钱包设置里还常出现 Wei。这些词不是不同货币,而是同一个资产的不同计数单位,就像”元、角、分”。之所以需要它们,是因为区块链上的一切都要被精确切分到最小可记账颗粒,合约和节点间传输永远使用最小单位。
以太坊:Wei 是基本单位
以太坊原生资产 ETH 的最小单位是 Wei,十进制关系如下:
- 1 ETH = 1,000,000,000,000,000,000 Wei(十的十八次方,10^18)
- 1 Gwei = 1,000,000,000 Wei(十的九次方,10^9),即 1 ETH = 10^9 Gwei
为什么 Gas Price 用 Gwei 而不是 ETH?因为”每 1 GAS 多少 ETH”是个极小的数(例如 0.0000000015 ETH/GAS 这种量级),直接用 ETH 写出来小数点后全是零,容易数错位。换成 Gwei 后同样的价格写成 1.5 Gwei,人类可读、程序好解析。日常口语说”Gas 20 个 G”,指的就是 20 Gwei。
注意区分两个维度:Gwei 是”单价”(每个 GAS 单位收多少钱),GAS 是”数量”(这笔计算消耗多少额度),两者相乘再换算成 ETH 才是你的手续费。相关计算逻辑见 以太坊Gas费怎么算?。
钱包和代码里的常见坑
- 前端或脚本把用户输入的”0.01 ETH”直接当 Wei 记账,金额会差 10^18 倍。正规做法是用工具库做单位转换,不要手工补零。
- 有些界面显示”余额 0”其实是余额小于显示精度(几 Wei 的粉尘),并不等于零。
- 授权代币、设置滑点等表单里出现”1e18”这类写法,是科学计数法表示的 Wei 数量,不是代币个数,需要先除以 10 的小数精度次方。代币的显示精度由合约声明的 decimals 决定,参考 ERC-20 decimals就是价格精度吗?。
比特币及其他链的对应概念
比特币的最小单位是聪(satoshi,简称 sat):1 BTC = 100,000,000 聪,八次方而非十八次方,因此比特币费率用 sat/vB 报价。其他链各有惯例:有的用 10^6、10^9 或 10^12 作为展示换算阶,命名也各不相同。读任何链的费用文档时,先确认三件事:最小单位叫什么、1 个主单位等于多少最小单位、报价用的是单价还是总额。混淆这三点是”转错数量级”事故的头号原因。
动手算一笔:一次转账到底花多少
手续费等于”消耗数量乘以单价”。一笔简单的 ETH 转账消耗的 GAS 固定约为 21000,如果当时你接受的单价是 20 Gwei,费用就是 420000 Gwei,即 4.2×10^14 Wei,折合约 0.00042 ETH。注意 21000 只是”账户转账户”的固定成本,与合约交互——NFT 铸造、DEX 兑换、提供流动性——往往要用掉它的几倍到几十倍;钱包报价里的 gas limit 来自节点估算,交易失败常见原因是数量估低而非单价太低,两个字段分工见 以太坊Gas费怎么算?。
快速问答
- Gwei 有”价格”吗?没有。它只是 ETH 的另一种书写刻度,单位之间不存在兑换,也无需购买。
- 为什么文档里偶见 kwei、mwei?那是 10^3、10^6 Wei 的历史别名,生产环境几乎只保留 gwei 一个活词,其余当冷知识即可。
- 为什么我付的费用和网络平均不一样?链上单价是竞价市场,EIP-1559 下你支付的是”基础费+小费”的组合,拥堵时小费上浮是正常的。
常见误区
- 把 Gas 与 Gas Price 混为一谈:前者是消耗额度(数量),后者是每额度单价(Gwei 计),钱包里两个框设置错任何一个都会改变总费用,分工详见 Gas Limit和Gas Price怎么区分?。
- 以为单位换算发生在链上:换算只存在于软件展示层,链上永远按最小整数记账,任何”按主单位传输”的说法都是不严谨的口误,程序对接时必须显式写明单位。
小结
Wei、Gwei、聪都只是同一资产的不同”刻度”,没有兑换过程,也不存在价格。理解它们的关键不是背数字,而是养成习惯:看到任何链上金额,先问”这是什么单位、谁负责换算”,再决定是否签名。
本文为加密知识科普,不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。