Umi SDK 入门

Umi SDK (@metaplex-foundation/mpl-token-metadata) 基于 Metaplex 的 Umi 框架构建,提供用于与 Token Metadata 交互的流畅 API。

安装

npm install \
@metaplex-foundation/umi \
@metaplex-foundation/umi-bundle-defaults \
@solana/web3.js@1 \
@metaplex-foundation/mpl-token-metadata

设置

import { createUmi } from '@metaplex-foundation/umi-bundle-defaults';
import { mplTokenMetadata } from '@metaplex-foundation/mpl-token-metadata';
// 使用 Token Metadata 插件创建 Umi 实例
const umi = createUmi('https://api.devnet.solana.com')
.use(mplTokenMetadata());

连接钱包

创建 NFT

import { generateSigner, percentAmount } from '@metaplex-foundation/umi';
import { createNft } from '@metaplex-foundation/mpl-token-metadata';
// 生成新的铸币密钥对
const mint = generateSigner(umi);
// 创建 NFT
await createNft(umi, {
mint,
name: 'My NFT',
uri: 'https://example.com/my-nft.json',
sellerFeeBasisPoints: percentAmount(5.5),
}).sendAndConfirm(umi);
console.log('NFT created:', mint.publicKey);

获取 NFT

import { fetchDigitalAsset } from '@metaplex-foundation/mpl-token-metadata';
const asset = await fetchDigitalAsset(umi, mintAddress);
console.log('Name:', asset.metadata.name);
console.log('URI:', asset.metadata.uri);
console.log('Seller Fee:', asset.metadata.sellerFeeBasisPoints);

有用的链接