Centralized Examples Test

Centralized Code Examples Test

Example 1: Create an Asset

1import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
2import { create } from '@metaplex-foundation/mpl-core'
3import { mplCore } from '@metaplex-foundation/mpl-core'
4
5// Initialize UMI
6const umi = createUmi('https://api.devnet.solana.com')
7 .use(mplCore())
8
9// Create a new NFT asset
10const asset = await create(umi, {
11 name: 'My NFT',
12 uri: 'https://example.com/metadata.json'
13}).sendAndConfirm(umi)
14
15console.log('Asset created:', asset.publicKey)

Example 2: Transfer an Asset

1import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
2import { transfer } from '@metaplex-foundation/mpl-core'
3import { mplCore } from '@metaplex-foundation/mpl-core'
4import { publicKey } from '@metaplex-foundation/umi'
5
6// Initialize UMI
7const umi = createUmi('https://api.devnet.solana.com')
8 .use(mplCore())
9
10// Transfer an existing NFT asset to a new owner
11const result = await transfer(umi, {
12 asset: publicKey('AssetAddressHere...'),
13 newOwner: publicKey('RecipientAddressHere...'),
14}).sendAndConfirm(umi)
15
16console.log('Asset transferred:', result.signature)

Filtered Examples

JavaScript Only (Kit + Umi)

1import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
2import { create } from '@metaplex-foundation/mpl-core'
3import { mplCore } from '@metaplex-foundation/mpl-core'
4
5// Initialize UMI
6const umi = createUmi('https://api.devnet.solana.com')
7 .use(mplCore())
8
9// Create a new NFT asset
10const asset = await create(umi, {
11 name: 'My NFT',
12 uri: 'https://example.com/metadata.json'
13}).sendAndConfirm(umi)
14
15console.log('Asset created:', asset.publicKey)

Rust Only (Shank + Anchor)

1use mpl_core::instructions::TransferV1;
2use solana_sdk::{pubkey::Pubkey, signer::Signer};
3
4// Asset and recipient addresses
5let asset = Pubkey::from_str("AssetAddressHere...").unwrap();
6let new_owner = Pubkey::from_str("RecipientAddressHere...").unwrap();
7
8// Transfer an existing NFT asset to a new owner
9let transfer_ix = TransferV1 {
10 asset,
11 new_owner,
12 ..Default::default()
13};
14
15let instruction = transfer_ix.instruction();
16
17println!("Transfer instruction created");