Інструкція спалювання
Назавжди знищує токени, вилучаючи їх з обігу. Це зменшує загальну пропозицію токена.
Перш ніж ми зможемо спалити будь-який токен, нам потрібно вже мати:
- Ініціалізований рахунок
Mint
. - Рахунок
Token
або рахунокAssociated Token
, на якому вже є принаймні та кількість, яку ми хочемо спалити.
Raw Instruction
Використовуючи лише "сиру" інструкцію без будь-якої абстракції, спалювання токена виглядатиме так:
ts
// Burn tokens to ATA
const burnInstruction = createBurnInstruction(
tokenAccount, // token account
mint, // mint
keypair.publicKey // owner
1e6, // amount
);
const transaction = new Transaction().add(burnInstruction);
const signature = await sendAndConfirmTransaction(connection, transaction, [keypair]);
console.log(`Tokens Burned! Check out your TX here: https://explorer.solana.com/tx/${signature}?cluster=devnet`);
Abstracted Instruction
Ось як ті самі інструкції виглядатимуть з абстракцією за допомогою інструкції burn()
:
ts
let tx = await burn(
connection, // connection
keypair, // payer
tokenAccount, // token account
keypair.publicKey, // owner of the token account
1e6, // amount to transfer
);
console.log(`Succesfully Burned!. Transaction Here: https://explorer.solana.com/tx/${tx}?cluster=devnet`)