8.7 KiB
html, parent, seo, labels
| html | parent | seo | labels | |||
|---|---|---|---|---|---|---|
| install-clio-on-ubuntu.html | install-rippled.html |
|
|
Ubuntu LinuxへのClioのインストール
このページでは、aptを使用して、Ubuntu Linux 20.04 以降にClioの最新安定版をインストールするための推奨手順を説明します。
これらの手順はRippleによってコンパイルされたバイナリをインストールします。Clioをソースからビルドする方法については、Clioソースコードリポジトリをご覧ください。
前提条件
Clioをインストールする前に、以下の条件を満たしている必要があります。
-
お使いのシステムがシステム要件を満たしていることを確認してください。
{% admonition type="info" name="Note" %}Clioのシステム要件は
rippledサーバと同じですが、同じ量のレジャー履歴を保存するのに必要なディスク容量はClioの方が少なくなります。{% /admonition %} -
互換性のあるバージョンの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を自分でインストールすることです。
インストールの手順
-
リポジトリを更新します。
sudo apt -y update{% admonition type="success" name="ヒント" %}すでに同じマシンに
rippledの最新版をインストールしている場合、Rippleのパッケージリポジトリと署名キーを追加する以下のステップは省略できます。ステップ5の"Rippleリポジトリを取得します。"から再開します。{% /admonition %} -
ユーティリティをインストールします。
sudo apt -y install apt-transport-https ca-certificates wget gnupg -
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 -
追加したキーのフィンガープリントを確認します。
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で始まる部分です。) -
使用しているオペレーティングシステムのバージョンに対応する適切な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向けのものです。
-
Rippleリポジトリを取得します。
sudo apt -y update -
Clioソフトウェアパッケージをインストールします。オプションは2つあります。
-
同じマシン上で
rippledを実行するには、両方のサーバをセットアップするclioパッケージをインストールしてください:sudo apt -y install clio -
Clio を
rippledとは別のマシンで実行するには、Clioのみをセットアップするclio-serverパッケージをインストールしてください:sudo apt -y install clio-server
-
-
別のマシンで
rippledを実行している場合は、Clioの設定ファイルを修正して、そちらを指すようにします。clioパッケージを使って同じマシンに両方をインストールした場合は、この手順を省略できます。-
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リクエストを受け付けるポート番号
{% admonition type="info" name="注記" %}
etl_sourcesセクションに項目を追加することで、複数のrippledサーバをデータソースとして使用することができます。そうすると、Clioはリスト内のすべてのサーバでリクエストを負荷分散し、少なくともrippledサーバの一つが同期している限り、ネットワークに追いつくことができます。{% /admonition %}設定ファイル例は、ローカルのループバックネットワーク(127.0.0.1)上で動作している
rippledサーバに、ポート6006のWebSocket(WS)とポート50051のgRPCでアクセスします。 -
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{% admonition type="success" name="ヒント" %}もし
rippledと同じマシンでClioを実行していない場合は、サンプルのsecure_gatewayを変更して、ClioサーバのIPアドレスを使用してください。{% /admonition %}
-
-
-
Clioのsystemdサービスを有効にして起動します。
sudo systemctl enable clio -
rippledサーバとClioサーバを起動します。sudo systemctl start rippled sudo systemctl start clio新しいデータベースで始める場合、Clioは完全なレジャーをダウンロードする必要があります。これには時間がかかります。両方のサーバを初めて起動する場合、Clioはレジャーを抽出する前に
rippledの同期を待つため、さらに時間がかかることがあります。
関連項目
- コンセプト: