Πλήρης τεκμηρίωση API για το litesvm-go. Τα ονόματα μεθόδων αντικατοπτρίζουν τον builder LiteSVM της Rust όπου είναι δυνατό· τα ζεύγη getter / setter χρησιμοποιούν την ίδια σύμβαση Go (Clock / SetClock, Rent / SetRent, ...).
Ενότητες API
Διαχείριση Λογαριασμών
Airdrop, Balance, GetAccount, SetAccount, NewAccount, προγράμματα
Συναλλαγές
Αποστολή / προσομοίωση legacy + εκδοχή συναλλαγών, TxOutcome
Διαμόρφωση
Εναλλαγές για sigverify, έλεγχο blockhash, ιστορικό, όρια καταγραφών, προεπιλεγμένα προγράμματα
Χρόνος & Sysvars
WarpToSlot, Clock, Rent, EpochSchedule, EpochRewards, SlotHashes, SlotHistory, StakeHistory
Γρήγορη Αναφορά
Ρύθμιση 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()
Διαχείριση Λογαριασμών
| Μέθοδος | Περιγραφή |
|---|---|
Airdrop(pubkey, lamports) error | Χρηματοδότηση λογαριασμού |
Balance(pubkey) (uint64, bool, error) | Υπόλοιπο SOL· το bool δηλώνει αν ο λογαριασμός υπάρχει |
GetAccount(pubkey) *Account | Ανάκτηση handle λογαριασμού (nil αν δεν υπάρχει) |
SetAccount(pubkey, *Account) error | Άμεση αποθήκευση κατάστασης λογαριασμού |
MinimumBalanceForRentExemption(dataLen int) (uint64, error) | Υπολογισμός ελάχιστου ορίου απαλλαγής από rent |
NewAccount(lamports, data, owner, executable, rentEpoch) (*Account, error) | Δημιουργία handle Account για χρήση με SetAccount |
Διαχείριση Προγραμμάτων
| Μέθοδος | Περιγραφή |
|---|---|
AddProgram(programID, bytes) error | Φόρτωση προγράμματος από bytes |
AddProgramFromFile(programID, path) error | Φόρτωση προγράμματος από αρχείο .so |
AddProgramWithLoader(programID, bytes, loaderID) error | Φόρτωση με συγκεκριμένο loader (για προχωρημένους) |
Συναλλαγές
| Μέθοδος | Περιγραφή |
|---|---|
SendLegacyTransaction(txBytes) (*TxOutcome, error) | Εκτέλεση legacy συναλλαγής |
SendVersionedTransaction(txBytes) (*TxOutcome, error) | Εκτέλεση συναλλαγής v0+ |
SimulateLegacyTransaction(txBytes) (*TxOutcome, error) | Προσομοίωση χωρίς αλλαγές κατάστασης |
SimulateVersionedTransaction(txBytes) (*TxOutcome, error) | Προσομοίωση v0+ χωρίς αλλαγές κατάστασης |
LatestBlockhash() (solana.Hash, error) | Τρέχον blockhash |
ExpireBlockhash() error | Μετάβαση σε νέο blockhash |
GetTransaction(signature) *TxOutcome | Αναζήτηση συναλλαγής στο ιστορικό (nil αν δεν υπάρχει) |
litesvm.BuildTransferTx(payerSeed, to, lamports, blockhash) ([]byte, error) | Βοηθητική συνάρτηση δοκιμών που δημιουργεί υπογεγραμμένη legacy μεταφορά χωρίς εξάρτηση από το solana-go |
Διαμόρφωση
| Μέθοδος | Περιγραφή |
|---|---|
SetSigverify(bool) error | Ενεργοποίηση / απενεργοποίηση επαλήθευσης υπογραφής |
Sigverify() (bool, error) | Ανάγνωση τρέχουσας ρύθμισης |
SetBlockhashCheck(bool) error | Ενεργοποίηση / απενεργοποίηση επικύρωσης blockhash |
SetTransactionHistory(int) error | Χωρητικότητα ιστορικού συναλλαγών στη μνήμη (0 για απενεργοποίηση) |
SetLogBytesLimit(int) error | Όριο bytes καταγραφής ανά συναλλαγή (αρνητικό = απεριόριστο) |
SetLamports(uint64) error | Προεπιλεγμένα lamports για νέους λογαριασμούς airdrop-pool |
SetSysvars() error | Επαναφορά sysvars στις προεπιλογές |
SetBuiltins() error | Επαναφόρτωση ενσωματωμένων προγραμμάτων |
SetDefaultPrograms() error | Επαναφόρτωση SPL Token, Memo κ.λπ. |
SetPrecompiles() error | Ενεργοποίηση precompiles ed25519 / secp256k1 |
WithNativeMints() error | Seed wrapped-SOL mint |
SetFeatureSet(*FeatureSet) error | Εγκατάσταση συνόλου feature gate |
SetComputeBudget(ComputeBudget) error | Εφαρμογή compute budget |
ComputeBudget() (ComputeBudget, bool, error) | Ανάγνωση τρέχοντος budget (το bool δηλώνει «ορίστηκε ρητά») |
Χρόνος και Sysvars
| Μέθοδος | Περιγραφή |
|---|---|
WarpToSlot(slot uint64) error | Μετάβαση σε συγκεκριμένο slot |
Clock() (Clock, error) | Ανάγνωση sysvar Clock |
SetClock(Clock) error | Αντικατάσταση sysvar Clock |
Rent() (Rent, error) | Ανάγνωση sysvar Rent |
SetRent(Rent) error | Αντικατάσταση sysvar Rent |
EpochSchedule() (EpochSchedule, error) | Ανάγνωση sysvar EpochSchedule |
SetEpochSchedule(EpochSchedule) error | Αντικατάσταση sysvar EpochSchedule |
EpochRewards() (EpochRewards, error) | Ανάγνωση sysvar EpochRewards |
SetEpochRewards(EpochRewards) error | Αντικατάσταση sysvar EpochRewards |
LastRestartSlot() (uint64, error) | Ανάγνωση last-restart-slot |
SetLastRestartSlot(uint64) error | Ορισμός last-restart-slot |
SlotHashes() ([]SlotHash, error) | Ανάγνωση sysvar SlotHashes |
SetSlotHashes([]SlotHash) error | Αντικατάσταση sysvar SlotHashes |
SlotHistory() (*SlotHistory, error) | Ανάγνωση sysvar SlotHistory (handle) |
SetSlotHistory(*SlotHistory) error | Αντικατάσταση sysvar SlotHistory |
StakeHistory() ([]StakeHistoryItem, error) | Ανάγνωση sysvar StakeHistory |
SetStakeHistory([]StakeHistoryItem) error | Αντικατάσταση sysvar StakeHistory |
Βοηθητικά Εργαλεία
| Μέθοδος | Περιγραφή |
|---|---|
litesvm.Version() string | Συμβολοσειρά έκδοσης που αναφέρεται από το υποκείμενο crate litesvm της Rust |
Is this page helpful?