Solidity
如何獲取 NFT 收藏持有者列表
我是這個 web3 世界的新手(但有後端技能的經驗)
我想啟動一個新的 Solidity 項目,該項目將 NFT 集合作為輸入並返回所有目前持有者的列表。
第一步的任何幫助都可能很棒!
您必須確保以可迭代的方式保存所有者,否則除非 NFT 集合實現具有一組所有者,否則您不能這樣做,但如果它是一個映射,並且大多數時候它會是,那麼將沒有辦法完成它。
正如 Julissa 所指出的,在 Solidity 中,這只有在 NFT 的所有者保存在合約中時才能實現。
但是,如果您希望讓 NFT 收藏的所有持有者脫鏈,那麼這相當容易。
Transfer
當 NFT 被轉移時,ERC-721 代幣會發出一個事件。因此,您可以遍歷所有Transfer
事件並跟踪哪個地址持有哪個 NFT。使用 web3.js
getPastEvents
函式,您可以獲取所有過去的Transfer
事件。這個函式的文件在這裡。