文章详细解释了以太坊中的 gas 成本,包括 gas 价格、以太币价格和 gas 单位之间的关系,并介绍了如何计算 gas 成本以及 gas 价格波动的原因。
理解Gas成本可能会很棘手,因为有三个因素在起作用:Gas价格、以太币价格和Gas单位。
你可能在 etherscan.io/gastracker 等网站上看到的“Gas价格”,随着网络需求而波动。
以太币的价格。显然,以太币越贵,Gas成本越高。
最后,“Gas”是一个单位,告诉你交易的费用有多高。从一个账户转移以太币到另一个账户需要 21,000 Gas。与智能合约的交互成本更高。
如果你只想进行一次转换,可以使用这个方便的 计算器。
“Gas价格”通常以 Gwei 单位计价。其值在低使用期为 15, 在高使用期可超过 100 gwei。那么在这个上下文中,“gwei”到底是什么?
以太坊作为一种加密货币,可以细分为 10^-18 的小数位。这些微小的单位被称为一个“wei”。十亿 wei,或一 giga-wei,是一个以太币的十亿分之一,或 10 亿 wei。(将 10^-18 乘以十亿等于 10^-9,或十亿分之一)。
“Gwei”是一个方便的计量单位,因为Gas价格恰好围绕每单位Gas的十亿分之一以太币波动。
Gas价格是你每单位Gas需要支付的 以太币 单位(而不是美元)。美元成本来自于将以太币转换为美元。
不要与波动的“Gas价格”混淆,Gas成本是每笔交易固定的。交易越复杂,Gas成本越高。例如,以太坊转账始终需要 21,000 Gas。转账 ERC20 代币通常大约需要 50,000 Gas。
Gas可以概念化为“计算单位”或非常粗略地说,是假设 CPU 上的一个时钟周期。
(21,000 Gas) $\times$ (Gas价格(单位:gwei)) $\times$ (以太币价格(单位:美元)) / (10 亿以规范化 gwei)
在撰写本文时,以太币的价格约为 $1,600,Gas价格为 22 gwei,根据 etherscan,以太币转移需要 21,000 Gas。将这些相乘,以太币转移的Gas成本为 74 美分。
21,000 Gas x (以太币单位 / Gas) $\times$ (美元 / 以太币单位)。
“Gas”项相互抵消,“以太币单位”也相互抵消,因此我们的最终交易以美元计价。
以太坊将每个区块限制为仅使用 3000 万Gas。将其除以 21,000,这意味着每个区块最多可以进行 1,428 次以太币转移。如果超过 1,428 人想要进行转移,他们将不得不等待或支付更高的Gas价格。请记住,他们无法直接更改转移的 21,000 成本或以太币价格。Gas价格是可自由选择的,交易者可以支付他们选择的任何高价,但为了他们的交易能够被包含,他们必须支付高于其他交易者的价格。
由于区块空间有限,存在供需现象。如果想要发送交易的人数超过以太坊的空间,那么最有动机的买家必须高出其他交易者的出价。
这些使用模式高度季节性。大部分交易发生在美国白天,因此在他们的白天时间,价格通常较高。来自 ethereumgasprice.org 的这个 热力图 非常方便。
这是在撰写本文时拍摄的快照。本地时区为亚洲时间,因此在亚洲的夜间(美国白天),Gas价格更高。此外,请注意,周末的使用量较少。
在 etherscan Gas页面 中向下滚动,你会看到导致最多Gas消耗的智能合约。Gas消耗的模式遵循帕累托原则(80/20 法则),80% 的Gas消耗来自 20% 的生态系统。
在撰写本文时,与 Uniswap 相关的交易费用占网络的 10%。
以太坊烧掉大部分交易费用(矿工获得一小部分),因此这表明仅 Uniswap 在过去 24 小时内导致超过 400 个以太币被销毁。
我们的 Solidity Bootcamp 很彻底地教授Gas优化和定价。
最初发布于 2023年3月7日
- 原文链接: rareskills.io/post/conve...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!