我正在开展一个项目,我需要验证令牌持有者在过去的某个日期拥有令牌,然后在那之后查找截至该日期的令牌余额。这可能吗?
这是一个问题,要求类似的东西,但不带日期参数。
谢谢!
答案 0 :(得分:0)
我认为最好的办法是重现所有关于特定人的智能合约历史记录。
您必须分析来自此地址的此智能合约的每次转接呼叫,以便重新创建其余额的演变。
持有令牌的智能合约遵循一个名为ERC20的协议,这意味着无论它是什么标记,它(理论上)都将起作用。
此外,交易还有一个时间戳,因此,如果您识别出改变了某人余额的每一个电话,您也可以对它们进行约会并进行真正的按时间顺序重现。
答案 1 :(得分:0)
您将无法在以太坊VM中执行此操作。至少,不容易或便宜。您需要将您感兴趣的历史记录存储在单独的搜索/数据库平台中。这就是http://etherscan.io的作用。
要构建数据,请使用event/log系统。在合同中包含事件声明:
event TokenBalance(address indexed _address, uint indexed _date, uint _balance);
从此处,收听合同上的事件(或者您可以检索日志历史记录)并将数据插入搜索系统。