比特帝国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

比特帝国 首页 以太坊 ETH教程 查看内容

ICO直投技巧(提前量,Gas Price&Gas Limit设置)

2017-8-22 14:48| 发布者: admin| 查看: 2752| 评论: 0|原作者: 大硕简书

本篇将讲述参与以太坊ICO众筹时,提前量的把握和Gas Price&Gas Limit的设置。

Gas Price&Gas Limit的设置

Gas Price 燃料价格

Gas Limit 燃料供给上限

Gas Price * Gas Limit = 最高交易成本

要想成功参投基于以太坊智能合约的ICO,你就必须了解Gas Price和Gas Limit这两个参数的设置方法和技巧。

以太坊中的Gas被称为燃料,它使用ETH来计价。我们平时所说的Gas Price燃料价格,就是指一个Gas燃料要花费多少ETH。ETH是个很大的单位,所以一般使用更小的单位Gwei

以太坊货币单位Gwei:

1 ETH = 1000000000 Gwei

1 ETH = 十亿Gwei

1 Gwei = 0.000000001ETH

Gas 燃料价格是浮动的,由你来主动出价,但如果价格太低,矿工们就会拒绝帮你打包和转发交易。但是如果设置太高,众筹成本又会增加。这两个数值如果设置错误,你发出去的ETH,不但无法到达收款钱包,还会白白浪费燃料费。(无论交易是否成功,都会扣除燃料费。)

关于Gas Price燃料价格的设定,目前推荐50Gwei至200Gwei。根据项目热度和你的投资量来决定这个数值,一般情况下50Gwei或100Gwei就足够了。Gas Price超过一定价格后,再增加就没多大意义了。

更关键的是Gas Limit燃料供给上限,这个数值一定要设置的高一些,而且多出来的部分会退回的。


交易发出后,会向全网广播,途径很多个矿工节点,这些节点又会帮你转发给下一个节点,直到你的交易被矿工打包进区块中。每一次转发都会消耗一部分Gas,如果被打包之前燃料耗尽,达到Gas Limit设置的上限,那这交易就一定会失败。ETH会退回,但燃料费还是要扣除。


你可能会说,只要能投中,让我出1个ETH也行。但这是不可能的,因为影响你投中的因素太多了。

如果想要百分百投中,你只有一个唯一的办法,就是雇佣大矿工,让他们优先打包从你钱包中发出的交易。但你仍然无法保证下一个出块的就一定是你所雇佣的那个矿工。但由于一个区块中能容纳的交易数量有限,容纳不下的交易就只能放到下一个区块中了。只要你雇佣的矿工算力足够大,在众筹结束前的一批区块中,只要有一个是他挖出来的,就一定能帮你打包交易,让你投中。但大部分人是不可能去雇佣大矿工的,所以我们来讲讲其他提高命中率的方法。

提前发送交易

ICO众筹的开始时间有两种,一种是基于区块高度,一种是基于区块时间戳(你的交易被哪个区块打包,就按照那个区块时间戳为准)。如果预计参投的ICO项目,会发生争抢,就可以提前发送交易来提高命中率。

当前以太坊的平均出块时间是20秒左右,所以提前量最好控制在20秒之内。这个时间可以从ethstats.net查到。




针对基于区块高度作为开始时间的ICO项目,提前1个区块将交易发送出去,确保在新区块被挖到前,交易已经被广播到全网,让所有矿工都收到你的交易。这样你的交易才会被出块矿工打包进去,这点比支付大额矿工费还要重要。即使你支付了很多的矿工费,如果矿工在打包前没有收到你的交易,那交易就会延后,甚至参投失败。所以充分广播,也是参投成功的关键。充分广播只有两种办法,一种是增加连接的节点数量,第二种是提前发送交易。常用imtoken钱包没办法增加节点数量,所以我们只讲第二种情况。

在参投时打开ethstats.net网站,上面可以看到当前区块高度,这个网站是实时的,当距离还差一个区块时,你就可以提前发送交易了(以图为例就是在4170699区块被挖出后,立刻发送交易)。但如果提前太多,新的区块还没有出来,你的交易就有可能被打包入上一个区块(由于ICO还没开始),交易就会失败。所以要控制好这个时间,不能提前太多,提前1个区块就好。


基于区块时间戳作为开始方式的ICO项目,原理和上面差不多,只是时间更精确。比如项目方说8点开始,那你的交易一定要确保交易是在8点以后被打包的才能投中。单个交易并没有记录时间,但区块打包时会包含时间戳。每个区块平均间隔是20秒,但极端情况可能是7秒,或者38秒。如果提前太早把交易发送出去,被7秒的区块打包了,但时间还没到8点,那就会失败(下图4173214区块是在19:59:54被挖到的)。准时发送也会因为网络拥堵而抢不到。所以会比基于区块高度的情况更复杂。即使只提前10秒,仍然可能会被提前打包,造成失败。但由于网络延迟和网络拥堵,广播全网的时间就会延长,所以10-15秒是推荐数值。


以下数值是分析了几个ICO的成功记录得出的结果,可以作为参考。

Gas Price: 50Gwei - 200Gwei

Gas Limit: 200000 

Gas Limit 必须做下更正,之前的数值是600000 - 1000000 实在太高了没必要,现在调整到200000。

以下内容为更新后加入:


特别说明一下,在Vechain(唯链)这个火爆的ICO项目中,第1个区块中包含了79个交易,Gas Price设置都在300Gwei - 10000 Gwei之间,有很多人都给到了2000,5000,1000+ 的Gas Price也是非常多,这种特殊情况说明,项目的投资人十分看好该项目,也势在必得。在这种情况下,更像投暗标,所有人都不知道对方的出价,所以我能给出的建议就是拿出你能承受的最大Gas Price,并且投不中也不心疼。但千万要记得设置好Gas Limit。Vechain很多交易虽然投中了,但非常危险, Gas Limit设置是90000,而最后打包时就已经用掉了86156。再消耗3844的Gas,那些交易就全部失败,即使出到10000 Gwei,也一样投不中。

Vechain这个案例中,如果设置的Gas Price 是100Gwei,也不是投不中的,因为它限额,所以大家机会都比较平均。只不过100Gwei的交易只能排到第16个区块后才会有可能被打包(从区块4173215开始计算,直到4173231才出现Gas Price为100Gwei的交易),而Vechain的总区块数量是110个左右(从区块4173215 到 区块4173325),也就是说即使设置的Gas Price低一些,也还是有机会投中的。但是如果你十分看好某个ICO项目,就别太在意矿工费,这点钱值得花。

特别感谢007战友“眼睛歪了”与我的讨论。也促成我更新这篇文章,把Vechain的这种火热项目况分析加进来。




本篇已经介绍了,提前时间量的选定方法和原理,但由于网络拥堵情况的不确定性,推荐的提前量并不保证成功。如果大家都提前发送,那网络拥堵会更加严重,所以还是需要根据你自己的经验来选定。(对于火爆的ICO项目,有个推荐的保守提前量总比没有好:)

以区块高度作为开始条件的ICO:1个区块

以准确时间作为开始条件的ICO:10-15秒

还有一点要说明,imtoken虽然是本地钱包,但广播交易是需要把签名后的交易数据发送到imtoken的服务器,然后再由服务器进行以太坊广播。由于imtoken节点做了相应优化,正常情况下imtoken转账速度比你自己用本地全节点钱包(geth/parity)还快。但如果国内很多用户同一时间都用imtoken参与众筹,就会在imtoken服务器中发生拥堵,造成瓶颈。所以也可以尝试使用MyEtherWallet来参与众筹,或者直接使用 geth/parity 以太坊全节点钱包。

--大硕2017/8/21

Gas Limit 必须做下更正,之前的数值是600000 - 1000000 实在太高了没必要,现在调整到200000。

Gas Limit 必须做下更正,之前的数值是600000 - 1000000 实在太高了没必要,现在调整到200000。

Gas Limit 必须做下更正,之前的数值是600000 - 1000000 实在太高了没必要,现在调整到200000。



作者:大硕简书
链接:http://www.jianshu.com/p/7308f0b10016
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
比特帝国区块链交易所
返回顶部