Transfer SOL

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 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");

Keluaran yang Diharapkan

Sender initial: 10 SOL
Sender final: 8.999995 SOL
Recipient 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?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.