🐈

[Solana] CLI ツールを使ってみる

2021/12/15に公開

Solana (ソラナ) とは

  • ブロックチェーン技術の1つ
  • Dapps(分散型アプリ)やスマート・コントラクトを構築するためのプラットフォーム
  • ブロックチェーンで最も有名なものが「Etherium(イーサリアム)」
  • 最近ではSolanaが「イーサリアムキラー」と呼ばれ流行ってきている
  • 特徴は「速くて安い」
    • 処理能力が強く、トランザクションのスループットが高い
    • 処理が速いことで、トランザクション手数料が安い
  • スマートコントラクトは、Rustで書くことができる

Solana Tool Suite

  • Solana では、CLI での操作可能なツールが用意されています

Solana Tool のインストール方法

  • Mac & Linuxでのインストール方法

    1. solana Tool のインストール
    > sh -c "$(curl -sSfL https://release.solana.com/v1.9.0/install)"
      downloading v1.9.0 installer
        ✨ 1.9.0 initialized
    
    1. コマンドのPATHを追加
      1 のコマンド実行結果として「export 〜」という出力も一緒にでるのでそれを実行
    > export PATH="/Users/xxx/.local/share/solana/install/active_release/bin:$PATH"
    

    ※ 必要に応じてbashやzshへのPATHを追加ください

    3.ツールインストールの確認
    以下のコマンドを実行し、正常にCLIツールがインストールできているか確認する

    > solana --version
    solana-cli 1.9.0 (src:7782d34b; feat:378846963)
    
    1. ウォレットの鍵を生成
      鍵生成にあたりパスフレーズを求められるので任意で設定し、鍵ファイルを生成します。
    > solana-keygen new
    
    Generating a new keypair
    
    For added security, enter a BIP39 passphrase
    
    NOTE! This passphrase improves security of the recovery seed phrase NOT the keypair file itself, which is stored as insecure plain text
    
    BIP39 Passphrase (empty for none): 
    Enter same passphrase again: 
    
    Wrote new keypair to /Users/xxx/.config/solana/id.json
    
    pubkey: xxxxxxxxxxxxxxxxxxxxxxxxx
    
    Save this seed phrase and your BIP39 passphrase to recover your new
    keypair:
    topple wear visit what refuse sail skin goose law maze secret forum
    

devnetにつないでみる

  • devnetとは、solanaを試してみたい方にとってのPlaygroundとなるような環境
  • トークンも存在するがこれは本物ではない(airdropし放題)

以下のコマンドを実行することで実行すること接続先をdevnetを指定することが可能です。

solana config set --url https://api.devnet.solana.com  

ここでdevnetにつながったはずなので、確認を含めてトークンをairdropしてみましょう

> solana airdrop 1

Requesting airdrop of 1 SOL
Signature: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1 SOL

上のように表示されれば無事にdevnetにてトークンを取得できました!
(本物のトークンなら嬉しいのですが。。。)

次回以降の記事では、devnetを使ってアプリ開発に挑戦してみようと思います。

参照

Discussion