機能
Inscriptionデータの書き込み
inscriptionアカウントを初期化した後、データを書き込むことができます。これは関連するinscriptionの場合も同様です。
Inscriptionデータの書き込み
import { writeData } from '@metaplex-foundation/mpl-inscription';
await writeData(umi, {
inscriptionAccount: inscriptionAccount.publicKey,
inscriptionMetadataAccount,
authority,
value: Buffer.from(
'{"description": "A bread! But onchain!", "external_url": "https://breadheads.io"}'
),
associatedTag: null,
offset: 0,
})
大きなデータの場合は、まず必要なスペースをallocateし、そのトランザクションがファイナライズされるまで待ってからwriteDataすることをお勧めします。以下の例は、関連Inscriptionアカウントにデータを割り当てます:
スペースの割り当て
import { allocate } from '@metaplex-foundation/mpl-inscription';
const fs = require('fs');
// 画像ファイルを開いて、生バイトを取得します。
const imageBytes: Buffer = await fs.promises.readFile('test/large_bread.png')
const resizes = Math.floor(imageBytes.length / 10240) + 1
for (let i = 0; i < resizes; i += 1) {
await allocate(umi, {
inscriptionAccount: associatedInscriptionAccount,
inscriptionMetadataAccount,
associatedTag: 'image/png',
targetSize: imageBytes.length,
}).sendAndConfirm(umi)
}
