litesvm-go の完全なAPIドキュメントです。メソッド名は可能な限りRustのLiteSVMビルダーを踏襲しており、ゲッター/セッターのペアはGoの慣例に従っています(Clock / SetClock、Rent / SetRent など)。
APIセクション
アカウント管理
Airdrop、Balance、GetAccount、SetAccount、NewAccount、プログラム
トランザクション
レガシー+バージョン付きトランザクションの送信/シミュレート、TxOutcome
設定
署名検証、ブロックハッシュチェック、履歴、ログ制限、デフォルトプログラムのトグル
時刻とSysvar
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) | SetAccount用のAccountハンドルを構築する |
プログラム管理
| メソッド | 説明 |
|---|---|
AddProgram(programID, bytes) error | バイト列からプログラムをロードする |
AddProgramFromFile(programID, path) error | .soファイルからプログラムをロードする |
AddProgramWithLoader(programID, bytes, loaderID) error | 特定のローダーでロードする(上級者向け) |
トランザクション
| メソッド | 説明 |
|---|---|
SendLegacyTransaction(txBytes) (*TxOutcome, error) | レガシートランザクションを実行する |
SendVersionedTransaction(txBytes) (*TxOutcome, error) | v0以降のトランザクションを実行する |
SimulateLegacyTransaction(txBytes) (*TxOutcome, error) | 状態変更なしでシミュレートする |
SimulateVersionedTransaction(txBytes) (*TxOutcome, error) | 状態変更なしでv0以降をシミュレートする |
LatestBlockhash() (solana.Hash, error) | 現在のブロックハッシュ |
ExpireBlockhash() error | 新しいブロックハッシュに進める |
GetTransaction(signature) *TxOutcome | 履歴からトランザクションを検索する(存在しない場合はnil) |
litesvm.BuildTransferTx(payerSeed, to, lamports, blockhash) ([]byte, error) | solana-goを使わずに署名済みレガシー送金トランザクションを構築するテストヘルパー |
設定
| メソッド | 説明 |
|---|---|
SetSigverify(bool) error | 署名検証を有効/無効にする |
Sigverify() (bool, error) | 現在の設定を読み取る |
SetBlockhashCheck(bool) error | ブロックハッシュ検証を有効/無効にする |
SetTransactionHistory(int) error | インメモリTX履歴の容量(0で無効) |
SetLogBytesLimit(int) error | TX毎のログバイト上限(負の値=無制限) |
SetLamports(uint64) error | 新規エアドロッププールアカウントのデフォルトlamport数 |
SetSysvars() error | sysvarをデフォルトにリセットする |
SetBuiltins() error | 組み込みプログラムを再ロードする |
SetDefaultPrograms() error | SPL Token、Memoなどを再ロードする |
SetPrecompiles() error | ed25519 / secp256k1プリコンパイルを有効にする |
WithNativeMints() error | ラップドSOLミントをseedする |
SetFeatureSet(*FeatureSet) error | フィーチャーゲートセットをインストールする |
SetComputeBudget(ComputeBudget) error | コンピュートバジェットを適用する |
ComputeBudget() (ComputeBudget, bool, error) | 現在のバジェットを読み取る(boolは「明示的に設定済み」を示す) |
時刻とSysvar
| メソッド | 説明 |
|---|---|
WarpToSlot(slot uint64) error | 指定したslotにジャンプする |
Clock() (Clock, error) | Clock sysvarを読み取る |
SetClock(Clock) error | Clock sysvarを上書きする |
Rent() (Rent, error) | Rent sysvarを読み取る |
SetRent(Rent) error | Rent sysvarを上書きする |
EpochSchedule() (EpochSchedule, error) | EpochSchedule sysvarを読み取る |
SetEpochSchedule(EpochSchedule) error | EpochSchedule sysvarを上書きする |
EpochRewards() (EpochRewards, error) | EpochRewards sysvarを読み取る |
SetEpochRewards(EpochRewards) error | EpochRewards sysvarを上書きする |
LastRestartSlot() (uint64, error) | last-restart-slotを読み取る |
SetLastRestartSlot(uint64) error | last-restart-slotを設定する |
SlotHashes() ([]SlotHash, error) | SlotHashes sysvarを読み取る |
SetSlotHashes([]SlotHash) error | SlotHashes sysvarを上書きする |
SlotHistory() (*SlotHistory, error) | SlotHistory sysvar(ハンドル)を読み取る |
SetSlotHistory(*SlotHistory) error | SlotHistory sysvarを上書きする |
StakeHistory() ([]StakeHistoryItem, error) | StakeHistory sysvarを読み取る |
SetStakeHistory([]StakeHistoryItem) error | StakeHistory sysvarを上書きする |
ユーティリティ
| メソッド | 説明 |
|---|---|
litesvm.Version() string | 基盤となるRust litesvm クレートが報告するバージョン文字列 |
Is this page helpful?