🦁

Solana Validator Governance CLI (svmgov)の使い方

に公開

svmgov は、Solana バリデーターが Solana Validator Governance プログラムと対話するために設計されたCLIツールです。
このツールを使うと、簡単にローカルマシンから直接ガバナンス提案の作成、提案のサポート、投票、投票の集計、提案と投票のリスト表示などを簡単に行うことができます。

https://github.com/3uild-3thos/govcontract/

要件

  • 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