上記の公式ドキュメントを参考にSOLANA CLIを使って接続してみる
solana config get
Config File: /root/.config/solana/cli/config.yml
RPC URL: https://api.mainnet-beta.solana.com
WebSocket URL: wss://api.mainnet-beta.solana.com/ (computed)
Keypair Path: /root/.config/solana/id.json
Commitment: confirmed
本番のmainnetに接続してるっぽい
solana config set --url https://api.devnet.solana.com
Config File: /root/.config/solana/cli/config.yml
RPC URL: https://api.devnet.solana.com
WebSocket URL: wss://api.devnet.solana.com/ (computed)
Keypair Path: /root/.config/solana/id.json
Commitment: confirmed
テストネットに変更された
ドキュメントによると、CLIのバージョンはクラスタのバージョン以上にしておく必要があるっぽい
#CLIのバージョン確認
solana --version
solana-cli 1.8.14 (src:59eee75d; feat:1006352700)
#クラスタのバージョン確認
solana cluster-version
Error: error sending request for url (https://api.devnet.solana.com/): error trying to connect: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1916: (unable to get local issuer certificate)
えー、クラスタのバージョン確認するときにエラー出た。。
SSL/TLS通信する際に必要なパッケージがDocker imageに含まれていないっぽい。。
いや、なんでだよ。。Solana CLIがインストールされたDocker imageでクラスタにリクエスト送れないってどういうことよ。。
仕方ないので、最低限のDockerfile作成。
FROM solanalabs/solana:stable
RUN apt-get update
RUN apt-get install -y ca-certificates
新たに作成したコンテナから、クラスタのバージョン確認実行
#クラスタのバージョン確認
solana cluster-version
1.8.12
CLIが1.8.14だったので、クラスタのバージョンを超えているからOK