Solana,如何使用 javascript/wallets 将 NFT(spl 代币)发送到另一个钱包

Posted

技术标签:

【中文标题】Solana,如何使用 javascript/wallets 将 NFT(spl 代币)发送到另一个钱包【英文标题】:Solana, how to send a NFT (spl token) to another wallet using javascript/wallets 【发布时间】:2021-12-29 14:52:47 【问题描述】:

我正在尝试弄清楚如何发送 NFT 并将其显示在网站上。理想情况下,NFT 可以放在链接到网站的帐户上,因此至少在一段时间内“属于”网站,这对我的项目很重要,因为我需要能够烧掉 nft 或将其发回给用户.实际上我正在使用@project-serum/anchor 和@solana/web3.js,但我什至无法在用户的钱包和另一个钱包之间进行转账。

我花了一整天的时间试图弄清楚该怎么做,但我无法得到结果。理想情况下,我会有一个按钮来打开钱包并显示可以存入的不同 NFT,用户选择一个发送到链接到该网站的钱包。

提前谢谢你

【问题讨论】:

【参考方案1】:

试试这个代码:

// This transaction is sending the tokens
var transaction = new web3.Transaction().add(
  splToken.Token.createTransferInstruction(
    splToken.TOKEN_PROGRAM_ID,
    fromTokenAccount.address,
    toTokenAccount.address,
    fromWallet.publicKey,
    [],
    1000000, // This is transferring 1 token, not 1000000 tokens
  ),
);

var signature = await web3.sendAndConfirmTransaction(
  connection,
  transaction,
  [fromWallet],
  commitment: 'confirmed',
);

console.log("SIGNATURE: ", signature);
let tokenBalance = await toTokenAccount.amount;
console.log("token balance: ", tokenBalance);

【讨论】:

以上是关于Solana,如何使用 javascript/wallets 将 NFT(spl 代币)发送到另一个钱包的主要内容,如果未能解决你的问题,请参考以下文章

我想在 solana 上铸造一个新的代币。如何使用 solana-web3.js 做到这一点?

如何使用我的私钥文件加载我的 Solana 钱包?

如何使用现有钱包签署使用节点 JS 脚本运行的 solana 交易?

如何使用 Solana keygen 中的密钥来使用网络钱包?

Solana - 如何获得外国账户的代币余额?

如何使用 Solana 在 Serum 测试网市场下订单?