区块链中文技术社区

Solana基础 - 如何获得 NFT 的所有者

如果你拥有 NFT 的铸币密钥,你可以通过偷看该铸币密钥的最大代币账户来找到其当前所有者。

请记住,NFT 的供应量为 1,并且它们是不可分割的,这意味着在任何时间点只有一个代币账户会持有该代币,而该铸币密钥的所有其他代币账户的余额为 0。

一旦确定了最大的代币账户,我们就可以检索其所有者。

import { Connection, PublicKey } from "@solana/web3.js";

(async () => {
  const connection = new Connection("https://api.mainnet-beta.solana.com");
  const tokenMint = "9ARngHhVaCtH5JFieRdSS5Y8cdZk2TMF4tfGSWFB9iSK";

  const largestAccounts = await connection.getTokenLargestAccounts(
    new PublicKey(tokenMint),
  );
  const largestAccountInfo = await connection.getParsedAccountInfo(
    largestAccounts.value[0].address,
  );
  console.log(largestAccountInfo?.value?.data);

  const owner = largestAccountInfo?.value?.data?.parsed.info.owner;
  console.log("NFT owner :", owner);
})();

https://solana.com/zh/developers/cookbook/tokens/get-nft-owner

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »