見出し画像

【完全保存版】ローカル環境でのsolana CLIを実行(コントラクトのデプロイまで)

今回は、こちらの公式ドキュメントに沿って、ローカル環境で、solana CLIを実行してみます。

0 Windowsユーザーの方へ

1 インストールについて

私はMacを使っているので、ここは実行していないのですが、Windowsをお使いの方事前にこちらが必要です。

Windows 10 か11の場合は、下の2つのインストールが必要です。

2 wslコマンドの実行について

インストールができましたら、インストールした、「Windows Terminal」を開きます。

その後、新しいタブで、「wsl」コマンドを実行する必要があります。

1 Solana CLIのインストール

1 インストールの実行

では、まずは下のコマンドで、インストールを行います。

sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

このように安定版(stable)をインストールできました。

もしくは、特定のバージョンのインストールの場合はこちらになります。

下は、v1.18.3をインストールしています。

詳しくは、下をご参照ください。

2 PATHの設定について

インストールをしたので、こちらのPATHを設定しましょう。

まずは、vimで開きます。

vim ~/.zshrc

ちなみに、私はzshを使っているので、上のコマンドになります。

シェルが不明の場合は、下のコマンドで確認ができます。

「i」を押して「INSERT」モードにして、下のように貼り付けます。

変更に問題がなければ、「Esc」キーで、「INSERT」モードを抜けてから、「wq!」で上書き保存します。

3 PATHの反映について

上書き保存ができましたら、下のコマンドで、反映を行います。
(このコマンドは、zshの場合です。)

source ~/.zshrc

4 バージョンの確認について

最後に、インストールがうまくいっているか、確認してみましょう。

solana --version

下のように、バージョンが確認できれば成功です。

2 ローカルでのバリデータの立ち上げ

1 バリデータの立ち上げ

では、ローカル環境で、バリデータを立ち上げてみましょう。

これにより、ローカル環境で、テスト用の実行が可能になります。

なお、テスト中はこちらは立ち上げたままになります。

別のコマンドを実行する場合は、新しく立ち上げたターミナルで実行していきます。

2 configへのローカルホスト設定

以降、ローカルホストで実行を行うように、config(構成)に設定を行います。

solana config set --url localhost

下のように、設定ができました。

また、せっかくなので、config(構成)ファイルも見てみましょう。

このようになっていました。

3 configの確認について

設定したconfigは、次のコマンドで、いつでも確認できます。

solana config get

3 キーペアの作成

1 キーペアの生成

ウォレットを作成するために、下のコマンドを実行します。

solana-keygen new

「BIP39 Passphrase(empty for none):」で「Enter」を押すと、下のように進みます。

これで公開鍵と、シードフレーズができました。

シードフレーズ他の人には見せず、厳重に保管するものですので、十分ご注意ください。

2 格納場所の設定について

次のコマンドで、キーペアの格納場所を設定します。

solana config set -k ~/.config/solana/id.json

このように、設定できました。

なお、参考までに、キーペアは下のようになっていました。

4 テストトークンの取得について

では、テストトークンを取得してみましょう。

1 残高の確認

その前に、現在の残高を確認します。

solana balance

下のように、0トークンになっていることが確認できました。

なお、このようなエラーになってしまった場合、バリデータを終了させてしまっていると思います。

その場合、第2章のバリデータをもう一度立ち上げてみてください。

2 テストトークンの取得

テストトークンは、次のコマンドで取得できます。

solana airdrop 2

ここでは、2SOLを取得しています。

もう一度、残高を確認すると、増えていることが確認できました。

solana balance

4 バリデータの終了

最後に、立ち上げたバリデータは、「Ctrl」+「c」忘れずに終了してください。

また、第5章以降も続ける場合は、ここでは終了せずに、続けてください。

5 RustとCargoのインストールについて

ここからは、こちらの公式ドキュメントに沿ってやっていきます。

1 インストールの実行

こちらのコマンドで、インストールを行います。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

このように選択肢が表示されたので、私は1のデフォルトで実施しました。

2 PATHの反映

このように、最後まで実行ができました。

最後に、PATHを反映させるために、シェルの再起動かsourceコマンドを実行します。

source "$HOME/.cargo/env"

6 プロジェクトの作成について

1 プロジェクトの生成

こちらのコマンドで、新しいプロジェクトを作ってみましょう。

cargo init hello_world --lib
cd hello_world

下のようにできました。

2 solana-programクレートの追加

では、solana-programクレートを追加しましょう。

まずは、下のコマンドで、solananのバージョンを確認します。

solana --version

では、上で確認したバージョンに合わせて、solana-programを追加しましょう。

私の場合は、「1.18.3」だったので、次のようになります。

cargo add solana-program@"=1.18.3"

「Cargo.toml」にも、下のように追加されていました。

3 libセクションの追加

Cargo.tomlに次のlibセクションを追加します。

[lib]
name = "hello_world"
crate-type = ["cdylib", "lib"]

 「crate-type」でコンパイルされるクレートのタイプを指定しています。

ここでは、次の2つを指定しています。

  • cdylib: C互換の動的ライブラリとしてコンパイル

  • lib: 通常のRustライブラリとしてコンパイル

4 コードの貼り付け

続いて、公式のドキュメントのこの部分を貼り付けます。

https://solana.com/ja/developers/guides/getstarted/local-rust-hello-world

このようにしました。

内容については、こちらの記事をご参照ください。

7 プログラムのデプロイ

1 プログラムのビルド

では、まずビルドを行いましょう。

cargo build-bpf

このようにビルドが完了しました。

「hello_world.so」というファイルができました。

2 ガス代の確認と補充

デプロイを行う前に、テストトークンがあるかを確認しましょう。

solana balance

下のように、十分あることが確認できました。

補充が必要な場合は、次のようにして、取得ができます。

ここでは、2 SOLを取得しています。

solana airdrop 2

3 デプロイの実施

では、ビルドしてできた「hello_world.so」を指定して、デプロイしましょう。

solana program deploy ./target/deploy/hello_world.so

下のようにデプロイが完了しました。

できたプログラムのIDも表示されています。

念の為、残高を確認すると、減っていることも確認できました。

8 バリデータの終了について

ここで終了する場合は、第4章のように、バリデータを修了してください。


今回は以上です。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊