Gas Limit 指的是,你愿意为这笔操作支付的 Gas 数量上限。默认情况下,Gas Limit 是 21000 Gas。一般情况下,我们也不需要调整 Gas Limit 的数值,但涉及到复杂一些的操作,比如在以太坊区块链上“刻字”,就要调整 Gas Limit 上限了,否则活还没干完就已经消耗完了 Gas 数量。 图:知矿大学“爱在七夕,链上有你”活动中,某个上链内容实际消耗的 Gas 数量为 22632 Gas,所以 Gas Limit 在事先调整到了 42000 Gas。 那以太坊系统为什么要设置 Gas Limit 这个参数呢?一方面,是为了防止某些有 Bug 的程序陷入死循环(消耗完 Gas 数量后就自动停止了),另外一方面是为了防止某笔操作耗尽账户上的所有 ETH。 明白了这三个概念,我们再来看下以太坊的矿工费计算公式: 矿工费 = 实际消耗的 Gas 数量 * Gas Price 其中,「实际消耗的 Gas 数量」小于或等于 Gas Limit,这点很容易理解。 上文提到过,每个运算步骤需要消耗多少 Gas,以太坊系统里都有所规定,所以「实际消耗的 Gas 数量」我们无法调整,我们能调整的是「Gas Price」。 以太坊矿工和比特币矿工一样,都是趋利的,谁给的 Gas Price 高,就优先给谁打包确认。因此,遇到特别紧急、需要马上确认的情况,我们需要给更高的 Gas Price,从而让矿工第一时间给我们打包确认;而在不紧急的情况下,我们则可以把 Gas Price 调低一些,以节省不必要的矿工费开支。 现在,很多钱包都很“智能”,通过对当前网络拥堵情况的分析,告诉你 Gas Price 的推荐值。当然,你也可以自己手动调整 Gas Price,钱包会告诉你调整后预计需要多久才能被矿工打包。 除了钱包推荐的 Gas Price 数值,还可以参考 Gas Now 这个网址给出的数值: 网址:https://gasnow.sparkpool.com 如上图,截图的这一刻,如果想在 15 秒内(即下一个区块)被矿工确认,可以将 Gas Price 设置为 32 Gwei,如果不着急,可以选择“缓慢”模式,设置为 16 Gwei。通常情况下,选择“一般”模式推荐的矿工费即可。 Gas Now 是当前最大的以太坊矿池——星火矿池,根据矿池节点交易池中实时交易的 Gas Price 分布给出的推荐值,其数据更具实时性、准确性,更有参考价值。近期,imToken、麦子钱包、MYKEY、TokenPocket、Trust Wallet 等钱包已经宣布使用 Gas Now 的服务。 (责任编辑:admin) |