Vollständige API-Dokumentation für litesvm-go. Methodennamen orientieren sich, wo möglich, am Rust-LiteSVM-Builder; Getter-/Setter-Paare verwenden dieselbe Go-Konvention (Clock / SetClock, Rent / SetRent, ...).
API-Bereiche
Konten-Verwaltung
Airdrop, Balance, GetAccount, SetAccount, NewAccount, Programme
Transaktionen
Legacy- und versionierte Transaktionen senden / simulieren, TxOutcome
Konfiguration
Schalter für Sigverify, Blockhash-Prüfung, Verlauf, Log-Limits, Standardprogramme
Zeit & Sysvars
WarpToSlot, Clock, Rent, EpochSchedule, EpochRewards, SlotHashes, SlotHistory, StakeHistory
Kurzreferenz
Handle-Einrichtung
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()
Konten-Verwaltung
| Methode | Beschreibung |
|---|---|
Airdrop(pubkey, lamports) error | Konten aufladen |
Balance(pubkey) (uint64, bool, error) | SOL-Guthaben; bool gibt an, ob das Konto existiert |
GetAccount(pubkey) *Account | Konten-Handle abrufen (nil, falls nicht vorhanden) |
SetAccount(pubkey, *Account) error | Konten-Zustand direkt speichern |
MinimumBalanceForRentExemption(dataLen int) (uint64, error) | rent-freies Mindestguthaben berechnen |
NewAccount(lamports, data, owner, executable, rentEpoch) (*Account, error) | Konten-Handle für SetAccount erstellen |
Programm-Verwaltung
| Methode | Beschreibung |
|---|---|
AddProgram(programID, bytes) error | Programm aus Bytes laden |
AddProgramFromFile(programID, path) error | Programm aus .so-Datei laden |
AddProgramWithLoader(programID, bytes, loaderID) error | Unter einem bestimmten Loader laden (erweitert) |
Transaktionen
| Methode | Beschreibung |
|---|---|
SendLegacyTransaction(txBytes) (*TxOutcome, error) | Eine Legacy-Transaktion ausführen |
SendVersionedTransaction(txBytes) (*TxOutcome, error) | Eine v0+-Transaktion ausführen |
SimulateLegacyTransaction(txBytes) (*TxOutcome, error) | Simulation ohne Zustandsänderungen |
SimulateVersionedTransaction(txBytes) (*TxOutcome, error) | v0+-Simulation ohne Zustandsänderungen |
LatestBlockhash() (solana.Hash, error) | Aktueller Blockhash |
ExpireBlockhash() error | Zum nächsten Blockhash wechseln |
GetTransaction(signature) *TxOutcome | Transaktion im Verlauf nachschlagen (nil, falls nicht vorhanden) |
litesvm.BuildTransferTx(payerSeed, to, lamports, blockhash) ([]byte, error) | Test-Hilfsfunktion, die eine signierte Legacy-Transfer-Transaktion erstellt, ohne solana-go einzubinden |
Konfiguration
| Methode | Beschreibung |
|---|---|
SetSigverify(bool) error | Signaturprüfung aktivieren / deaktivieren |
Sigverify() (bool, error) | Aktuelle Einstellung auslesen |
SetBlockhashCheck(bool) error | Blockhash-Validierung aktivieren / deaktivieren |
SetTransactionHistory(int) error | Kapazität des In-Memory-Transaktionsverlaufs (0 deaktiviert) |
SetLogBytesLimit(int) error | Log-Byte-Limit pro Transaktion (negativ = unbegrenzt) |
SetLamports(uint64) error | Standard-lamports für neue Airdrop-Pool-Konten |
SetSysvars() error | Sysvars auf Standardwerte zurücksetzen |
SetBuiltins() error | Eingebaute Programme neu laden |
SetDefaultPrograms() error | SPL Token, Memo usw. neu laden |
SetPrecompiles() error | ed25519 / secp256k1-Precompiles aktivieren |
WithNativeMints() error | Wrapped-SOL-Mint initialisieren |
SetFeatureSet(*FeatureSet) error | Einen Feature-Gate-Satz installieren |
SetComputeBudget(ComputeBudget) error | Ein Compute-Budget anwenden |
ComputeBudget() (ComputeBudget, bool, error) | Aktuelles Budget auslesen (bool gibt "explizit gesetzt" an) |
Zeit und Sysvars
| Methode | Beschreibung |
|---|---|
WarpToSlot(slot uint64) error | Zu einem bestimmten slot springen |
Clock() (Clock, error) | Clock-Sysvar auslesen |
SetClock(Clock) error | Clock-Sysvar überschreiben |
Rent() (Rent, error) | rent-Sysvar auslesen |
SetRent(Rent) error | rent-Sysvar überschreiben |
EpochSchedule() (EpochSchedule, error) | EpochSchedule-Sysvar auslesen |
SetEpochSchedule(EpochSchedule) error | EpochSchedule-Sysvar überschreiben |
EpochRewards() (EpochRewards, error) | EpochRewards-Sysvar auslesen |
SetEpochRewards(EpochRewards) error | EpochRewards-Sysvar überschreiben |
LastRestartSlot() (uint64, error) | Letzten Neustart-slot auslesen |
SetLastRestartSlot(uint64) error | Letzten Neustart-slot setzen |
SlotHashes() ([]SlotHash, error) | SlotHashes-Sysvar auslesen |
SetSlotHashes([]SlotHash) error | SlotHashes-Sysvar überschreiben |
SlotHistory() (*SlotHistory, error) | SlotHistory-Sysvar auslesen (Handle) |
SetSlotHistory(*SlotHistory) error | SlotHistory-Sysvar überschreiben |
StakeHistory() ([]StakeHistoryItem, error) | StakeHistory-Sysvar auslesen |
SetStakeHistory([]StakeHistoryItem) error | StakeHistory-Sysvar überschreiben |
Hilfsfunktionen
| Methode | Beschreibung |
|---|---|
litesvm.Version() string | Versionsstring, der vom zugrunde liegenden Rust-litesvm-Crate gemeldet wird |
Is this page helpful?