Повна документація API для litesvm-go. Назви методів максимально відповідають будівнику Rust
LiteSVM; пари геттер / сеттер використовують стандартну конвенцію Go
(Clock / SetClock, Rent / SetRent, ...).
Розділи API
Керування акаунтами
Airdrop, Balance, GetAccount, SetAccount, NewAccount, програми
Транзакції
Надсилання / симуляція legacy + версійних транзакцій, TxOutcome
Конфігурація
Перемикачі для sigverify, перевірки blockhash, історії, лімітів логів, програм за замовчуванням
Час та Sysvars
WarpToSlot, Clock, Rent, EpochSchedule, EpochRewards, SlotHashes, SlotHistory, StakeHistory
Короткий довідник
Налаштування дескриптора
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) error | Lamport за замовчуванням для нових акаунтів 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?