簡體   English   中英

@solana/web3.js ERC721 元數據有 API 嗎?

[英]@solana/web3.js Is there an API for ERC721 Metadata?

給定一個令牌鑄造地址,我正在尋找一種方法來訪問 ERC721 令牌的元數據。 @solana/web3.js 中有 API 嗎?

不,目前沒有 API,但是幻影錢包使用metaplex鏈上程序: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"來獲取它需要的有關托管在arweave和相應數據帳戶上的 NFT 的信息。

Solana 根據https://docs.solana.com/developing/programming-model/calling-between-programs#hash-based-generated-program-addresses在源自原始令牌地址的地址中存儲令牌元數據

參考代碼生銹了,這是來自@solana/web3.js
來源

  static async findProgramAddress(
    seeds: Array<Buffer | Uint8Array>,
    programId: PublicKey,
  ): Promise<[PublicKey, number]> {
    let nonce = 255;
    let address;
    while (nonce != 0) {
      try {
        const seedsWithNonce = seeds.concat(Buffer.from([nonce]));
        address = await this.createProgramAddress(seedsWithNonce, programId);
      } catch (err) {
        if (err instanceof TypeError) {
          throw err;
        }
        nonce--;
        continue;
      }
      return [address, nonce];
    }
    throw new Error(`Unable to find a viable program address nonce`);
  }

請注意,根據https://docs.metaplex.com/nft-standard#token-metadata-program ,元數據使用borsh 庫以 base64 編碼。

這是僅使用 borsh 和 @solana/web3.js https://gist.github.com/dvcrn/c099c9b5a095ffe4ddb6481c22cde5f4檢索和解析元數據的簡明實現

最后,MagicDen 有一個返回元數據的端點: https ://api-mainnet.magiceden.io/rpc/getNFTByMintAddress/DugthRKbQZRMcDQQfjnj2HeSjz2VARPC8H9abxdNK2SS

不,但可以通過此處的區塊鏈 API 獲得: https : //docs.theblockchainapi.com/#tag/Solana-NFT/paths/~1v1~1solana~1nft/get

您只需提供 mint_address 並取回元數據。 很簡單!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM