如何使用 phantom 钱包和 solana web3js 传输 NFT spl-token
How to transfer NFT spl-token using phantom wallet and solana web3js
我可以使用此代码使用幻影钱包将 Solana 从一个账户转移到另一个账户
const transferTransaction = new Transaction()
.add(SystemProgram.transfer({
fromPubkey: alice.publicKey,
toPubkey: feePayer.publicKey,
lamports: lamportsToSend
}))
const network = "https://api.devnet.solana.com";
const connection = new Connection(network);
transferTransaction.recentBlockhash = (await connection.getRecentBlockhash()).blockhash;
transferTransaction.feePayer = alice.publicKey;
const { signature } = await window.solana.signAndSendTransaction(transferTransaction);
await connection.confirmTransaction(signature);
console.log(signature);
但我想知道如果我有 nft 铸币地址,我该如何转移 NFT?
要转账一个NFT,首先需要知道NFT的铸币地址和所有者地址。然后,您将使用 Token.createTransferCheckedInstruction
.
而不是调用 SystemProgram.transfer
Solana Cookbook 中有一个很好的转移 SPL 代币的例子:https://solanacookbook.com/references/token.html#transfer-token
我可以使用此代码使用幻影钱包将 Solana 从一个账户转移到另一个账户
const transferTransaction = new Transaction()
.add(SystemProgram.transfer({
fromPubkey: alice.publicKey,
toPubkey: feePayer.publicKey,
lamports: lamportsToSend
}))
const network = "https://api.devnet.solana.com";
const connection = new Connection(network);
transferTransaction.recentBlockhash = (await connection.getRecentBlockhash()).blockhash;
transferTransaction.feePayer = alice.publicKey;
const { signature } = await window.solana.signAndSendTransaction(transferTransaction);
await connection.confirmTransaction(signature);
console.log(signature);
但我想知道如果我有 nft 铸币地址,我该如何转移 NFT?
要转账一个NFT,首先需要知道NFT的铸币地址和所有者地址。然后,您将使用 Token.createTransferCheckedInstruction
.
SystemProgram.transfer
Solana Cookbook 中有一个很好的转移 SPL 代币的例子:https://solanacookbook.com/references/token.html#transfer-token