وثائق سولاناLiteSVMTypeScriptمرجع 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

التوقيع والـ Blockhash

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

تمكين التحقق من انتهاء صلاحية الـ blockhash أو تعطيله.

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

البرامج والـ Sysvars

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

تهيئة مجموعة الميزات لاختبار إصدارات محددة من سولانا.

Is this page helpful?