首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从NFT集合中获取所有所有者?

如何从NFT集合中获取所有所有者?
EN

Ethereum用户
提问于 2023-02-05 17:11:58
回答 3查看 214关注 0票数 1

如何提升NFT集合的所有当前所有者和每个人拥有的令牌id?

EN

回答 3

Ethereum用户

发布于 2023-02-06 07:11:48

所有其他的答案都给出了有效的建议。如果您对如何直接从智能契约进行查询感兴趣,可以利用ERC-721的S ownerOf方法。

这是一个基于web3JS的示例脚本:

代码语言:javascript
运行
复制
const Web3 = require('web3');
const url = 'https://fill-in-your-endpoint-url-here';
const web3 = new Web3(url);

var abi = [{ "inputs": [{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }], "name": "ownerOf", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }]
var contract = new web3.eth.Contract(abi, "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D");
var startingIndex = 0

async function getOwner(index) {
    try {
        result = await contract.methods.ownerOf(index).call()
        console.log("NFT index:" + index + "; Owner address:" + result)
        getOwner(index + 1)
    } catch (err) {
        console.log(err)
        console.log("Likely reache the end")
    }
}

getOwner(startingIndex)

若要使用它,请创建一个空文件夹。将此代码复制到空的javascript文件中,例如go.js。在第2行填写URL。(顺便说一句,链子是一个很好的RPC提供者,我们的开发人员计划免费提供300万个请求)。

跑:

代码语言:javascript
运行
复制
npm init    
npm install web3
node go

看看结果。

希望那有帮助,快乐的编码。

票数 3
EN

Ethereum用户

发布于 2023-02-05 17:46:25

您可以使用Moralis NFT获取集合的所有所有者。

下面是一个一步步的教程:https://docs.moralis.io/web3-data-api/evm/how-to-get-the-owners-of-an-nft-collection

这是一个你能得到的结果的例子。如果你有什么问题请告诉我!

代码语言:javascript
运行
复制
  "result": [
    {
      "token_address": "0xa186d739ca2b3022b966194004c6b01855d59571",
      "token_id": "692",
      "owner_of": "0xd1fa414bbd0b71292e097d18a9d5ccbb04806c31",
      "block_number": "15846571",
      "block_number_minted": "15846571",
      "token_hash": "22c43a90364cd3639c565470effc46db",
      "amount": "1",
      "contract_type": "ERC721",
      "name": "NFTPass",
      "symbol": "ATTPASS",
      "token_uri": "https://metadata.atticc.xyz/692",
      "metadata": "{\"attributes\":[{\"trait_type\":\"Name\",\"value\":\"Atticc Early Adopter Pass\"},{\"trait_type\":\"Category\",\"value\":\"Early Adopter Pass\"},{\"trait_type\":\"Number of Seats\",\"value\":\"5555\",\"display_type\":\"number\"},{\"trait_type\":\"Royalty\",\"value\":\"0\",\"display_type\":\"number\"}],\"image\":\"https://media.atticc.xyz/Pass692.webp\"}",
      "last_token_uri_sync": "2022-10-28T12:30:53.470Z",
      "last_metadata_sync": "2022-10-28T12:31:12.113Z",
      "minter_address": "0xd1fa414bbd0b71292e097d18a9d5ccbb04806c31"
    },
    {
      "token_address": "0xa186d739ca2b3022b966194004c6b01855d59571",
      "token_id": "691",
      "owner_of": "0x5e899294aa47ff846ca1f1bb096692deb0636ec0",
      "block_number": "15845243",
      "block_number_minted": "15845243",
      "token_hash": "37341fba448ccb6bcd2776aef50a69d2",
      "amount": "1",
      "contract_type": "ERC721",
      "name": "NFTPass",
      "symbol": "ATTPASS",
      "token_uri": "https://metadata.atticc.xyz/691",
      "metadata": "{\"attributes\":[{\"trait_type\":\"Name\",\"value\":\"Atticc Early Adopter Pass\"},{\"trait_type\":\"Category\",\"value\":\"Early Adopter Pass\"},{\"trait_type\":\"Number of Seats\",\"value\":\"5555\",\"display_type\":\"number\"},{\"trait_type\":\"Royalty\",\"value\":\"0\",\"display_type\":\"number\"}],\"image\":\"https://media.atticc.xyz/Pass691.webp\"}",
      "last_token_uri_sync": "2022-10-28T08:04:34.923Z",
      "last_metadata_sync": "2022-10-28T08:04:49.994Z",
      "minter_address": "0x42678905eb6fb9f0f3a1334cb23b9d393b53c138"
    }
]

信息披露:我在莫拉利斯工作

票数 2
EN

Ethereum用户

发布于 2023-02-05 17:35:39

这取决于我们现在谈论的NFT标准是什么。以及哪个区块链。但一般来说,如果我们谈论的是ETH、Solana、BNB或任何其他大型区块链,通常会有第三方工具/服务器可用于此。就像炼金术或者因弗拉。

如果您不想使用这样的服务,您可以自己查询块链节点。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/144319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档