这是我第一次在Ethereum堆栈交换上发表文章。我在过去六年左右一直是一名软件工程师,最近开始朝着区块链开发的方向发展。作为一名开发人员,我强烈认为最好的学习方法就是动手,所以我决定做一些可靠的项目。我非常喜欢这些项目来帮助区块链社区,因为我对Web3.0非常有热情,我的第一个项目是一个测试网络ETH池(这个想法是在我注意到许多水龙头已经干涸或滴下少量的测试网ETH时产生的,这使得在测试项目时很难支付煤气费)。我把它作为S3发行版上传到这个领域的https://testnet-ethpool.xyz/上,任何有过量测试网的C0(在任何测试网上)都可以捐赠其中的一部分(每个周期的退出限制为1个ETH,一个周期应该是1周)。
合同的回购是这里
正如我前面提到的,我对区块链开发世界非常陌生,并且可能仍然有许多源于我作为一个普通的web开发人员的坏习惯,所以我将非常高兴地获得一些关于我可以做得更好的技巧和建议。如果这份合同效率低下,性价比很低,或者如果它容易受到攻击,我也非常希望知道。
非常感谢,并希望成为这个社区的一员,新年快乐!
发布于 2022-01-02 15:26:43
我看过你的合同,这里有一些反馈:
address[] public addrList,而是使其成为一个双数组,其中第一个索引是划时代的ID,第二个索引是地址(与现在的地址相同)。然后,在重置时代时,将一个新的空address[] public addrList插入到双数组中。并且始终考虑双数组的最后一个元素是当前的addrList。这样,您就可以有效地忽略前面的值,而不必对它们进行迭代。resetInterval时间过去时才让它声明。这样,您也不需要手动重置时代。祝好运
https://ethereum.stackexchange.com/questions/117812
复制相似问题