紹介
MPL Core Asset
Last updated January 31, 2026
このページでは、Core Assetとは何か、従来のSolana NFTとどう違うかを説明します。アカウント構造、コレクションの関係、メタデータストレージを理解します。
主要概念
- シングルアカウントモデル: Core AssetはAssetアカウント自体に所有権を保存します
- トークンアカウント不要: SPLトークンと異なり、CoreはAssociated Token Accountsを必要としません
- コレクションメンバーシップ: AssetはupdateAuthorityフィールドを通じてCollectionに属することができます
- オフチェーンメタデータ: URIがJSONメタデータを指します(Arweave/IPFSなどの永続ストレージが推奨)
概要
Core Assetは、NFTを表す単一のSolanaアカウントです。Token Metadata(3つ以上のアカウントが必要)と異なり、Coreはすべての重要データを1つのアカウントに保存します:所有者、名前、URI、update authority。これによりCore Assetは約80%安く、扱いやすくなります。
概要説明
SolanaのTokenプログラムなどの既存のAssetプログラムとは異なり、Metaplex CoreとCore Asset(Core NFT Assetとも呼ばれる)はAssociated Token Accountsなどの複数のアカウントに依存しません。代わりに、Core AssetはウォレットとAsset自体の「mint」アカウント間の関係を保存します。
Core Assetアカウント
Core Assetアカウントは、デジタルアセットの最小限のデータを表します。この構造は、オンチェーン所有権のための意見のないブロックチェーンプリミティブを提供します。
AssetはCollection内にありますか?
MPL Core AssetはCollectionに属することができます。MPL Core AssetデータのupdateAuthorityフィールドは2つの役割を果たします:Assetのupdate authorityを報告するか、所属するMPL Core CollectionのpublicKeyを提供するかです。 updateAuthorityフィールドにアクセスする際、Asset経由で直接アクセスするか、MPL Core AssetのcollectionAddressヘルパー経由でアクセスするかにかかわらず、結果は以下のいずれかになります: Collection AssetはそのアドレスのCollectionに属しています。
Assetの作成
{
__kind: 'Collection'
fields: [PublicKey]
}
import { fetchAssetV1 } from '@metaplex-foundation/mpl-core'
const asset = await fetchAssetV1(umi, assetAddress.publicKey)
const collectionId = collectionAddress(asset)
console.log({collectionId})
console.log({asset})
// ログ
collection: '2222222222222222222222222222222'
asset: {
key: AssetV1,
owner: "11111111111111111111111111111111",
updateAuthority: {
type: 'Collection',
address: '2222222222222222222222222222222'
},
name: "My Core Asset",
uri: "https://example.com/metadata.json",
...
}
Address Assetにはupdate authorityが設定されていますが、Collectionには属していません。
Assetの作成
import { fetchAssetV1 } from '@metaplex-foundation/mpl-core'
const asset = await fetchAssetV1(umi, assetAddress.publicKey)
const collectionId = collectionAddress(asset)
console.log({collectionId})
console.log({asset})
// ログ
collectionId: undefined
asset: {
key: AssetV1,
owner: "11111111111111111111111111111111",
updateAuthority: {
type: 'Address',
address: '2222222222222222222222222222222'
}
name: "My Core Asset",
uri: "https://example.com/metadata.json",
...
}
None Assetにはupdate authorityが設定されていません。
Assetの作成
import { fetchAssetV1 } from '@metaplex-foundation/mpl-core'
const asset = await fetchAssetV1(umi, assetAddress.publicKey)
const collectionId = collectionAddress(asset)
console.log({collectionId})
console.log({asset})
// ログ
collectionId: undefined
asset: {
key: AssetV1,
owner: "11111111111111111111111111111111",
updateAuthority: {
type: 'None',
},
name: "My Core Asset",
uri: "https://example.com/metadata.json",
}
オフチェーンメタデータ
Assetアカウントの重要な属性の1つは、オフチェーンのJSONファイルを指すURI属性です。これは、オンチェーンデータの保存に伴う手数料に制約されることなく、追加データを安全に提供するために使用されます。そのJSONファイルは特定の標準に従っており、誰でもトークンに関する有用な情報を見つけることができます。 オフチェーンメタデータは、パブリックにアクセス可能な任意の場所に保存できます。JSONファイルをホストする一般的な場所:
- Arweave
- NFT.Storage/IPFS
- Amazon AWS S3/Google Cloud
| Field | Type | Description |
|---|---|---|
| name | string | Name of the asset. |
| description | string | Description of the asset. |
| image | string | URI pointing to the asset's logo. |
| animation_url | string | URI pointing to the asset's animation. |
| external_url | string | URI pointing to an external URL defining the asset — e.g. the game's main site. |
| attributes | array | Array of attributes defining the characteristics of the asset.
|
| properties | object | Additional properties that define the asset.
|
このJSONファイルは、Arweaveなどの永続ストレージソリューションを使用して保存し、更新できないようにすることができます。さらに、Update AuthorityフィールドをNoneに設定して不変にし、URIとName属性の変更を禁止することができます。この組み合わせにより、オフチェーンJSONファイルの不変性を保証できます。
FAQ
CoreはToken Metadata NFTとどう違いますか?
Token Metadataは3つ以上のアカウント(mint、metadata、token account)が必要です。Coreは所有者とメタデータを一緒に保存する単一のアカウントを使用します。これによりCoreは約80%安く、作成が高速です。
オンチェーンとオフチェーンで何が保存されますか?
オンチェーン: 所有者、名前、URI、update authority、プラグイン。オフチェーン(URI先): 説明、画像、属性、アニメーションURL、その他の拡張メタデータ。
Token Metadata NFTをCoreに変換できますか?
直接はできません。CoreとToken Metadataは別々の標準です。古いNFTをバーンして新しいCore Assetをミントする必要があります。このプロセスを支援する移行ツールがいくつかあります。
Coreは既存のNFTマーケットプレイスと互換性がありますか?
ほとんどの主要なSolanaマーケットプレイスがCore Assetをサポートしています。互換性のあるプラットフォームの現在のリストはEcosystem Supportを確認してください。
オフチェーンメタデータがオフラインになったらどうなりますか?
Assetは名前とURIでオンチェーンに存在し続けますが、画像やオフチェーン属性はアクセスできなくなります。オンチェーン属性(Attributesプラグイン経由)はアクセス可能のままです。これを防ぐために永続ストレージ(Arweave、ピニング付きIPFS)を使用してください。
用語集
| 用語 | 定義 |
|---|---|
| Asset | NFTを表す単一のCoreアカウント |
| Owner | 現在Assetを所有しているウォレット |
| Update Authority | Assetメタデータの変更を許可されたアカウント |
| URI | オフチェーンJSONメタデータを指すURL |
| Collection | 関連するAssetをグループ化するCoreアカウント |
| Key | アカウントタイプを識別するアカウント識別子 |
| seq | 圧縮インデックスに使用されるシーケンス番号 |
