Typescript
SPL Token di Web3.js

SPL Token di Web3.js

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 memegang mintAuthority
  • Akun Token atau akun Associated Token yang sudah diinisialisasi di mana kita akan melakukan mint token

Jumlah token yang kita mint "dinormalisasi" untuk desimal. Ini berarti jika kita ingin melakukan mint 1 token yang memiliki 6 desimal, kita perlu memasukkan 1e6 sebagai jumlahnya

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`)
Daftar Isi
Lihat Sumber
Blueshift © 2025Commit: 1e001ec