财之道 - 分享付费文章

通过 GAS 排行搜寻新机会

生财有术 ·

通过GAS排行搜寻新机会

嘉应岛主2024年06月03日13:21

前天跟33357聊了,觉得这个挺有意思的,征询了他的意见分享给大家。觉得不错的,别忘记帮我点个赞~

通过https://etherscan.io/gastracker查看GAS消耗排名靠前的合约,可以获得一些新项目的一手信息,并且真实可靠。研究里面的数据可能获得一些新机会。

察觉

5月28日我发现了合约https://etherscan.io/address/0x299f9496781d6a469c838abd7dc7bb0351c54532的GAS异常,这个合约批量调用了https://etherscan.io/address/0x3edDc7ebC7db94f54b72D8Ed1F42cE6A527305bB的方法。但是这个合约没有开源,也不是任何标准合约中的一种,因此我看不懂为什么会有那么多调用。于是向群友询问,有人发给我了https://etherscan.io/address/0x30ae41d5f9988d359c733232c6c693c0e645c77e,这个合约可以将它封装成标准的ERC20,名字叫WrappedAyeAyeCoin,并在uniswap上有池子。我感觉很有意思,和当初的Random如出一辙,要好好研究。

解析

0x3edDc7ebC7db94f54b72D8Ed1F42cE6A527305bB这个合约部署在2015年8月20号,这么早也难怪会不支持ERC20。由于不开源我要对合约进行反编译,这里可以用到etherscan官方的工具。

但是反编译之后也很难一下子看懂,这里使用chatGPT就可以大概知道合约的功能和逻辑了

这个合约主要有以下三个逻辑,

  1. coins(address)获取地址余额

  2. sendCoin(address,uint256)发送token

3.5479f98b()每次调用获得1token,并且创建者地址减少1token,如果创建者地址没有token就不能获得。既然了解通过调用这个合约可以获得token,并且总量有限,那么我可以做一个最省GAS的合约来批量获取,然后再打包成WrappedAyeAyeCoin,最后在uniswap上交易。

编写

在solidity中使用汇编可以为自己活得GAS优势,我将批量领取中最繁杂的循环调用改成用汇编来写,能节省很多GAS。

我想把封装成WrappedAyeAyeCoin的步骤也在合约里完成,好在WrappedAyeAyeCoin的合约是开源的,可以很快地写完。

最后为了方便,还写了一个查看剩余可挖数量的函数。

发布

社交媒体上喊大家来用。最后效果不错,在3个小时内就烧掉了17个eth,直到所有token都被领完。我觉得干了一件不错的事情,写了一个有用的合约,唯一可惜的就是没有趁机收一点手续费。后来几天这个token价格也涨了几倍,通过我这个合约挖的人都能赚到。

总结

通过监视GAS消耗排名靠前的合约可以在项目早期找到一些机会,给别人开发一些好用的合约也是一条不错的路子。

知识星球

#无标签