Солана: получить информацию о Candy Machine из токена NFT с помощью Js

Я пытаюсь узнать, какой идентификатор или адрес конфетной машины для конкретной nft.

До сих пор я пробовал перебирать учетные записи кошельков с помощью @solana / web3.js

      const tokenAccounts = await connection
        .getParsedTokenAccountsByOwner(publicKey, {
          programId: TOKEN_PROGRAM_ID,
        })
        .then((context) => context.value);

Также пробовал metaplex / js, я получил дополнительную информацию, например, о создателях:

      const mintAccount = new metaplex.Account(searchNftAddress, mintAccInfo);
          if (mintAccount) {
            const metadata = metaplex.programs.metadata.Metadata.from(mintAccount);
            console.log(metadata.data?.data?.creators);
          }

Но я не нахожу информации о конфетах.

2 ответа

Если я правильно понимаю, вы хотите знать владельца конкретного NFT?

У меня это работает, я взял отсюда https://solanacookbook.com/references/nfts.html#candy-machine-v1

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

const connection = new Connection(clusterApiUrl('mainnet-beta'));

export const getOwnerAddresses = async (tokenMint) => {
    //const connection = new Connection('https://api.mainnet-beta.solana.com');

    const largestAccounts = await connection.getTokenLargestAccounts(new PublicKey(tokenMint));
    const largestAccountInfo = await connection.getParsedAccountInfo(largestAccounts.value[0].address);
    //console.log(largestAccountInfo.value.data);
    console.log(largestAccountInfo.value.data.parsed.info.owner);
    /*
    PublicKey {
        _bn: <BN: 6ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf5857eff00a9>
    }
     */
};

Вам просто нужно создать модуль импорта и использовать его следующим образом:

      getOwnerAddresses('XXXXXXXXX');

Я думаю, что когда вы загружаете nfts, в папке кеша будет создан новый json, и вы получите идентификатор оттуда:

      {
  "program": {
    "uuid": "Wzsae7",
    "config": "Serai5EV4oisGhcZHYHGaL4J16ebWKU2yagUrer5fBaK"
  },
  "items": {
    "0": {
      "link": "https://arweave.net/flpdtSkJcdospfV93Yfy_tUTrY3abDWDMvTyNMLiY2",
      "name": "TEST 0",
      "onChain": true
    }
  }
}
Другие вопросы по тегам