Agenda
やりたいこと
anchor testすると、テストファイルを実行している間だけvalidatorが動いているが、処理が終了するとvalidatorも終了するため、Solana Explorerで確認することができない。
solana-test-validatorで起動しておき、「% anchor test --skip-local-validator」を実行すると確認できるようになるが、基本は anchor test を使って、どうしてもデバッグしたい場合のみ、validatorを見るようにしたい。
前提
validatorを起動すると、test-ledgerフォルダが作成され、そこに情報が格納されるようになっている。
対応
Anchorもtest-ledgerフォルダが作成されるため、そのディレクトリに移動してから、solana-test-validatorを起動すればよい。
ファイル構成
.
├── .DS_Store
├── .anchor
│ ├── .DS_Store
│ ├── program-logs
│ └── test-ledger ← ここにトランザクションの情報が入っている
├── .env.dev
├── .git
├── .gitignore
├── .prettierignore
├── .vscode
│ └── tasks.json
├── Anchor.toml
├── Cargo.lock
├── Cargo.toml
├── app
│ ├── .DS_Store
│ └── tests
├── migrations
│ └── deploy.ts
・・・省略
やり方
まずトランザクションをためる。
% anchor test
そのあとにtest-ledgerが入っている場所の上位階層に移動してvalidatorを実行する。
% cd .anchor
% solana-test-validator
あとは、 Solana Explorerで閲覧 する。