Documentation complète de l'API pour litesvm-go. Les noms de méthodes reflètent autant que possible le builder Rust LiteSVM ; les paires getter / setter suivent la même convention Go (Clock / SetClock, Rent / SetRent, ...).
Sections de l'API
Gestion des comptes
Airdrop, Balance, GetAccount, SetAccount, NewAccount, programmes
Transactions
Envoi / simulation de transactions legacy et versionnées, TxOutcome
Configuration
Activation/désactivation de sigverify, vérification de blockhash, historique, limites de logs, programmes par défaut
Temps & Sysvars
WarpToSlot, Clock, Rent, EpochSchedule, EpochRewards, SlotHashes, SlotHistory, StakeHistory
Référence rapide
Initialisation du handle
import (litesvm "github.com/LiteSVM/litesvm-go"solana "github.com/gagliardetto/solana-go")svm, err := litesvm.New()if err != nil {// handle error}defer svm.Close()
Gestion des comptes
| Méthode | Description |
|---|---|
Airdrop(pubkey, lamports) error | Alimenter un compte |
Balance(pubkey) (uint64, bool, error) | Solde en SOL ; le booléen indique si le compte existe |
GetAccount(pubkey) *Account | Récupérer un handle de compte (nil si absent) |
SetAccount(pubkey, *Account) error | Enregistrer l'état d'un compte directement |
MinimumBalanceForRentExemption(dataLen int) (uint64, error) | Calculer le solde minimum exempt de rent |
NewAccount(lamports, data, owner, executable, rentEpoch) (*Account, error) | Construire un handle Account pour SetAccount |
Gestion des programmes
| Méthode | Description |
|---|---|
AddProgram(programID, bytes) error | Charger un programme depuis des octets |
AddProgramFromFile(programID, path) error | Charger un programme depuis un fichier .so |
AddProgramWithLoader(programID, bytes, loaderID) error | Charger avec un loader spécifique (avancé) |
Transactions
| Méthode | Description |
|---|---|
SendLegacyTransaction(txBytes) (*TxOutcome, error) | Exécuter une transaction legacy |
SendVersionedTransaction(txBytes) (*TxOutcome, error) | Exécuter une transaction v0+ |
SimulateLegacyTransaction(txBytes) (*TxOutcome, error) | Simuler sans modifier l'état |
SimulateVersionedTransaction(txBytes) (*TxOutcome, error) | Simuler une transaction v0+ sans modifier l'état |
LatestBlockhash() (solana.Hash, error) | Blockhash courant |
ExpireBlockhash() error | Passer à un nouveau blockhash |
GetTransaction(signature) *TxOutcome | Rechercher une transaction dans l'historique (nil si absente) |
litesvm.BuildTransferTx(payerSeed, to, lamports, blockhash) ([]byte, error) | Utilitaire de test qui construit un transfert legacy signé sans dépendre de solana-go |
Configuration
| Méthode | Description |
|---|---|
SetSigverify(bool) error | Activer / désactiver la vérification des signatures |
Sigverify() (bool, error) | Lire le paramètre actuel |
SetBlockhashCheck(bool) error | Activer / désactiver la validation du blockhash |
SetTransactionHistory(int) error | Capacité de l'historique de transactions en mémoire (0 = désactivé) |
SetLogBytesLimit(int) error | Limite en octets des logs par transaction (négatif = illimité) |
SetLamports(uint64) error | Valeur par défaut des lamports pour les nouveaux comptes du pool d'airdrop |
SetSysvars() error | Réinitialiser les sysvars aux valeurs par défaut |
SetBuiltins() error | Recharger les programmes intégrés |
SetDefaultPrograms() error | Recharger SPL Token, Memo, etc. |
SetPrecompiles() error | Activer les précompilations ed25519 / secp256k1 |
WithNativeMints() error | Initialiser le mint SOL natif (wrapped-SOL) |
SetFeatureSet(*FeatureSet) error | Installer un ensemble de feature gates |
SetComputeBudget(ComputeBudget) error | Appliquer un budget de calcul |
ComputeBudget() (ComputeBudget, bool, error) | Lire le budget actuel (le booléen indique s'il a été défini explicitement) |
Temps et Sysvars
| Méthode | Description |
|---|---|
WarpToSlot(slot uint64) error | Sauter vers un slot spécifique |
Clock() (Clock, error) | Lire le sysvar Clock |
SetClock(Clock) error | Écraser le sysvar Clock |
Rent() (Rent, error) | Lire le sysvar Rent |
SetRent(Rent) error | Écraser le sysvar Rent |
EpochSchedule() (EpochSchedule, error) | Lire le sysvar EpochSchedule |
SetEpochSchedule(EpochSchedule) error | Écraser le sysvar EpochSchedule |
EpochRewards() (EpochRewards, error) | Lire le sysvar EpochRewards |
SetEpochRewards(EpochRewards) error | Écraser le sysvar EpochRewards |
LastRestartSlot() (uint64, error) | Lire le dernier slot de redémarrage |
SetLastRestartSlot(uint64) error | Définir le dernier slot de redémarrage |
SlotHashes() ([]SlotHash, error) | Lire le sysvar SlotHashes |
SetSlotHashes([]SlotHash) error | Écraser le sysvar SlotHashes |
SlotHistory() (*SlotHistory, error) | Lire le sysvar SlotHistory (handle) |
SetSlotHistory(*SlotHistory) error | Écraser le sysvar SlotHistory |
StakeHistory() ([]StakeHistoryItem, error) | Lire le sysvar StakeHistory |
SetStakeHistory([]StakeHistoryItem) error | Écraser le sysvar StakeHistory |
Utilitaires
| Méthode | Description |
|---|---|
litesvm.Version() string | Chaîne de version renvoyée par la crate Rust litesvm sous-jacente |
Is this page helpful?