機能
Inscriptionの初期化
initialize命令は、データが保存される場所であるinscriptionアカウントを作成します。3つのタイプの初期化があります:
initializeFromMint- NFTに添付されたInscription用 - おそらくこれが必要ですinitialize- ストレージプロバイダーとしてのInscription用initializeAssociatedInscription- 追加データアカウント用
初期化が完了した後、inscriptionにデータを書き込むことができます。
初期化時に、番号付けに使用されるshardを選択できます。ロックを最小限に抑えるために、ランダムなものを使用してください。シャーディングについてはこちらで詳しく読むことができます。
initializeFromMint
これらのinscriptionはNFTと同様に取引可能です。不確実な場合は、おそらくこれを使用したいでしょう。
取引可能なinscriptionが必要な場合は、この種のinscriptionを使用したいでしょう。これはあなたのNFTから派生されます。この関数を使用する際は、NFTの更新権限を持っている必要があります。
以下のように実行できます:
ミントInscriptionの初期化
import {
findInscriptionShardPda,
initializeFromMint,
} from '@metaplex-foundation/mpl-inscription'
const inscriptionShardAccount = await findInscriptionShardPda(umi, {
shardNumber: 0, // 0から31までのランダムな数
})
await initializeFromMint(umi, {
mintAccount: mint.publicKey,
inscriptionShardAccount,
}).sendAndConfirm(umi)
Initialize
この種のinscriptionは取引できません。ゲームなどの高度な使用例にのみ推奨します。
Inscriptionはデータが書き込まれる前に初期化される必要があります。以下のように実行できます:
Inscriptionの初期化
import {
findInscriptionMetadataPda,
findInscriptionShardPda,
initialize,
} from '@metaplex-foundation/mpl-inscription'
const inscriptionAccount = generateSigner(umi)
const inscriptionMetadataAccount = await findInscriptionMetadataPda(umi, {
inscriptionAccount: inscriptionAccount.publicKey,
})
const inscriptionShardAccount = await findInscriptionShardPda(umi, {
shardNumber: 0, // 0から31までのランダムな数
})
await initialize(umi, {
inscriptionAccount,
inscriptionShardAccount,
}).sendAndConfirm(umi)
initializeAssociatedInscription
1つのInscriptionアカウントは複数の関連Inscriptionアカウントを持つことができます。これらはassociationTagに基づいて派生されます。例えば、タグはファイルのデータタイプ(例:image/png)にできます。
関連するinscriptionへのポインターは、inscriptionMetadataアカウントのassociatedInscriptionsフィールドの配列に保存されます。
新しい関連Inscriptionを初期化するには、以下の関数を使用できます:
関連Inscriptionの初期化
import {
findInscriptionMetadataPda,
initializeAssociatedInscription,
} from '@metaplex-foundation/mpl-inscription'
const inscriptionMetadataAccount = await findInscriptionMetadataPda(umi, {
inscriptionAccount: inscriptionAccount.publicKey,
})
await initializeAssociatedInscription(umi, {
inscriptionMetadataAccount,
associationTag: 'image/png',
}).sendAndConfirm(umi)
