10 怎么获取ERC1155一个address的全部token id

在钱包上支持ERC1155,只有账户地址的情况下没办法获取该地址所持有的token id,

获取token余额必须要知道account和tokneid,所以先要知道该账号有的tokenid

function balanceOf(address account, uint256 id) public view override returns (uint256) {
        require(account != address(0), "ERC1155: balance query for the zero address");
        return _balances[id][account];
    }

存储结构为mapping,没有数组,无法通过遍历获取

// Mapping from token ID to account balances
    mapping (uint256 => mapping(address => uint256)) private _balances;

有什么办法可以显示一个账号下的所有ERC1155 token

请先 登录 后评论

最佳答案 2021-07-02 09:59

自己搞合约的话,参照:https://github.com/0xcert/ethereum-erc721

请先 登录 后评论

其它 2 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
用户_11028
请先 登录 后评论
  • 4 关注
  • 0 收藏,3810 浏览
  • helloeth 提出于 2021-06-26 16:29