You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用@solana-labs/web3.js实现USDC-SPL代币转账

SPL-USDC 转账实现方案

USDC属于标准SPL代币,转账逻辑和通用SPL代币完全一致,仅需使用Solana官方公布的USDC固定铸币地址即可适配,无需额外定制逻辑。

前置依赖

需要先安装SPL代币专用SDK:
npm install @solana/spl-token

完整实现代码

import { getAssociatedTokenAddress, createTransferCheckedInstruction, getOrCreateAssociatedTokenAccount } from "@solana/spl-token";
import { Connection, Transaction, PublicKey } from "@solana/web3.js";

// 核心配置
const USDC_MINT = new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'); // 主网USDC铸币地址
// 测试网USDC铸币地址替换为:4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
const USDC_DECIMALS = 6; // USDC精度固定为6位

// .......
const connection = new Connection(network);
const transaction = new Transaction();

// 1. 获取发送方USDC关联账户(ATA)
const fromAta = await getAssociatedTokenAddress(
  USDC_MINT,
  publicKey // 发送方钱包公钥
);

// 2. 获取/创建接收方USDC关联账户
const toPubkey = new PublicKey(to); // 接收方钱包公钥
const toAta = await getOrCreateAssociatedTokenAccount(
  connection,
  publicKey, // 支付创建账户费用的地址,这里用付款人钱包
  USDC_MINT,
  toPubkey
);

// 3. 添加USDC转账指令
transaction.add(
  createTransferCheckedInstruction(
    fromAta, // 发送方ATA
    USDC_MINT, // USDC铸币地址
    toAta.address, // 接收方ATA
    publicKey, // 发送方公钥(转账权限所有者)
    Number(amount) * (10 ** USDC_DECIMALS), // 转账金额要乘以6位精度,不是SOL的9位
    USDC_DECIMALS
  )
);

// 后续区块哈希、签名逻辑和你原有SOL转账的逻辑完全一致
const { blockhash } = await connection.getRecentBlockhash();
transaction.recentBlockhash = blockhash;
transaction.feePayer = publicKey;
let signedTransaction = null;
if ("solana" in window) {
  signedTransaction = await window.solana.signTransaction(transaction)
} else if ("solflare" in window) {
  signedTransaction = await window.solflare.signTransaction(transaction);
}
// .......

注意事项

  • 必须匹配对应网络的USDC铸币地址,主网和测试网地址不同,填错会转账到错误代币
  • USDC精度为6,计算最小单位时不要误用SOL的9位精度,否则金额会差1000倍
  • 若接收方从未持有过对应网络的USDC,getOrCreateAssociatedTokenAccount会自动在交易中添加创建ATA的指令,创建费用由付款方承担,约0.002 SOL
  • 转账前可先调用connection.getTokenAccountBalance(fromAta)校验发送方USDC余额是否充足,避免交易失败

内容的提问来源于stack exchange,提问作者zandtifing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:54:08