ERC-721:如何确定地址拥有哪些令牌



如果您使用的是ERC-721标准,那么确定地址在DAPP中拥有哪些令牌的首选方法是什么。

目前,我请求所有的Transfer Events获取一个地址,并基本上将它们分类为传入和传出,然后使用它来确定用户拥有哪些令牌。

有没有更简单的方法我错过了。

Transfer事件也可能由不是ERC-721令牌的合约或您可能不感兴趣的一些非名称令牌发出。

实际的代币所有权存储在代币合约中(而不是DAPP合约(。

因此,如果您想自动跟踪地址当前拥有的所有令牌(以及一些误报(,那么您当前的方法非常简单。

注意:这也类似于Etherscan的方法,它监听所有Transfer事件日志,如果发送方合约列在他们的令牌数据库中,他们会使用事件日志数据更新发送方和接收方的余额


如果您愿意/能够创建和维护您想要遵循的令牌列表,我建议使用一种更简单的方法:

  1. 定义以下代币合约地址的列表(例如ECF或RARI(
  2. 对于这些令牌合约中的每一个,调用balanceOf(<your_dapp_address>),返回<your_dapp_address>当前拥有的令牌数量

最新更新