Dokumentacja SolanaLiteSVMGoDokumentacja API

Dokumentacja API

Kompletna dokumentacja API dla litesvm-go. Nazwy metod odzwierciedlają wzorzec buildera Rust LiteSVM tam, gdzie to możliwe; pary getter/setter stosują tę samą konwencję Go (Clock / SetClock, Rent / SetRent, ...).

Sekcje API

Skrócony przewodnik

Konfiguracja uchwytu

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()

Zarządzanie kontami

MetodaOpis
Airdrop(pubkey, lamports) errorZasilenie konta środkami
Balance(pubkey) (uint64, bool, error)Saldo SOL; bool informuje, czy konto istnieje
GetAccount(pubkey) *AccountPobierz uchwyt konta (nil jeśli brak)
SetAccount(pubkey, *Account) errorBezpośrednie zapisanie stanu konta
MinimumBalanceForRentExemption(dataLen int) (uint64, error)Oblicz minimalną kwotę zwalniającą z rent
NewAccount(lamports, data, owner, executable, rentEpoch) (*Account, error)Utwórz uchwyt Account na potrzeby SetAccount

Zarządzanie programami

MetodaOpis
AddProgram(programID, bytes) errorZaładuj program z bajtów
AddProgramFromFile(programID, path) errorZaładuj program z pliku .so
AddProgramWithLoader(programID, bytes, loaderID) errorZaładuj przy użyciu określonego loadera (zaawansowane)

Transakcje

MetodaOpis
SendLegacyTransaction(txBytes) (*TxOutcome, error)Wykonaj transakcję legacy
SendVersionedTransaction(txBytes) (*TxOutcome, error)Wykonaj transakcję v0+
SimulateLegacyTransaction(txBytes) (*TxOutcome, error)Symuluj bez wprowadzania zmian stanu
SimulateVersionedTransaction(txBytes) (*TxOutcome, error)Symuluj v0+ bez wprowadzania zmian stanu
LatestBlockhash() (solana.Hash, error)Bieżący blockhash
ExpireBlockhash() errorPrzejdź do nowego blockhasha
GetTransaction(signature) *TxOutcomeWyszukaj transakcję w historii (nil jeśli brak)
litesvm.BuildTransferTx(payerSeed, to, lamports, blockhash) ([]byte, error)Pomocnik testowy budujący podpisaną transakcję legacy przelewu bez importowania solana-go

Konfiguracja

MetodaOpis
SetSigverify(bool) errorWłącz / wyłącz weryfikację podpisów
Sigverify() (bool, error)Odczytaj bieżące ustawienie
SetBlockhashCheck(bool) errorWłącz / wyłącz walidację blockhasha
SetTransactionHistory(int) errorPojemność historii transakcji w pamięci (0 wyłącza)
SetLogBytesLimit(int) errorLimit bajtów logów na transakcję (ujemna = bez limitu)
SetLamports(uint64) errorDomyślna liczba lamportów dla nowych kont puli airdrop
SetSysvars() errorZresetuj sysvary do wartości domyślnych
SetBuiltins() errorPrzeładuj wbudowane programy
SetDefaultPrograms() errorPrzeładuj SPL Token, Memo itp.
SetPrecompiles() errorWłącz prekompilacje ed25519 / secp256k1
WithNativeMints() errorseed mintu zapakowanego SOL
SetFeatureSet(*FeatureSet) errorZainstaluj zestaw flag funkcji
SetComputeBudget(ComputeBudget) errorZastosuj budżet obliczeniowy
ComputeBudget() (ComputeBudget, bool, error)Odczytaj bieżący budżet (bool informuje o "jawnym ustawieniu")

Czas i sysvary

MetodaOpis
WarpToSlot(slot uint64) errorPrzeskocz do określonego slot
Clock() (Clock, error)Odczytaj sysvar Clock
SetClock(Clock) errorNadpisz sysvar Clock
Rent() (Rent, error)Odczytaj sysvar Rent
SetRent(Rent) errorNadpisz sysvar Rent
EpochSchedule() (EpochSchedule, error)Odczytaj sysvar EpochSchedule
SetEpochSchedule(EpochSchedule) errorNadpisz sysvar EpochSchedule
EpochRewards() (EpochRewards, error)Odczytaj sysvar EpochRewards
SetEpochRewards(EpochRewards) errorNadpisz sysvar EpochRewards
LastRestartSlot() (uint64, error)Odczytaj last-restart-slot
SetLastRestartSlot(uint64) errorUstaw last-restart-slot
SlotHashes() ([]SlotHash, error)Odczytaj sysvar SlotHashes
SetSlotHashes([]SlotHash) errorNadpisz sysvar SlotHashes
SlotHistory() (*SlotHistory, error)Odczytaj sysvar SlotHistory (uchwyt)
SetSlotHistory(*SlotHistory) errorNadpisz sysvar SlotHistory
StakeHistory() ([]StakeHistoryItem, error)Odczytaj sysvar StakeHistory
SetStakeHistory([]StakeHistoryItem) errorNadpisz sysvar StakeHistory

Narzędzia pomocnicze

MetodaOpis
litesvm.Version() stringCiąg wersji zwracany przez bazowy crate Rust litesvm

Is this page helpful?

Spis treści

Edytuj stronę