Features
Write Inscription Data
After initializing an inscription account data can be written to it. This is also the case for associated inscriptions. Make sure that your initialization transaction has been finalized (see Sending transactions).
Write Inscription Data
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,
})
For larger data it is recommended to first allocate the required space, wait for that transaction to finalize and then writeData. The following example allocates data in a associated Inscription account:
Allocate space
import { allocate } from '@metaplex-foundation/mpl-inscription';
const fs = require('fs');
// Open the image file to fetch the raw bytes.
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)
}