使用 @solana/web3.js 将元数据添加到 Solana 令牌

Posted

技术标签:

【中文标题】使用 @solana/web3.js 将元数据添加到 Solana 令牌【英文标题】:Add Meta Data To Solana Token with @solana/web3.js 【发布时间】:2021-12-10 13:13:32 【问题描述】:

我正在尝试使用 web3.js 和 spl-token.js 创建 NFT。

但是,我需要添加元数据(如令牌名称或其他属性),否则它只会在我的钱包中显示为“未知令牌”。

这是我铸造令牌的代码的相关部分:

let mint = await splToken.Token.createMint(
    connection,
    fromWallet,
    fromWallet.publicKey,
    null,
    0,
    splToken.TOKEN_PROGRAM_ID
);

否则代码类似于这个问题的答案:I would like to mint a new token on solana. How can I do this using solana-web3.js?

除了元数据的结构(我在这里找到:https://docs.phantom.app/integrating/tokens/on-chain-metadata)之外,没有任何文档。

如果有人可以通过示例或文档为我指明正确的方向,我将不胜感激。谢谢!

【问题讨论】:

【参考方案1】:

为了向 NFT 添加元数据,您需要调用此程序 spl_token_metadata::instruction::create_metadata_accounts 。你可以在这里找到文档https://docs.rs/spl-token-metadata/latest/spl_token_metadata/instruction/fn.create_metadata_accounts.html

【讨论】:

以上是关于使用 @solana/web3.js 将元数据添加到 Solana 令牌的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 @solana/web3.js 从 Solana 中的自定义令牌中删除铸币权限?

如何获取在与@solana/web3.js 的交易中转移的自定义令牌数量?

如何通过“@solana/web3.js”传输自定义令牌

如何通过“@solana/web3.js”和“@solana/spl-token”调用 nft 程序?

尝试发送 USDC 时无法获取钱包签名者 @solana-labs/web3.js

Solana Web3.js:获取 Mint 帐户的“null”,尽管它应该返回一个“AccountInfo”对象