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

如何使用Solana Web3.js获取链上代币的名称、符号及其他元数据

SPL代币元数据获取方案

SPL代币的名称、符号等元数据并不存储在代币Mint账户本身,而是存储在Metaplex协议的元数据PDA账户中,原生Solana Web3.js没有直接读取该数据的接口,需要配合Metaplex相关工具实现,具体方案如下:

1. 安装依赖

推荐使用Metaplex官方JS SDK实现快速读取,执行以下命令安装依赖:

npm install @metaplex-foundation/js @metaplex-foundation/mpl-token-metadata

2. 完整实现代码

基于你现有代码的修改示例:

import { Metaplex } from "@metaplex-foundation/js";
// 如果你使用CommonJS规范,替换为以下导入
// const { Metaplex } = require("@metaplex-foundation/js");

let from_pairs = new anchor.web3.PublicKey("DUru78GcRB8Ucg24Gy6WNTyufuyBhqcL5wppZJkckQHz")
const NETWORK = anchor.web3.clusterApiUrl('devnet');
const Connection = new anchor.web3.Connection(NETWORK);
const data = await Connection.getTokenSupply(from_pairs)

// 初始化Metaplex实例
const metaplex = Metaplex.make(Connection);
try {
  // 通过Mint地址获取元数据
  const metadata = await metaplex.nfts().findByMint({ mintAddress: from_pairs });
  console.log("代币名称:", metadata.name);
  console.log("代币符号:", metadata.symbol);
  console.log("代币资源URI(含图标、描述等):", metadata.uri);
  console.log("代币精度:", data.value.decimals);
  console.log("总供应量:", data.value.uiAmount);
} catch (e) {
  console.log("该代币未上传链上元数据:", e.message)
}

轻量实现方案(无需引入全量SDK)

如果你不想引入完整的Metaplex SDK,可以手动计算元数据PDA地址,直接读取账户数据后反序列化:

import { getMetadataAccountDataSerializer } from "@metaplex-foundation/mpl-token-metadata";

// Metaplex元数据程序固定ID
const TOKEN_METADATA_PROGRAM_ID = new anchor.web3.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
// 计算元数据PDA地址
const [metadataPda] = anchor.web3.PublicKey.findProgramAddressSync(
  [Buffer.from("metadata"), TOKEN_METADATA_PROGRAM_ID.toBuffer(), from_pairs.toBuffer()],
  TOKEN_METADATA_PROGRAM_ID
);

const metadataAccount = await Connection.getAccountInfo(metadataPda);
if (metadataAccount) {
  const serializer = getMetadataAccountDataSerializer();
  const metadata = serializer.deserialize(metadataAccount.data)[0];
  console.log("代币名称:", metadata.name.trim());
  console.log("代币符号:", metadata.symbol.trim());
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:39:01