はじめに
トークンメタデータを更新する
Last updated November 28, 2025
ファンジブルトークンのメタデータを更新して、名前、シンボル、画像、またはその他のプロパティを変更します。
トークンメタデータを更新する
以下のセクションでは、完全なコード例と変更が必要なパラメータを確認できます。これはToken Metadataプログラムを使用してオンチェーンメタデータを更新します。
1// npm install @metaplex-foundation/mpl-token-metadata @metaplex-foundation/umi @metaplex-foundation/umi-bundle-defaults
2import {
3 fetchDigitalAsset,
4 mplTokenMetadata,
5 updateV1,
6} from '@metaplex-foundation/mpl-token-metadata'
7import {
8 keypairIdentity,
9 publicKey,
10} from '@metaplex-foundation/umi'
11import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
12import { readFileSync } from 'fs'
13
14// Initialize Umi with your RPC endpoint
15const umi = createUmi('https://api.devnet.solana.com').use(mplTokenMetadata())
16
17// Load your wallet keypair (must be the update authority)
18const wallet = '<your wallet file path>'
19const secretKey = JSON.parse(readFileSync(wallet, 'utf-8'))
20const keypair = umi.eddsa.createKeypairFromSecretKey(new Uint8Array(secretKey))
21umi.use(keypairIdentity(keypair))
22
23// Your token mint address
24const mintAddress = publicKey('<your token mint address>')
25
26// Fetch existing token data
27const asset = await fetchDigitalAsset(umi, mintAddress)
28
29// Update the token metadata (name, symbol, and URI)
30await updateV1(umi, {
31 mint: mintAddress,
32 authority: umi.identity,
33 data: {
34 ...asset.metadata,
35 name: 'Updated Token Name',
36 symbol: 'UTN',
37 uri: 'https://example.com/updated-metadata.json',
38 },
39}).sendAndConfirm(umi)
40
41console.log('Token metadata updated successfully')
42console.log('Mint:', mintAddress)
43console.log('New name:', 'Updated Token Name')
44console.log('New URI:', 'https://example.com/updated-metadata.json')
1# Update Token Metadata using the Metaplex CLI
2
3# Interactive editor mode (opens metadata JSON in your default editor)
4mplx toolbox token update <MINT_ADDRESS> --editor
5
6# Update specific fields via flags
7mplx toolbox token update <MINT_ADDRESS> --name "New Token Name"
8mplx toolbox token update <MINT_ADDRESS> --symbol "NEW"
9mplx toolbox token update <MINT_ADDRESS> --description "Updated description"
10
11# Update with new image
12mplx toolbox token update <MINT_ADDRESS> --image ./new-image.png
13
14# Update multiple fields at once
15mplx toolbox token update <MINT_ADDRESS> \
16 --name "Updated Token" \
17 --symbol "UPD" \
18 --description "An updated token description" \
19 --image ./updated-image.png
20
21# Note: You must be the update authority to update token metadata
22# Note: --editor flag cannot be combined with other update flags
パラメータ
更新に合わせて以下のパラメータをカスタマイズしてください:
| パラメータ | 説明 |
|---|---|
mintAddress | トークンミントアドレス |
name | 新しいトークン名(最大32文字) |
symbol | 新しいトークンシンボル(最大10文字) |
uri | 新しいオフチェーンメタデータJSONへのリンク |
sellerFeeBasisPoints | ロイヤリティ率(ファンジブルでは通常0) |
仕組み
更新プロセスは簡単です:
- 更新権限者として接続 - ウォレットがトークンの更新権限者である必要があります
- updateV1を呼び出す - ミントアドレスと新しいメタデータ値を提供
- トランザクションを確認 - メタデータがオンチェーンで更新されます
更新できるもの
以下のオンチェーンメタデータを更新できます:
- Name - トークンの表示名
- Symbol - 短いティッカーシンボル
- URI - オフチェーンJSONメタデータへのリンク(画像、説明など)
- Seller fee basis points - ロイヤリティ率
要件
トークンメタデータを更新するには、以下が必要です:
- 更新権限者であること - 指定された更新権限者のみがメタデータを変更できます
- 可変トークンであること - トークンが
isMutable: trueで作成されている必要があります
オフチェーンメタデータの更新
トークンの画像や説明を更新するには:
- 更新された情報を含む新しいJSONメタデータファイルを作成
- 新しいJSONをストレージプロバイダー(Arweaveなど)にアップロード
uriフィールドを新しいJSONファイルを指すように更新
{
"name": "Updated Token Name",
"symbol": "UTN",
"description": "An updated description for my token",
"image": "https://arweave.net/new-image-hash"
}
重要な注意事項
- 更新はメタデータにのみ影響し、トークン自体や既存の残高には影響しません
- トークンが不変として作成された場合、メタデータを更新することはできません
uriを変更することで、画像や説明などのオフチェーンデータを更新できます
