Typescript
SPL Token mit Web3.js

SPL Token mit Web3.js

Close Account Instruction

Schließt ein Token-Konto und überträgt die verbleibende SOL-Miete auf ein Zielkonto. Das Token-Konto muss einen Nullsaldo aufweisen, es sei denn, es handelt sich um ein natives SOL-Konto.

Ab Token2022 ist es möglich, ein MintKonto mit einem Bestand von 0 zu schließen

Bevor wir ein Token-Konto schließen können, müssen wir bereits Folgendes haben:

  • Ein initialisiertes MintKonto

  • Ein initialisiertes TokenKonto oder Associated TokenKonto, das keine Token enthält.

Raw Instruction

Bei Verwendung einer "rohen" Anweisung ohne Abstraktion würde das Schließen eines Kontos so aussehen:

ts
// Delegate an ATA 
const closeAccountInstruction = createCloseAccountInstruction(
    tokenAccount // account
    keypair.publickey // destination
    keypair.publickey // authority
);

const transaction = new Transaction().add(closeAccountInstruction);

const signature = await sendAndConfirmTransaction(connection, transaction, [keypair]);

console.log(`Token accounts closed! Check out your TX here: https://explorer.solana.com/tx/${signature}?cluster=devnet`);

Abstracted Instruction

So würden die gleichen Anweisungen aussehen, wenn sie mit der closeAccount()Anweisung abstrahiert werden:

ts
  let tx = await closeAccount(
    connection,
    keypair,
    ata.address, // token Account
    keypair.publicKey, // destination
    keypair.publicKey, // authority
);

console.log(`Succesfully Closed!. Transaction Here: https://explorer.solana.com/tx/${tx}?cluster=devnet`)
Blueshift © 2025Commit: e573eab