Documentação completa da API para litesvm-go. Os nomes dos métodos espelham o construtor Rust
LiteSVM sempre que possível; os pares getter / setter seguem a mesma convenção Go
(Clock / SetClock, Rent / SetRent, ...).
Seções da API
Gerenciamento de Contas
Airdrop, Balance, GetAccount, SetAccount, NewAccount, programas
Transações
Enviar / simular transações legadas e versionadas, TxOutcome
Configuração
Opções para sigverify, verificação de blockhash, histórico, limites de log, programas padrão
Tempo e Sysvars
WarpToSlot, Clock, Rent, EpochSchedule, EpochRewards, SlotHashes, SlotHistory, StakeHistory
Referência Rápida
Configuração do 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()
Gerenciamento de Contas
| Método | Descrição |
|---|---|
Airdrop(pubkey, lamports) error | Financiar uma conta |
Balance(pubkey) (uint64, bool, error) | Saldo em SOL; o bool indica se a conta existe |
GetAccount(pubkey) *Account | Recuperar um handle de conta (nil se não encontrado) |
SetAccount(pubkey, *Account) error | Armazenar o estado da conta diretamente |
MinimumBalanceForRentExemption(dataLen int) (uint64, error) | Calcular o mínimo isento de rent |
NewAccount(lamports, data, owner, executable, rentEpoch) (*Account, error) | Construir um handle de Account para SetAccount |
Gerenciamento de Programas
| Método | Descrição |
|---|---|
AddProgram(programID, bytes) error | Carregar programa a partir de bytes |
AddProgramFromFile(programID, path) error | Carregar programa a partir de arquivo .so |
AddProgramWithLoader(programID, bytes, loaderID) error | Carregar com um loader específico (avançado) |
Transações
| Método | Descrição |
|---|---|
SendLegacyTransaction(txBytes) (*TxOutcome, error) | Executar uma transação legada |
SendVersionedTransaction(txBytes) (*TxOutcome, error) | Executar uma transação v0+ |
SimulateLegacyTransaction(txBytes) (*TxOutcome, error) | Simular sem alterações de estado |
SimulateVersionedTransaction(txBytes) (*TxOutcome, error) | Simular v0+ sem alterações de estado |
LatestBlockhash() (solana.Hash, error) | Blockhash atual |
ExpireBlockhash() error | Avançar para um novo blockhash |
GetTransaction(signature) *TxOutcome | Buscar transação no histórico (nil se ausente) |
litesvm.BuildTransferTx(payerSeed, to, lamports, blockhash) ([]byte, error) | Utilitário de teste que constrói uma transferência legada assinada sem depender do solana-go |
Configuração
| Método | Descrição |
|---|---|
SetSigverify(bool) error | Ativar / desativar verificação de assinatura |
Sigverify() (bool, error) | Ler a configuração atual |
SetBlockhashCheck(bool) error | Ativar / desativar validação de blockhash |
SetTransactionHistory(int) error | Capacidade do histórico de transações em memória (0 desativa) |
SetLogBytesLimit(int) error | Limite de bytes de log por transação (negativo = ilimitado) |
SetLamports(uint64) error | Lamports padrão para novas contas do pool de airdrop |
SetSysvars() error | Redefinir sysvars para os valores padrão |
SetBuiltins() error | Recarregar programas integrados |
SetDefaultPrograms() error | Recarregar SPL Token, Memo, etc. |
SetPrecompiles() error | Ativar precompilações ed25519 / secp256k1 |
WithNativeMints() error | Inicializar o mint de wrapped-SOL com seed |
SetFeatureSet(*FeatureSet) error | Instalar um conjunto de feature gates |
SetComputeBudget(ComputeBudget) error | Aplicar um orçamento de computação |
ComputeBudget() (ComputeBudget, bool, error) | Ler o orçamento atual (bool indica "definido explicitamente") |
Tempo e Sysvars
| Método | Descrição |
|---|---|
WarpToSlot(slot uint64) error | Saltar para um slot específico |
Clock() (Clock, error) | Ler o sysvar Clock |
SetClock(Clock) error | Substituir o sysvar Clock |
Rent() (Rent, error) | Ler o sysvar Rent |
SetRent(Rent) error | Substituir o sysvar Rent |
EpochSchedule() (EpochSchedule, error) | Ler o sysvar EpochSchedule |
SetEpochSchedule(EpochSchedule) error | Substituir o sysvar EpochSchedule |
EpochRewards() (EpochRewards, error) | Ler o sysvar EpochRewards |
SetEpochRewards(EpochRewards) error | Substituir o sysvar EpochRewards |
LastRestartSlot() (uint64, error) | Ler o last-restart-slot |
SetLastRestartSlot(uint64) error | Definir o last-restart-slot |
SlotHashes() ([]SlotHash, error) | Ler o sysvar SlotHashes |
SetSlotHashes([]SlotHash) error | Substituir o sysvar SlotHashes |
SlotHistory() (*SlotHistory, error) | Ler o sysvar SlotHistory (handle) |
SetSlotHistory(*SlotHistory) error | Substituir o sysvar SlotHistory |
StakeHistory() ([]StakeHistoryItem, error) | Ler o sysvar StakeHistory |
SetStakeHistory([]StakeHistoryItem) error | Substituir o sysvar StakeHistory |
Utilitários
| Método | Descrição |
|---|---|
litesvm.Version() string | String de versão reportada pelo crate Rust litesvm subjacente |
Is this page helpful?