クイックスタートガイド
このガイドでは、アカウントの作成、資金の追加、トランザクションの送信といった基本的な手順を説明します。
依存関係のインストール
LiteSVMを開発用依存関係に追加します:
cargo add --dev litesvm
いくつかのSolanaクレートは、必要な型やユーティリティを提供することでテスト体験を向上させます。solana-sdkコンビニエンスクレート、または個別のコンポーネントクレートを使用できます:
cargo add --dev solana-sdk
テストファイルの作成
ワークスペース内に、tests用のフォルダを作成します。
mkdir tests
アカウントの作成と資金調達
最初のLiteSVMテストを書いてみましょう。
testsフォルダ内に新しいファイルを作成し、以下のコードをコピーします。
tests/create_account.rs
use litesvm::LiteSVM;use solana_sdk::signature::{Keypair, Signer};#[test]fn create_account() {// Create the test environmentlet mut svm = LiteSVM::new();// Create a test accountlet user = Keypair::new();// Fund the account with SOLsvm.airdrop(&user.pubkey(), 1_000_000_000).unwrap();// Check the balancelet balance = svm.get_balance(&user.pubkey()).unwrap();assert_eq!(balance, 1_000_000_000);println!("Account funded with {} SOL", balance as f64 / 1e9);}
テストの実行
cargo test create_account -- --show-output
次のように表示されるはずです:
running 1 testtest create_account ... oksuccesses:---- create_account stdout ----Account funded with 1 SOLsuccesses:create_account
できました! これがあなたの最初のlitesvmテストです。アカウントの作成と資金の追加をカバーしています。
トランザクションを実行する
次に、送金トランザクションを作成しましょう。
新しいテストファイルを作成し、このコードをコピーしてください:
tests/transfer_test.rs
use litesvm::LiteSVM;use solana_sdk::{signature::{Keypair, Signer},system_instruction,transaction::Transaction,};#[test]fn test_transfer() {let mut svm = LiteSVM::new();// Create two accountslet alice = Keypair::new();let bob = Keypair::new();// Fund Alicesvm.airdrop(&alice.pubkey(), 2_000_000_000).unwrap();// Create transfer instructionlet transfer = system_instruction::transfer(&alice.pubkey(),&bob.pubkey(),1_000_000_000, // 1 SOL);// Build and sign transactionlet tx = Transaction::new_signed_with_payer(&[transfer],Some(&alice.pubkey()),&[&alice],svm.latest_blockhash(),);// Send it (execution happens immediately)svm.send_transaction(tx).unwrap();// Check new balancesassert_eq!(svm.get_balance(&bob.pubkey()).unwrap(), 1_000_000_000);assert!(svm.get_balance(&alice.pubkey()).unwrap() < 1_000_000_000);println!("Transfer successful!");}
テスト完了! このテストは、System Programからの送金instructionsの実行をカバーしています。
すべてのテストを実行する
cargo test -- --show-output
次のように表示されるはずです:
running 1 testtest create_account ... oksuccesses:---- create_account stdout ----Account funded with 1 SOLsuccesses:create_accounttest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04sRunning tests/test_transfer.rs (target/debug/deps/test_transfer-f174954e7483f36b)running 1 testtest test_transfer ... oksuccesses:---- test_transfer stdout ----Transfer successful!successes:test_transfertest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
以上です! これで、アカウントの作成・入金とトランザクションの実行を行うlitesvmテストの作成に成功しました。
次のステップ
LiteSVMを使う理由 → テストにLiteSVMを使用する理由について学ぶ
プログラムのテスト →
独自のSolanaプログラムをテストする方法を学ぶ
サンプル
→
よくあるシナリオのコピー&ペースト用ソリューションとリポジトリ全体のサンプルを見る
APIリファレンス →
高度な機能とカスタム設定について学ぶ
Is this page helpful?