以太坊太堵交易费过高?教你一招合理设置矿工费
圈内有个不算段子的段子:要想知道现在是不是牛市就去看看以太坊网络堵不堵。但尴尬的是,熊市依然遥遥无期,以太坊网络却堵得要死。转个账,一上午都在等待打包,等不及还不能调高矿工费重新转账。
不仅交易转账慢的要死,矿工费也成倍提升,据说某小伙伴急于快速转账花了1.5ETH矿工费。
记得去年12月份以太坊拥堵是因为以太猫事件,当时因为这种基于以太坊的宠物游戏,把以太坊搞垮了,最后不得不让小猫的出生速度降下来,才缓解了整个网络的拥堵。
那这次以太坊为什么会这么拥堵呢?
究其因根源是激烈的交易所竞争,创新挖矿等造成了大量的ERC20 Token小额订单出现,使得以太坊网络的持续拥堵,网络拥堵直接结果就是矿工费的提升。
可以说现在以太坊这条公路,平常开开车还行,一旦遇到早晚高峰,那可就惨了,堵在路上动都动不了。
加上以太坊的共识算法是POW,这种算法最大的弊端我们以前也提过,就是网络中的所有节点需要去逐步验证每一笔交易。
如果网络中有50笔交易,那么所有的节点就要去验证这50笔的信息。随着交易笔数一增多,就需要更多的时间去验证,这样就增加了转账到账的时间。
更关键得是,以太坊中的每个区块能承载的转账信息是有限的,当突然涌入这么多转账的时候,很多转账都上不了这辆叫“区块”的车,只能继续等下辆了,甚至是下N辆,于是网络就拥堵了。
至于手续费提高,也是必然的,网络中每一位矿工都是逐利的,谁给的手续费多,矿工就选择让谁先上这辆名为“区块”的车。
这就跟礼拜一上班,天气不好下大雨,在没有实现定价的前提下,出租车司机更愿意载那位车费给的高的乘客。而为了节省路上的时间,还需选择绕开最堵的路线。
因此遇上以太坊拥堵,我们改怎么办呢?
1、查询打包情况以及网络拥堵情况,提前研究好线路和时间;
2、合理设置矿工费;
3、至于第三点就是治本了,以太坊扩容,我们今天先不研究这个。
1.及时查询打包情况以及网络拥堵情况
在以太坊网络遇到拥堵的时候,我们最关心的问题就是自己的转账什么时候能够打包成功,有时候看到转账一直处于待打包的状态,心里就会非常着急却很无奈。
那么如何才能知道网络状况呢?
通过Ethereum Pending Transactions Queue这个网站,就可以看到当前整个网络中转账打包及拥堵的情况啦,大家都称它为区块链里面的快递查询站,但我觉得它更像是高德地图和快递查询站结合体。既可以查看打包情况,有没有出库,又可以看目前网络堵不堵。
网址:https://etherscan.io/chart/pendingtx
切记在网络拥堵的时候重复转账,除非确认了该笔转账交易失败,否则不要重复发送交易。
以太坊网络等待转账数
当下以太坊网络的交易处理速度大约每秒20笔,一天大约可以处理172万笔交易。所以除非矿工费设置的十分低,一般不会出现长时间未到账的情况。
2.合理设置矿工费
另一个大家最关心的问题应该是需要花费多少Gas费用,才能保证自己的转账及时到账且不浪费矿工费。
其实,转账是否会被矿工及时打包,完全取决于支付的矿工费是否足够高。也就是谁的票价高,谁就先上这辆车。但我们又不想出太高,又想及时走,怎么办,这又不是竞拍,还能知道上一个价格?
哈哈哈,当然可以哦!
https://www.etherchain.org/tools/gasPriceOracle,在这个网站上,除了可以预估出比较合理的矿工费用,还可以根据你想要的到账时间,来设置矿工费。
网址:
https://www.etherchain.org/tools/gasPriceOracle
有了上面这个神奇就简单多了,我们只要知道了前面一班车能上车的票价是多少,就可以比较准确的预测到当下这辆车的优先上车票价了。
至于以太坊网络里的票价计算是这样的:
交易需要消费Gas,而Gas是用ETH来支付的,计算方式为:Gas Limit(限制)* Gas Price(价格)。
Gas Limit是用户愿意为执行某个操作或确认交易支付的最大Gas量,Gas Price是每个量需要花费的钱。
Gas Price的单位是Gwei,1ETH=1e9Gwei(10的9次方)。
以太坊为防止某些错误或者恶意的智能合约消耗掉用户大量手续费,所以对默认Gas上限做了限制。但是有些合约的确会消耗大量的Gas,所以需要手动设置上限。
简单点说,Gas Limit 相当于你要去几公里的路,而Gas Price相当于每公里的价钱。
举个例子,在一笔转账中,设定的Gas Limit是90558,Gas Price是41Gwei,根据上述公式,我们就可以算出执行这个智能合约,需要花费的Gas是:1e-9Gwei *90558*41=0.003712878个ETH。
这样我们就可以轻松算出交易费用啦!