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 做到这一点?
如何使用现有钱包签署使用节点 JS 脚本运行的 solana 交易?