يستخدم 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 testingclient.svm.withSigverify(true);
تعطيل التحقق من التوقيع يجعل الاختبارات أسرع، لكنها تصبح أقل واقعية.
withBlockhashCheck
withBlockhashCheck(check: boolean): LiteSVM
تمكين التحقق من انتهاء صلاحية الـ blockhash أو تعطيله.
// Disable for simpler testsclient.svm.withBlockhashCheck(false);
البرامج والـ Sysvars
withSysvars
withSysvars(): LiteSVM
تمكين حسابات sysvar (Clock وrent وEpochSchedule وغيرها).
client.svm.withSysvars();// Now you can access sysvarsconst 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 transactionsclient.svm.withTransactionHistory(100n);
مجموعات الميزات
withFeatureSet
withFeatureSet(featureSet: FeatureSet): LiteSVM
تهيئة مجموعة الميزات لاختبار إصدارات محددة من سولانا.
Is this page helpful?