如何查询Flow区块链上指定账户持有的全部NFT?
Flow链账户NFT查询相关问题解答
能否获取Flow区块链上某一账户持有的所有NFT列表?
可以实现,但需要遵循Flow的权限规则:
- 首先正如你了解的,官方设计逻辑为:
...Cadence会将每个NFT表示为资源对象,由用户存储在自己的账户中...
- 你需要编写Cadence查询脚本,通过目标账户的公共存储入口,访问对应NFT项目公开的集合接口,就能拉取到该账户下该项目的全部NFT元数据及ID列表。
- 注意目前Flow没有原生的全局查询接口可以一次性拉取某账户名下所有不同项目的NFT,你需要按NFT项目逐个对接合约接口分别查询。
是否要求对应账户必须拥有专用的NFT集合,才允许其他用户查看其名下的NFT?
这个要求是存在的,属于Flow NFT标准的默认设计:
- 任何符合Flow官方NFT标准的项目,用户首次接收该项目NFT之前,必须先在自己账户内初始化该项目专属的NFT集合,初始化操作会默认将集合的只读权限公开到公共存储路径,其他用户就可以通过公共路径查询持有情况。
- 如果用户没有初始化某项目的NFT集合,根本无法接收该项目的NFT,自然也不存在对应的持有记录。
- 特殊情况下如果用户主动修改了集合的公共权限,关闭了只读权限,那其他用户就无法查询该账户下对应项目的NFT持有信息了。
内容的提问来源于stack exchange,提问作者Peter Holzer
相关产品推荐
相关产品推荐

