参投ICO失败的原因竟然是Gas Limit=25200

最近币圈的ICO太火,有些项目在ico.info平台上几分钟就完成众筹,一些朋友纵然使出各种解数,还是抢不到。然后他们就开始使用以太坊钱包参投项目,安装钱包和参投的过程本来并不麻烦,比如之前写过的《图解:用MyEtherWallet钱包参与ICO》,但向众筹地址发送ETH时的Gas Limit和Gas Price两个参数最让人摸不清头脑。

最近唯链的ICO刚刚结束,我查了一下交易记录,由于Gas Limit填错的交易失败了不少,白白为矿工贡献了不少ETH。

到底这个Gas Limit和Gas Price是个什么鬼?

以前学过比特币发币操作的朋友,对于交易手续费(Transaction Fee)的概念是不陌生的,大多数钱包软件会自动算出一个比较合适的手续费供你选择,比如0.001BTC一般没问题。

但以太坊里非把交易手续费搞得异常复杂,多整出一个GAS术语来,有种脱裤子放屁的感觉,最后仍要落实到ETH的消耗上。在这件事情的设计上,感觉以太坊的创始人Vitalik Buterin比中本聪逊色不少,大多数事情保持简单通常是最好的。

不多扯了,这两个参数反正就是要换算成ETH,矿工们要进行PoW工作量证明,最后把这点手续费拿走。

类比时刻(借鉴了MyEtherWallet网站上的思路):

  • Gas直译天然气,翻译为燃料,类比汽油
  • Gas Limit相当你汽车上的油箱总容量,比如最多装50升
  • Gas Price相当于油价,比如每升6.18元

先来看Gas Limit

你参与ICO,发送ETH到众筹的合约地址,在比特币里相当于发起了一笔交易,在以太坊里相当于发起一份智能合约【块55】,矿工负责把这份合约加到区块链上,交易手续费相当于激励措施,让矿工干活更卖力。

Gas Limit就是你准备消耗的最大燃料数量,以太坊里的交易相当于程序代码,有不同类型,消耗的燃料数量也不一样,一开始无法准确估计,就设置了一个最大量,以免有些人操作失误钱包被掏空。

但麻烦来了,如果你提供了较少的燃料费,交易可能会失败,但燃料费不退。就像你加了50升的油非要跑到西藏去,结果半路汽油用光了,用了就用了,没人退给你油钱。油箱有个好处,可以加油继续跑,以太坊上的交易就没那么幸运了,合约代码已经执行了,执行过程需要许多步骤,刚走了2步,没油了,只能作废,想补Gas也来不及了,所以提前设置好Gas Limit很重要

如果ICO交易成功,手续费是按实际花掉的燃料计算的,多余没花掉的燃料,会以ETH的方式自动退回到你的钱包中。

举例:

Gas Limit:90000 Gas Price:100 Gwei (即 0.0000001 Ether) Gas Used:34867

先别管100 Gwei 那个奇怪符号,你设置了高高的90000最大量限制,实际上只用了34867,那么实际消耗的燃料费为

34867 * 0.0000001 Ether = 0.0034867 Ether

按当前1971元/ETH的价格计算,你交了大概6.8元的手续费。

我看了网上那些失败的交易,大多是因为设置了Gas Limit为25200(可能是看了哪篇参投权威教程吧?),这样白白浪费了0.00252 ETH,何必浪费这5元钱呢,还不如给我这文章打赏。

交易失败只损失手续费,参与ICO的大笔资金并不受影响。也就是说,你参投50ETH,假设失败,只扣掉0.00252ETH,50ETH丢不了。

我简单查了查那些成功的交易,Limit一般设置为90000,还有最高设置20万的也没问题,但不能太高,有些钱包软件可能会报错。

再来看Gas Price

意思是单位燃料的价格,我们熟悉的单位是Ether,最小计量单位是wei。这个计量单位(为了纪念一些名人)实在是太小了,官网上提供了一个很全的列表:

'wei': '1', 'kwei': '1000', 'ada': '1000', 'femtoether': '1000', 'mwei': '1000000', 'babbage': '1000000', 'picoether': '1000000', 'gwei': '1000000000', // 9个零 'shannon': '1000000000', 'nanoether': '1000000000', 'nano': '1000000000', 'szabo': '1000000000000', 'microether': '1000000000000', 'micro': '1000000000000', 'finney': '1000000000000000', 'milliether': '1000000000000000', 'milli': '1000000000000000', 'ether': '1000000000000000000', // 18个零 'kether': '1000000000000000000000', 'grand': '1000000000000000000000', 'einstein': '1000000000000000000000', 'mether': '1000000000000000000000000', 'gether': '1000000000000000000000000000', 'tether': '1000000000000000000000000000000'

刚才的100 Gwei现在知道意思了吧?1 Gwei相当于10^9 wei,那么

100 Gwei = 100 * 10^(-9) Ether

= 10^(-7) Ether

这个Gas Price也很重要,你给的价格越高,你的交易就越优先被矿工取走,就越早地被确认。你可以登录这个网站看看设置什么价格比较合适:

http://ethgasstation.info/

看出来了吧?网站上给出的最高价格为26Gwei,而参加ICO的朋友给出的价格高达100Gwei,为了抢上,真是够拼的。

小结:

  • 交易费按Gas(燃料)来计算
  • Gas Limit是最大使用的燃料数量,参投ICO的数值都比较大,90000是个参考值
  • Gas Price是愿意支付的燃料单价,价格越高,越早被矿工打包确认
  • wei是燃料的计量单位,太小,常用Gwei
  • 平常交易为20-30Gwei,参投ICO的人们都拼到了100Gwei
  • Gas Limit设置太小,交易可能会失败,此时交易费不退,但你参投的大额ETH不受影响
  • 实际交易费 = 实际使用燃料数量(Gas Used) * 燃料价格(Gas Price)

--- END ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2017-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序你好

区块链 - 区块链基础知识入门

621
来自专栏技术达人

区块链技术

区块链(Block chain)是一种分布式共享数据库(数据分布式储存和记录),利用去中心化和去信任方式集体维护一本数据薄的可靠性的技术方案。

1624
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–资产会计(162)-9 ABZU增价

4.5.3 ABZU增价 增价 一般被理解为对资产评估的后续更改(折旧冲销)。增价使固定资产的帐面值得以提高。当与基于帐面净值的折旧方法一起使用时,增价会提高...

3216
来自专栏不止思考

揭秘区块链的核心技术之「哈希与加密算法 」

大家都知道,区块链的关键技术组成主要为:P2P网络协议、共识机制、密码学技术、账户与存储模型。而这些技术中,又以 密码学与共识机制 这两点为最核心。那么今天我们...

702
来自专栏Crossin的编程教室

10分钟了解区块链编程

谈起这几年最热的技术,一定少不了区块链。按说新技术的出现本是稀松平常的事情,但区块链的出现和发展,却有那么一点让人不淡定:

842
来自专栏区块链大本营

偷天换日合约易主,地址变脸移花接木——底层函数误用漏洞 | 漏洞分析连载之四

引子:阵有纵横,天衡为梁,地轴为柱。梁柱以精兵为之,故观其阵,则知精兵之所有。共战他敌时,频更其阵,暗中抽换其精兵,或竟代其为梁柱,势成阵塌,遂兼其兵。并此敌以...

824
来自专栏IMWeb前端团队

和弦推导逻辑简析与实现,以及Raphael库试用

? 诚然,吉他有上千个和弦。世界上最厉害的吉他大师,也无法一眼辨识出所有的和弦。 更多时候,我们熟记几个基本的和弦,然后通过一定的计算法则,去推导其他的和弦。...

18010
来自专栏比原链

Derek解读Bytom源码-创世区块

Gitee地址:https://gitee.com/BytomBlockchain/bytom

502
来自专栏区块链入门

【区块链安全】技术小白如何做到让一行代码值64亿元?

2018年4月24日,又一件突发性事件引爆了币圈!刚刚发行了才两个月的“美链 Beauty Chain” (简称BEC)在受到黑客的攻击的影响下直接归零了!黑客...

874
来自专栏企鹅号快讯

《以太坊白皮书》笔记(1)——比特币介绍

#1 State Transaction System State 在 Bitcoin 当中,"state" 代表了所有被挖出且没有被消费的货币的集合 (UT...

2027

扫描关注云+社区