Solana documentatieLiteSVMTypeScriptVoorbeelden

SOL-overdracht

De meest eenvoudige Solana-transactie: SOL verplaatsen van het ene account naar het andere. Dit is een goede eerste test om te controleren of je LiteSVM-configuratie werkt voordat je complexere programmalogica test.

Volledig voorbeeld

import { createClient, generateKeyPairSigner, lamports } from "@solana/kit";
import { litesvm } from "@solana/kit-plugin-litesvm";
import { signer } from "@solana/kit-plugin-signer";
import { systemProgram } from "@solana-program/system";
// Payer first, then the LiteSVM transport, then program plugins.
const mySigner = await generateKeyPairSigner();
const client = createClient()
.use(signer(mySigner))
.use(litesvm())
.use(systemProgram());
const recipient = await generateKeyPairSigner();
// Airdrop SOL to the payer
client.svm.airdrop(client.payer.address, lamports(10_000_000_000n));
// Check initial balance
const senderInitial = client.svm.getBalance(client.payer.address) ?? 0n;
console.log("Sender initial:", Number(senderInitial) / 1e9, "SOL");
// Build and send the transfer
await client.system.instructions
.transferSol({
source: client.payer,
destination: recipient.address,
amount: lamports(1_000_000_000n) // 1 SOL
})
.sendTransaction();
// Check final balances
const senderFinal = client.svm.getBalance(client.payer.address) ?? 0n;
const recipientFinal = client.svm.getBalance(recipient.address) ?? 0n;
console.log("Sender final:", Number(senderFinal) / 1e9, "SOL");
console.log("Recipient final:", Number(recipientFinal) / 1e9, "SOL");

Verwachte uitvoer

Sender initial: 10 SOL
Sender final: 8.999995 SOL
Recipient final: 1 SOL

Het eindsaldo van de verzender is iets minder dan 9 SOL vanwege transactiekosten (5.000 lamport per handtekening).

Dit behandelt het eenvoudigste transactietype. Voor het testen met aangepaste programma's, zie Programma testen. Voor tokenoverdrachten (mints, ATA's), zie Token testen.

Is this page helpful?

Inhoudsopgave

Pagina Bewerken
© 2026 Solana Foundation. Alle rechten voorbehouden.