Transaksi Solana paling dasar: memindahkan SOL dari satu akun ke akun lain. Ini adalah uji coba pertama yang baik untuk memverifikasi bahwa pengaturan LiteSVM Anda berfungsi sebelum menguji logika program yang lebih kompleks.
Contoh Lengkap
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");
Keluaran yang Diharapkan
Sender initial: 10 SOLSender final: 8.999995 SOLRecipient final: 1 SOL
Saldo akhir pengirim sedikit kurang dari 9 SOL karena biaya transaksi (5.000 lamport per tanda tangan).
Ini mencakup jenis transaksi paling sederhana. Untuk pengujian dengan program kustom, lihat Pengujian Program. Untuk transfer token (mint, ATA), lihat Pengujian Token.
Is this page helpful?