如何在 solidity 中调用 1000 次函数限制?

How to make a function limitation call 1000 times in solidity?

我想做一个24小时只允许用户调用1000次的函数,逻辑上可行吧?但是如何让它稳固地发生呢?是否可以设置目标国家时区?请指教,万分感谢!

你在你的存储中添加一个计数器并在每次调用时增加它,并在你的函数中添加一个 require 来检查计数器是否小于 1000。

Counters.Counter private counter; // default is 0

function foo() public {
  require(counter.current() <= 1000, "Message");
  counter.increase()
  ...
}

然后您需要每 24 小时重新启动一次计数器,您可以手动进行,也可以使用 Chainlink Keepers(免费)或 OpenZeppelin defender(免费)