Documentación completa de la API para litesvm-go. Los nombres de los métodos replican el constructor LiteSVM de Rust en la medida de lo posible; los pares getter/setter siguen la misma convención de Go (Clock / SetClock, Rent / SetRent, ...).
Secciones de la API
Gestión de cuentas
Airdrop, Balance, GetAccount, SetAccount, NewAccount, programas
Transacciones
Enviar / simular transacciones legacy y versionadas, TxOutcome
Configuración
Opciones para sigverify, verificación de blockhash, historial, límites de logs, programas predeterminados
Tiempo y Sysvars
WarpToSlot, Clock, Rent, EpochSchedule, EpochRewards, SlotHashes, SlotHistory, StakeHistory
Referencia rápida
Configuración del 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()
Gestión de cuentas
| Método | Descripción |
|---|---|
Airdrop(pubkey, lamports) error | Financiar una cuenta |
Balance(pubkey) (uint64, bool, error) | Saldo en SOL; el bool indica si la cuenta existe |
GetAccount(pubkey) *Account | Obtener el handle de una cuenta (nil si no existe) |
SetAccount(pubkey, *Account) error | Almacenar el estado de una cuenta directamente |
MinimumBalanceForRentExemption(dataLen int) (uint64, error) | Calcular el mínimo exento de rent |
NewAccount(lamports, data, owner, executable, rentEpoch) (*Account, error) | Construir un handle de Account para SetAccount |
Gestión de programas
| Método | Descripción |
|---|---|
AddProgram(programID, bytes) error | Cargar programa desde bytes |
AddProgramFromFile(programID, path) error | Cargar programa desde un archivo .so |
AddProgramWithLoader(programID, bytes, loaderID) error | Cargar con un loader específico (avanzado) |
Transacciones
| Método | Descripción |
|---|---|
SendLegacyTransaction(txBytes) (*TxOutcome, error) | Ejecutar una transacción legacy |
SendVersionedTransaction(txBytes) (*TxOutcome, error) | Ejecutar una transacción v0+ |
SimulateLegacyTransaction(txBytes) (*TxOutcome, error) | Simular sin aplicar cambios de estado |
SimulateVersionedTransaction(txBytes) (*TxOutcome, error) | Simular v0+ sin aplicar cambios de estado |
LatestBlockhash() (solana.Hash, error) | Blockhash actual |
ExpireBlockhash() error | Avanzar a un nuevo blockhash |
GetTransaction(signature) *TxOutcome | Buscar una transacción en el historial (nil si no existe) |
litesvm.BuildTransferTx(payerSeed, to, lamports, blockhash) ([]byte, error) | Helper de prueba que construye una transferencia legacy firmada sin depender de solana-go |
Configuración
| Método | Descripción |
|---|---|
SetSigverify(bool) error | Activar / desactivar la verificación de firmas |
Sigverify() (bool, error) | Leer la configuración actual |
SetBlockhashCheck(bool) error | Activar / desactivar la validación de blockhash |
SetTransactionHistory(int) error | Capacidad del historial de transacciones en memoria (0 desactiva) |
SetLogBytesLimit(int) error | Límite de bytes de log por transacción (negativo = ilimitado) |
SetLamports(uint64) error | lamports predeterminados para nuevas cuentas del pool de airdrop |
SetSysvars() error | Restablecer sysvars a sus valores predeterminados |
SetBuiltins() error | Recargar programas integrados |
SetDefaultPrograms() error | Recargar SPL Token, Memo, etc. |
SetPrecompiles() error | Activar precompilaciones ed25519 / secp256k1 |
WithNativeMints() error | Inicializar el mint de SOL envuelto (seed) |
SetFeatureSet(*FeatureSet) error | Instalar un conjunto de feature gates |
SetComputeBudget(ComputeBudget) error | Aplicar un presupuesto de cómputo |
ComputeBudget() (ComputeBudget, bool, error) | Leer el presupuesto actual (el bool indica si fue definido explícitamente) |
Tiempo y Sysvars
| Método | Descripción |
|---|---|
WarpToSlot(slot uint64) error | Saltar a un slot específico |
Clock() (Clock, error) | Leer el sysvar Clock |
SetClock(Clock) error | Sobreescribir el sysvar Clock |
Rent() (Rent, error) | Leer el sysvar Rent |
SetRent(Rent) error | Sobreescribir el sysvar Rent |
EpochSchedule() (EpochSchedule, error) | Leer el sysvar EpochSchedule |
SetEpochSchedule(EpochSchedule) error | Sobreescribir el sysvar EpochSchedule |
EpochRewards() (EpochRewards, error) | Leer el sysvar EpochRewards |
SetEpochRewards(EpochRewards) error | Sobreescribir el sysvar EpochRewards |
LastRestartSlot() (uint64, error) | Leer el último slot de reinicio |
SetLastRestartSlot(uint64) error | Establecer el último slot de reinicio |
SlotHashes() ([]SlotHash, error) | Leer el sysvar SlotHashes |
SetSlotHashes([]SlotHash) error | Sobreescribir el sysvar SlotHashes |
SlotHistory() (*SlotHistory, error) | Leer el sysvar SlotHistory (handle) |
SetSlotHistory(*SlotHistory) error | Sobreescribir el sysvar SlotHistory |
StakeHistory() ([]StakeHistoryItem, error) | Leer el sysvar StakeHistory |
SetStakeHistory([]StakeHistoryItem) error | Sobreescribir el sysvar StakeHistory |
Utilidades
| Método | Descripción |
|---|---|
litesvm.Version() string | Cadena de versión reportada por el crate de Rust litesvm subyacente |
Is this page helpful?