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 payerclient.svm.airdrop(client.payer.address, lamports(10_000_000_000n));// Check initial balanceconst senderInitial = client.svm.getBalance(client.payer.address) ?? 0n;console.log("Sender initial:", Number(senderInitial) / 1e9, "SOL");// Build and send the transferawait client.system.instructions.transferSol({source: client.payer,destination: recipient.address,amount: lamports(1_000_000_000n) // 1 SOL}).sendTransaction();// Check final balancesconst 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 SOLSender final: 8.999995 SOLRecipient 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?