🦁
Solana Validator Governance CLI (svmgov)の使い方
svmgov は、Solana バリデーターが Solana Validator Governance プログラムと対話するために設計されたCLIツールです。
このツールを使うと、簡単にローカルマシンから直接ガバナンス提案の作成、提案のサポート、投票、投票の集計、提案と投票のリスト表示などを簡単に行うことができます。
要件
- Rust: 1.85.0以上 (stable版のみ)
- rustup経由でインストール
事前準備
rustが必要なので、まだインストールされてない方は済ましておきましょう
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Rustの確認
rustc --version
rustc 1.89.0 (29483883e 2025-08-04)
またOpenSSL開発ライブラリなど必要になるものもインストールしておきます
sudo apt update
sudo apt install libssl-dev pkg-config build-essential
svmgovをビルドする
リポジトリのクローン:
git clone https://github.com/3uild-3thos/govcontract.git
cd govcontract/svmgov
プロジェクトのビルド:
cargo build --release
CLIの実行:
./target/release/svmgov
使い方
svmgovは、ガバナンス提案と投票を管理するためのコマンド群を提供します。
ブロックチェーンに書き込みが必要なコマンドでは、署名を行うバリデーターのIDキーペアを指定するために、--identity-keypairフラグが必要です。
バリデーターのidentityキーペアのパスを確認しておきましょう。
投票する
一例として、テストネット上で任意の提案に対して投票を行ってみます。
投票の単位はベーシスポイント単位です。もし10%賛成であれば --for-votes 1000となります。
賛成・反対・棄権の合計で10,000になるようにします。
./target/release/svmgov cast-vote -i /path/to/validator-keypair.json \
--for-votes 6000 \
--against-votes 2000 \
--abstain-votes 2000 \
--rpc-url https://api.testnet.solana.com \
--proposal-id {proposal-id}
トランザクションが問題なく通ればOKです。
投票を確認してみます。
./target/release/svmgov list-votes \
-i /path/to/validator-keypair.json \
--proposal-id {proposal-id} \
--rpc-url https://api.testnet.solana.com \
--verbose
grepなどで自分の投票があるか確認しましょう
結論
2025年8月現在、svmgovはコミュニティのフィードバックをもらいながら改善を進めているようです。
私もいくつかコマンドを試したのですが、良きせぬエラーが出ることがあったのでバグ報告などしました。もし他に改善点やバグなどあればGitHub経由でフィードバックするといいかと思います
Discussion