Instruksi Mint To
Membuat token baru dan menyimpannya ke dalam akun yang ditentukan. Hanya otoritas mint yang dapat melakukan operasi ini.
Sebelum kita dapat melakukan mint token apa pun, kita perlu sudah memiliki:
- Akun
Mint
yang sudah diinisialisasi di mana kita memegangmintAuthority
- Akun
Token
atau akunAssociated Token
yang sudah diinisialisasi di mana kita akan melakukan mint token
Instruksi Raw
Dengan menggunakan instruksi "raw" tanpa abstraksi apa pun, beginilah tampilan proses mint token:
ts
const destination = Keypair.generate();
const tokenAccount = await getAssociatedTokenAddress(
mint.publicKey,
destination.publicKey,
);
// Create ATA creation instruction
const createAtaInstruction = createAssociatedTokenAccountIdempotentInstruction(
keypair.publicKey, // payer
tokenAccount, // associated token account address
destination.publicKey, // owner
mint.publicKey, // mint
);
// Mint tokens to ATA
const mintToInstruction = createMintToInstruction(
mint.publicKey, // mint
tokenAccount, // destination
keypair.publicKey, // mint authority
1_000e6, // amount of tokens
);
const transaction = new Transaction().add(
createAtaInstruction,
mintToInstruction,
);
const signature = await sendAndConfirmTransaction(connection, transaction, [keypair]);
console.log(`Token accounts created and tokens minted! Check out your TX here: https://explorer.solana.com/tx/${signature}?cluster=devnet`);
Instruksi Terabstraksi
Beginilah tampilan instruksi yang sama jika diabstraksikan dengan instruksi mintTo()
:
ts
const destination = Keypair.generate();
const ata = await getOrCreateAssociatedTokenAccount(
connection,
keypair,
mint,
destination.publicKey
);
console.log(`This is your ATA: ${ata.address}!`)
let tx = await mintTo(
connection,
keypair,
mint,
ata.address,
keypair.publicKey,
1e6,
);
console.log(`Succesfully Minted!. Transaction Here: https://explorer.solana.com/tx/${tx}?cluster=devnet`)