使用JavaScript开始

Metaplex提供了一个可用于与Metaplex Inscriptions交互的JavaScript库。得益于Umi框架,它不包含许多固执己见的依赖项,因此提供了一个可在任何JavaScript项目中使用的轻量级库。

要开始,您需要安装Umi框架和Inscriptions JavaScript库。

npm install \
@metaplex-foundation/umi \
@metaplex-foundation/umi-bundle-defaults \
@solana/web3.js@1 \
@metaplex-foundation/mpl-inscription

接下来,您可以像这样创建Umi实例并安装mplInscription插件。

import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
import { mplInscription } from '@metaplex-foundation/mpl-inscription'
// 使用您选择的RPC端点。
const umi = createUmi('http://127.0.0.1:8899').use(mplInscription())

然后您需要告诉Umi使用哪个钱包。这可以是密钥对solana钱包适配器

就是这样,您现在可以通过使用库提供的各种函数并将您的Umi实例传递给它们来与Inscriptions交互。以下是如何铸造一个带有小JSON文件附加的简单inscription,获取inscription的数据并打印inscription排名的示例。

// 步骤1:铸造NFT或pNFT
// 参见 https://developers.metaplex.com/smart-contracts/token-metadata/mint
// 步骤2:铭刻JSON
const inscriptionAccount = await findMintInscriptionPda(umi, {
mint: mint.publicKey,
})
const inscriptionMetadataAccount = await findInscriptionMetadataPda(umi, {
inscriptionAccount: inscriptionAccount[0],
})
await initializeFromMint(umi, {
mintAccount: mint.publicKey,
})
.add(
writeData(umi, {
inscriptionAccount,
inscriptionMetadataAccount,
value: Buffer.from(
JSON.stringify(metadata) // 要铭刻的NFT的JSON
),
associatedTag: null,
offset: 0,
})
)
.sendAndConfirm(umi, {confirm: {commitment: 'finalized'}})
const inscriptionMetadata = await fetchInscriptionMetadata(
umi,
inscriptionMetadataAccount
)
console.log(
'Inscription编号: ',
inscriptionMetadata.inscriptionRank.toString()
)

🔗 有用链接: