Довідник API

Повна документація API для litesvm-go. Назви методів максимально відповідають будівнику Rust LiteSVM; пари геттер / сеттер використовують стандартну конвенцію Go (Clock / SetClock, Rent / SetRent, ...).

Розділи API

Короткий довідник

Налаштування дескриптора

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Отримати дескриптор акаунта (nil, якщо відсутній)
SetAccount(pubkey, *Account) errorЗаписати стан акаунта безпосередньо
MinimumBalanceForRentExemption(dataLen int) (uint64, error)Обчислити мінімум для звільнення від rent
NewAccount(lamports, data, owner, executable, rentEpoch) (*Account, error)Створити дескриптор Account для SetAccount

Керування програмами

МетодОпис
AddProgram(programID, bytes) errorЗавантажити програму з байтів
AddProgramFromFile(programID, path) errorЗавантажити програму з файлу .so
AddProgramWithLoader(programID, bytes, loaderID) errorЗавантажити з конкретним завантажувачем (розширений режим)

Транзакції

МетодОпис
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Ліміт байтів логу на транзакцію (від'ємне значення = без обмежень)
SetLamports(uint64) errorLamport за замовчуванням для нових акаунтів airdrop-пулу
SetSysvars() errorСкинути sysvars до значень за замовчуванням
SetBuiltins() errorПерезавантажити вбудовані програми
SetDefaultPrograms() errorПерезавантажити SPL Token, Memo тощо
SetPrecompiles() errorУвімкнути прекомпільовані модулі ed25519 / secp256k1
WithNativeMints() errorІніціалізувати (seed) мінт wrapped-SOL
SetFeatureSet(*FeatureSet) errorВстановити набір feature gate
SetComputeBudget(ComputeBudget) errorЗастосувати бюджет обчислень
ComputeBudget() (ComputeBudget, bool, error)Прочитати поточний бюджет (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 (дескриптор)
SetSlotHistory(*SlotHistory) errorПерезаписати sysvar SlotHistory
StakeHistory() ([]StakeHistoryItem, error)Прочитати sysvar StakeHistory
SetStakeHistory([]StakeHistoryItem) errorПерезаписати sysvar StakeHistory

Утиліти

МетодОпис
litesvm.Version() stringРядок версії, який повертає базовий крейт Rust litesvm

Is this page helpful?