在 Solana 上用 SPL Token 发行和使用代币

B站影视 内地电影 2025-09-02 23:11 3

摘要:import { Connection, Keypair, clusterApiUrl, PublicKey } from "@solana/web3.js";import { createMint, getOrCreateAssociatedTokenAcc

安装 Solana CLI 和 SPL Token CLI# 安装 Solana CLI(如果还没装)sh -c "$(curl -sSfL https://release.solana.com/v1.20.0/install)"# 安装 SPL Token CLIcargo install spl-token-clisolana config set --url https://api.devnet.solana.comsolana airdrop 2 # 给钱包空投 2 SOL 用于支付手续费spl-token create-token# 输出示例:# Creating token 8yQ3...h7kspl-token create-account 8yQ3...h7k# 生成你的关联 Token Account# 例如: 6dF4...xyzspl-token mint 8yQ3...h7k 1000 6dF4...xyz# 给你的 Token Account 铸造 1000 枚代币spl-token transfer 8yQ3...h7k 100 npm install @solana/web3.js @solana/spl-tokennpm install --save-dev typescript ts-node

示例代码

import { Connection, Keypair, clusterApiUrl, PublicKey } from "@solana/web3.js";import { createMint, getOrCreateAssociatedTokenAccount, mintTo, transfer, TOKEN_PROGRAM_ID } from "@solana/spl-token";(async => {const connection = new Connection(clusterApiUrl("devnet"), "confirmed");const payer = Keypair.generate; // 创建钱包const recipient = Keypair.generate;// airdrop SOLconst sig = await connection.requestAirdrop(payer.publicKey, 2e9);await connection.confirmTransaction(sig);// 1. 创建 Mint(代币)const mint = await createMint(connection,payer, // 支付费用的账户payer.publicKey, // mint authoritynull, // freeze authority(可选)9 // 小数位);console.log("Mint Address:", mint.toBase58);// 2. 创建用户的 Token Account(ATA)const payerTokenAccount = await getOrCreateAssociatedTokenAccount(connection,payer,mint,payer.publicKey);// 3. 铸造代币给自己await mintTo(connection,payer,mint,payerTokenAccount.address,payer,1000 * 1e9 // 注意 decimals);console.log("Minted 1000 tokens to payer");// 4. 创建接收者 Token Accountconst recipientTokenAccount = await getOrCreateAssociatedTokenAccount(connection,payer,mint,recipient.publicKey);// 5. 转账代币给接收者await transfer(connection,payer,payerTokenAccount.address,recipientTokenAccount.address,payer.publicKey,200 * 1e9);console.log("Transferred 200 tokens to recipient");});

运行:

npx ts-node spl-token-demo.ts

来源:走进科技生活

相关推荐