最終更新:
編集

Ubuntu LinuxへのClioのインストール

このページでは、aptを使用して、Ubuntu Linux 20.04 以降にClioの最新安定版をインストールするための推奨手順を説明します。

これらの手順はRippleによってコンパイルされたバイナリをインストールします。Clioをソースからビルドする方法については、Clioソースコードリポジトリをご覧ください。

前提条件

Clioをインストールする前に、以下の条件を満たしている必要があります。

  • お使いのシステムがシステム要件を満たしていることを確認してください。

    Note: Clioのシステム要件はrippledサーバと同じですが、同じ量のレジャー履歴を保存するのに必要なディスク容量はClioの方が少なくなります。

  • 互換性のあるバージョンのCMakeとBoostが必要です。ClioにはC++20とBoost 1.75.0以上が必要です。

  • ローカルまたはリモートで実行されているCassandraクラスタにアクセスします。Cassandraのインストールほうほに従ってCassandraクラスタを手動でインストールして構成するか、次のコマンドのいずれかを使用してDockerコンテナ上でCassandraを実行できます。

    • Clioデータを永続化する場合は、DockerコンテナでCassandraを実行し、Clioデータを格納する空のディレクトリを指定します:

      docker run --rm -it --network=host --name cassandra  -v $PWD/cassandra_data:/var/lib/
      cassandra cassandra:4.0.4
      
    • Clioのデータを永続化したくない場合は、以下のコマンドを実行してください。

      docker run --rm -it --network=host --name cassandra cassandra:4.0.4
      
  • P2Pモードでは1つ以上のrippledサーバにgRPCでアクセスする必要があります。このrippledサーバはローカルでもリモートでも構いませんが、信頼する必要があります。最も確実な方法は、rippledを自分でインストールすることです。

インストールの手順

  1. リポジトリを更新します。

    sudo apt -y update
    

    ヒント: すでに同じマシンにrippledの最新版をインストールしている場合、Rippleのパッケージリポジトリと署名キーを追加する以下のステップは省略できます。ステップ5の"Rippleリポジトリを取得します。"から再開します。

  2. ユーティリティをインストールします。

    sudo apt -y install apt-transport-https ca-certificates wget gnupg
    
  3. Rippleのパッケージ署名用のGPGキーを、信頼できるキーのリストに追加します。

    sudo mkdir /usr/local/share/keyrings/
    wget -q -O - "https://repos.ripple.com/repos/api/gpg/key/public" | gpg --dearmor > ripple-key.gpg
    sudo mv ripple-key.gpg /usr/local/share/keyrings
    
  4. 追加したキーのフィンガープリントを確認します。

    gpg /usr/local/share/keyrings/ripple-key.gpg
    

    出力に、次のようなRipple用のエントリが含まれていることを確認してください。

    gpg: WARNING: no command supplied.  Trying to guess what you mean ...
    pub   rsa3072 2019-02-14 [SC] [expires: 2026-02-17]
        C0010EC205B35A3310DC90DE395F97FFCCAFD9A2
    uid           TechOps Team at Ripple <techops+rippled@ripple.com>
    sub   rsa3072 2019-02-14 [E] [expires: 2026-02-17]
    

    特に、フィンガープリントが一致することを確認してください。(上記の例では、フィンガープリントは三行目のC001で始まる部分です。)

  5. 使用しているオペレーティングシステムのバージョンに対応する適切なRippleリポジトリを追加します。

    echo "deb [signed-by=/usr/local/share/keyrings/ripple-key.gpg] https://repos.ripple.com/repos/rippled-deb focal stable" | \
        sudo tee -a /etc/apt/sources.list.d/ripple.list
    

    上記の例は、Ubuntu 20.04 Focal Fossa向けのものです。

  6. Rippleリポジトリを取得します。

    sudo apt -y update
    
  7. Clioソフトウェアパッケージをインストールします。オプションは2つあります。

    • 同じマシン上でrippledを実行するには、両方のサーバをセットアップするclioパッケージをインストールしてください:

      sudo apt -y install clio
      
    • Clio をrippledとは別のマシンで実行するには、Clioのみをセットアップするclio-serverパッケージをインストールしてください:

      sudo apt -y install clio-server
      
  8. 別のマシンでrippledを実行している場合は、Clioの設定ファイルを修正して、そちらを指すようにします。clioパッケージを使って同じマシンに両方をインストールした場合は、この手順を省略できます。

    1. Clioサーバの設定ファイルを編集してrippledサーバの接続情報を変更します。パッケージはこのファイルを/opt/clio/etc/config.jsonにインストールします。

      "etl_sources":
      [
          {
              "ip":"127.0.0.1",
              "ws_port":"6006",
              "grpc_port":"50051"
          }
      ]
      

      以下の情報が含まれます。

      • rippledサーバのIPアドレス
      • rippledが暗号化されていないWebSocket接続を受け付けるポート番号
      • rippledがgRPCリクエストを受け付けるポート番号

      注記 etl_sourcesセクションに項目を追加することで、複数のrippledサーバをデータソースとして使用することができます。そうすると、Clioはリスト内のすべてのサーバでリクエストを負荷分散し、少なくともrippledサーバの一つが同期している限り、ネットワークに追いつくことができます。

      設定ファイル例は、ローカルのループバックネットワーク(127.0.0.1)上で動作しているrippledサーバに、ポート6006のWebSocket(WS)とポート50051のgRPCでアクセスします。

    2. Clioサーバが接続できるようにrippledサーバの設定ファイルを更新します。パッケージはこのファイルを/etc/opt/ripple/rippled.cfgにインストールします。

      • 暗号化されていないWebSocket接続を受け付けるポートを開きます。

        [port_ws_public]
        port = 6005
        ip = 0.0.0.0
        protocol = ws
        
      • gRPCリクエストを処理するポートを開き、secure_gateway項目にClioサーバのIPを指定します。

        [port_grpc]
        port = 50051
        ip = 0.0.0.0
        secure_gateway = 127.0.0.1
        

        ヒント: もしrippledと同じマシンでClioを実行していない場合は、サンプルのsecure_gatewayを変更して、ClioサーバのIPアドレスを使用してください。

  9. Clioのsystemdサービスを有効にして起動します。

    sudo systemctl enable clio
    
  10. rippledサーバとClioサーバを起動します。

    sudo systemctl start rippled
    sudo systemctl start clio
    

    新しいデータベースで始める場合、Clioは完全なレジャーをダウンロードする必要があります。これには時間がかかります。両方のサーバを初めて起動する場合、Clioはレジャーを抽出する前にrippledの同期を待つため、さらに時間がかかることがあります。

関連項目