Instrução de Burn
Destrói tokens permanentemente removendo-os da circulação. Isso reduz a oferta total do token.
Antes de podermos fazer burn de qualquer token, precisaremos já ter:
Inicializado uma conta
Mint.Uma conta
Tokenou contaAssociated Tokenque já tenha pelo menos a quantidade que desejamos fazer burn.
Instrução Bruta
Usando apenas a instrução "bruta" sem qualquer abstração, é assim que ficaria o burn de um token:
ts
// Fazer burn de tokens para ATA
const burnInstruction = createBurnInstruction(
tokenAccount, // conta de token
mint, // mint
keypair.publicKey // dono
1e6, // quantidade
);
const transaction = new Transaction().add(burnInstruction);
const signature = await sendAndConfirmTransaction(connection, transaction, [keypair]);
console.log(`Tokens queimados! Confira sua TX aqui: https://explorer.solana.com/tx/${signature}?cluster=devnet`);Instrução Abstraída
É assim que as mesmas instruções ficariam abstraídas com a instrução burn():
ts
let tx = await burn(
connection, // conexão
keypair, // pagador
tokenAccount, // conta de token
keypair.publicKey, // dono da conta de token
1e6, // quantidade para transferir
);
console.log(`Queima realizada com sucesso! Transação aqui: https://explorer.solana.com/tx/${tx}?cluster=devnet`)