Документация SolanaLiteSVMGoСправочник API

Справочник API

Полная документация API для litesvm-go. Названия методов по возможности повторяют builder-интерфейс 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)Создать дескриптор аккаунта для использования в 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Инициализировать wrapped-SOL mint (seed)
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?