Документація SolanaLiteSVMTypeScriptДовідник API

Конфігурація

LiteSVM використовує патерн білдера для конфігурації. Усі методи повертають LiteSVM для ланцюжкового виклику.

Типове налаштування тесту

import { createClient, generateKeyPairSigner } from "@solana/kit";
import { litesvm } from "@solana/kit-plugin-litesvm";
import { signer } from "@solana/kit-plugin-signer";
const mySigner = await generateKeyPairSigner();
const client = createClient().use(signer(mySigner)).use(litesvm());
client.svm
.withSigverify(false) // Skip signature verification (faster)
.withBlockhashCheck(false) // Skip blockhash validation (simpler)
.withSysvars() // Enable Clock, Rent, etc.
.withBuiltins() // Enable ed25519, secp256k1
.withTransactionHistory(100n); // Store last 100 transactions

Підпис і блокхеш

withSigverify

withSigverify(sigverify: boolean): LiteSVM

Увімкнути або вимкнути перевірку підписів.

// Disable for faster tests (default is enabled)
client.svm.withSigverify(false);
// Enable for production-like testing
client.svm.withSigverify(true);

Вимкнення перевірки підписів прискорює тести, але робить їх менш реалістичними.

withBlockhashCheck

withBlockhashCheck(check: boolean): LiteSVM

Увімкнути або вимкнути перевірку закінчення терміну дії блокхешу.

// Disable for simpler tests
client.svm.withBlockhashCheck(false);

Програми та Sysvar-и

withSysvars

withSysvars(): LiteSVM

Увімкнути sysvar-акаунти (Clock, rent, EpochSchedule тощо).

client.svm.withSysvars();
// Now you can access sysvars
const clock = client.svm.getClock();
const rent = client.svm.getRent();

withBuiltins

withBuiltins(): LiteSVM

Увімкнути вбудовані програми (перевірка підписів ed25519, secp256k1).

client.svm.withBuiltins();

withPrecompiles

withPrecompiles(): LiteSVM

Увімкнути попередньо скомпільовані програми.

client.svm.withPrecompiles();

withDefaultPrograms

withDefaultPrograms(): LiteSVM

Додати програми за замовчуванням (System Program, BPF Loader тощо).

client.svm.withDefaultPrograms();

Ліміти ресурсів

withLamports

withLamports(lamports: bigint): LiteSVM

Встановити кількість lamport за замовчуванням для акаунтів.

client.svm.withLamports(1_000_000_000n); // 1 SOL

withLogBytesLimit

withLogBytesLimit(limit?: bigint): LiteSVM

Встановити ліміт байтів для виводу логів.

client.svm.withLogBytesLimit(10000n);

withTransactionHistory

withTransactionHistory(capacity: bigint): LiteSVM

Увімкнути зберігання історії транзакцій.

// Store last 100 transactions
client.svm.withTransactionHistory(100n);

Набори функцій

withFeatureSet

withFeatureSet(featureSet: FeatureSet): LiteSVM

Налаштувати набір функцій для тестування конкретних версій Solana.

Is this page helpful?