Typescript
SPL токен з Web3.js

SPL токен з Web3.js

Інструкція спалювання

Назавжди знищує токени, вилучаючи їх з обігу. Це зменшує загальну пропозицію токена.

Перш ніж ми зможемо спалити будь-який токен, нам потрібно вже мати:

  • Ініціалізований рахунок Mint.
  • Рахунок Token або рахунок Associated Token, на якому вже є принаймні та кількість, яку ми хочемо спалити.

Кількість токенів, які ми спалюємо, "нормалізована" для десяткових знаків. Це означає, що якщо ми хочемо спалити 1 токен, який має 6 десяткових знаків, нам потрібно буде вказати 1e6 як кількість

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`)

Checked Instruction

Blueshift © 2025Commit: 6d01265
Blueshift | SPL токен з Web3.js | Спалювання