首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >坚固/虚无更便宜的天然气替代品

坚固/虚无更便宜的天然气替代品
EN

Stack Overflow用户
提问于 2022-01-20 16:07:28
回答 1查看 243关注 0票数 0

我正在学习“稳固”/“以太”,我遇到了这样的情况:

我有一个映射( address =>单元),它跟踪每个地址支付我的合同的金额,并且在某个时候,我必须计算一个用户贡献了多少%的总池。(例如,如果总池为100 ether,用户贡献了10 ether,则他贡献了总池的10% )。

为了做到这一点,我需要访问整个池。我的第一反应是拥有一个变量totalPool,它将跟踪总值,因此每次一个地址支付合同时,totalPool += msg.value;然而,在学习EVM时,我一直在阅读在存储上操作是多么昂贵。

我的问题是,在每次一个地址支付合约时,有甚麽比煤气更便宜,可以记录总池,并在记忆体上运作,又或每次我需要计算比率供款时,便计算总池?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-20 21:52:03

根据我对您的用例的了解,除非您有一种简单的计算总池的方法,否则您的第一本能可能是最简单和最好的解决方案。您必须记住,在坚实的环境中,不可能循环遍历映射的元素来总结它们。因此,除非可以使用存储的其他变量来计算池的大小,否则总池变量很可能是跟踪池大小的最佳方法。

我强烈建议您测试尽可能多的实现。ethers.js和web3.js库都有允许您测试执行事务需要多少气体的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70789560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档