智能合约执行过程太长的问题

一个锁仓生息的合约,用户每天转入eth或代币,24点调用合约里面计算分红的方法,这个方法首先计算每个人应得的分红数量,然后for循环改变mapping类型对应address中的balance值,如果用户特别大的话,这个方法执行完,又没有可能gas limit太大了,如果有这种情况怎么处理比较好呢,多谢?

请先 登录 后评论

最佳答案 2020-08-17 09:38

很常见的一个问题,需要修改分红计算策略(和产品一起讨论), 通常有两个方式:

  1. 转化为某个公共变量的计算, 比如: 仅计算单位币应该分红多少。

  2. 转化为各自用户触发自己的计算逻辑

以上是推荐的方式, 下面是不推荐的方式(仅在无法使用以上方式的情况下使用):通过传入参数,分段计算。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,2907 浏览
  • 王二小 提出于 2020-08-16 17:00