如何提升NFT集合的所有当前所有者和每个人拥有的令牌id?
发布于 2023-02-06 07:11:48
所有其他的答案都给出了有效的建议。如果您对如何直接从智能契约进行查询感兴趣,可以利用ERC-721的S ownerOf方法。
这是一个基于web3JS的示例脚本:
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万个请求)。
跑:
npm init
npm install web3
node go看看结果。
希望那有帮助,快乐的编码。
发布于 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
这是一个你能得到的结果的例子。如果你有什么问题请告诉我!
"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"
}
]信息披露:我在莫拉利斯工作
发布于 2023-02-05 17:35:39
这取决于我们现在谈论的NFT标准是什么。以及哪个区块链。但一般来说,如果我们谈论的是ETH、Solana、BNB或任何其他大型区块链,通常会有第三方工具/服务器可用于此。就像炼金术或者因弗拉。
如果您不想使用这样的服务,您可以自己查询块链节点。
https://ethereum.stackexchange.com/questions/144319
复制相似问题