随着DeFi热潮的袭来,以太坊的矿工费也达到了历史新高,之前转账几分钱的时代已经远去,随之而来的是动辄上百元的交易费用。 很明显,高昂的矿工费使你忍不住点进来,妄图通过学习科普来节省矿工费。 不存在的,这篇文章顶多能让你花钱花的更明白点。
“以太坊是一个分布式的平台,可以运行智能合约:应用程序按照既定程序运行,不会出现停机,审查,欺诈或第三方干扰的可能性。这些应用程序运行在定制构建的区块链上,这是一个功能强大的全球共享基础架构,可以通过数字流转来代表财产的所有权。” 以太坊为什么要有矿工费? 大家可以把太坊看作是一个庞大的计算机,每天会有纷繁的计算发生在以太坊上,但是大家都知道区块链上的资源是稀缺的,为了避免无用的操作占用链上计算资源,所以以太坊最初的设计就是一个有偿使用的平台,用户每一步的操作都需要付出相应的矿工费,这样既避免了主链遭受垃圾操作的攻击,又可以把费用奖励给维护区块链的矿工们,一举两得。 以太坊矿工费是怎么计算的? 提到矿工费,很多人会脱口而出,就是Gas呗!目前的确是有很多人将Gas和矿工费直接画等号来使用的。但严格意义来说,这种定义是不准确的。 在以太坊区块链中,Gas是衡量计算量的特殊单位,它用来测量一个操作或一组操作需要执行多少工作量。比如,计算一个Keccak256加密哈希函数,每次计算哈希时需要30个Gas。 因此Gas不是币,不是钱,不是费用,所以和矿工费并不是一个东西。 那Gas和矿工费有什么关系呢?看下面这一条公式: 矿工费= Gas Price * Gas Used 用人话说,就是 : 矿工费=Gas 价格*Gas 用量 下面我们就来拆开讲一下公式里的一些概念。 Gas Price 指你愿意为单位Gas支付多少以太坊,这是最吸引矿工的数字,也是决定你的交易完成快慢的决定性因素,因为矿工为了获得更多的矿工费,总是会优先为出价更高的交易服务。 所以在转账前一定要设置合理的 Gas Price,过低会长时间得不到处理,或者被移除交易,导致转账失败。 Gas Used 是指你的这次操作消耗了多少Gas,但在日常转账时,我们通常见不到Gas Used在哪里设置,这是因为只有在转账完成后,我们才能看到这笔交易具体使用了多少Gas。 我们在转帐前可以设置的叫做Gas Limit,即Gas 限额,意思是你愿意为这笔操作最多使用多少Gas,Gas Limit 和 Gas Used的特别像你点外卖,你预计自己可以吃多少和你实际吃多少的关系。 设置完Gas Limit进行转账后,会有以下几种情况: 1、Gas Limit = Gas Used,即预设的 Gas 和用掉的 Gas 完全一致。 2、Gas Limit > Gas Used,即预设的Gas没有完全消耗完。 3、Gas Limit < Gas Used,即预设的Gas不够实际使用的。 第一种,交易成功。 第二种,交易成功。还有个好消息是,没有消耗完的Gas会以ETH的形式返回,并不会造成损失。 第三种,交易失败。还有个坏消息是,已经消耗的Gas不会退回,损失惨重。 Gas Price决定你的交易走多快(多快被矿工打包), Gas Limit 决定你的交易可以走多远(可以运行多么复杂的合约)。 基础科普完了,你们大大的脑袋里肯定有更大的疑惑,继续往下看,我猜你的问题就在下面。 怎样合理设置Gas Price 和 Gas Limit? 如果你是一个普通用户,那么你不需要考虑这些问题。譬如比特派这样的钱包,在转账时会根据当前网络状态帮你自动计算推荐矿工费,为你设置当前最合理的Gas Price 和 Gas Limit。 如果你是一个不甘心做普通用户的普通用户,这里可以给你一些扩展网站,可以琢磨下,合理的Gas Price 和 Gas Limit是怎样根据大数据推算出来的https://ethgasstation.info/index.php。另外自定义Gas Price 和 Gas Limit的功能通常都在高级选项里。 怎样合理降低矿工费? 前面已经学到了, 设置的矿工费= 设置Gas Price * 设置Gas Limit 虽然把Gas Price 和 Gas Limit 任意一个数值降低你的矿工费的值都会降低,但我深切的叮嘱你,不要随意降低 Gas Limit 。正确降低矿工费的方法应该是调低 Gas Price。 降低 Gas Limit不会给你省钱,只会徒增你交易失败的概率,同时你也知道,交易失败后的矿工费是不会退还的,所以千万不要随意降低 Gas Limit 为什么交易在区块链上会失败,提示 Out Of Gas? Out Of Gas 就是指上面的第三种情况,Gas Limit < Gas Used,即预设的Gas不够实际使用的,这种情况在普通转账时几乎不会发生,通常发生在与复杂只能合约交互的情况下 通常来说,在执行复杂合约时,合约应该向执行者反馈此次操作大约需要多少Gas,然后钱包得到此反馈后会进行设置,因此,此类失败的原因通常有两个: 1、智能合约不够健全,项目方太应付,没有给返回 Gas Limit 值 2、你用的钱包不太聪明的样子,没看懂对方返回的 Gas Limit 值 解决办法: 1、手动给 Gas Limit 调高点,通常200000—300000就可以应付当前大多数的DeFi合约交易。2、换比特派。 设置 Gas Limit 是不是越高越好? 前面学到了,当Gas Limit > Gas Used 时,即预设的Gas没有完全消耗完,多设置的的部分Gas还会返还给我们。
以太坊每个区块可以处理的交易也是有限的,因此矿工需要在有限的交易数中获得更高的收益,而过高的Gas Limit在矿工眼中属于画大饼的行为,部分的挖矿策略中会后置处理Gas Limit过高的交易。 此外,Gas Limit的存在可以有效的防止一些合约死循环恶意消费你的矿工费,如果你设置了过高的Gas Limit,恰巧又碰到了有问题的合约,那么你Gas将会一直消耗下去,直到设置的GasLimit将会被消耗光,又是损失惨重的一天。 设置矿工费时候出现的Gwei是什么? 以太坊的最小单位是 Wei。1 个以太币 = 10 的 18 次方 Wei,此外,以太坊还有其他的单位: Kwei(Babbage)= 10 的 3 次方 Wei Mwei(Lovelace)= 10 的 6 次方 Wei Gwei(Shannon)= 10 的 9 次方 Wei MicroEther(Szabo)= 10 的 12 次方 Wei MilliEther(Finney)= 10 的 15 次方 Wei Ether = 10 的 18 次方 Wei 括号里的部分是每个单位的别名。 在以上这些单位里,通常计算 Gas 价格时使用的都是 GWei。 以上 矿工费真不是钱包收的!矿工费真不是钱包收的!矿工费真不是钱包收的! 你们的派派 2020年9月14日 —- 编译者/作者:比特派钱包 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
小科普:以太坊矿工费是什么?怎样避免交易失败?
2020-09-14 比特派钱包 来源:区块链网络
LOADING...
相关阅读:
- Chainlink开始为Crypto.com的DeFi钱包提供数据2020-09-14
- 乐哥说币9/14ETH晚间策略2020-09-14
- 或许在一个月前,你已经丢了一次币2020-09-14
- DEFI将在XX重演,这一次轮到币安智能链,一起学习 | 昨天已完成对AMPL和2020-09-14
- 晚间ETH行情分析及操作建议以太坊的后市何去何从?2020-09-14