ソース |翻訳元 警告: Eth2 メインネットに接続するには、このガイドに従わないでください。メインネットガイドについては、「Ethereum 2.0 メインネットステーキングチュートリアル (Ubuntu/Teku)」を参照してください。 この記事では、マルチクライアント テストネット Pyrmont を通じて Ethereum 2.0 メインネットにステークする方法について説明します。主に以下のテクノロジーに基づいています:
このガイドには以下の手順が含まれています。
思い出させるこのガイドは Pyrmont テストネット用です。いかなる状況でもメインネット ETH をテストネットに送信しないでください。一度送信すると失われます。 Eth2 メインネットに接続するには、このガイドに従わないでください。メインネット固有のガイドについては、「Ethereum 2.0 メインネットステーキングチュートリアル (Ubuntu/Teku)」を参照してください。 謝辞と免責事項このチュートリアルでは、インターネット上のさまざまな資料を参照します。資料を提供してくださった寄稿者の方々に感謝します! ConsenSys Discord の #teku チャンネルと、Discord でのサポートとレビューをしてくれた EthStaker チームに感謝します。 Ethereum Foundation の Eth2 クライアント チームと研究者に特に感謝します。数年にわたるたゆまぬ努力の末、彼らは私たちをこの素晴らしい瞬間、つまり Eth2.0 の成功へと導いてくれました。 このチュートリアルは教育目的のみに使用されます。私はこの記事で取り上げられている技術の専門家ではありません。このチュートリアルの内容の正確性は保証されません。また、このチュートリアルに従うことで生じたいかなる損失についても責任を負いません。 サポートこのプロセスは少し難しい場合があります。私のほかに、助けを求めることができる 2 つの優れたリソースがあります。
状態このチュートリアルでは、Ethereum、ETH、ステーキング、テストネット、Linux、MetaMask に関する背景知識が必要です。 このチュートリアルでは、以下をインストールして実行する必要もあります。
Raspberry Piユーザーの皆様へこのチュートリアルは Raspberry Pi ではテストしていません。試してみたい場合は、以下にリストされているソフトウェアを ARM バージョンに置き換えるだけです。これが機能するという保証はありません。 必要とする
概要このチュートリアルはかなり長いので、次の図でステーキングの手順を簡単に説明します。黄色の部分がこの記事で取り上げる部分です。 全体のプロセスは次のように概念化できます。
それでは、今すぐ始めましょう! ステップ0: サーバーに接続するSSH ポートを使用して、Ubuntu サーバーに接続します。 Ubuntu の root アカウントは通常デフォルトで無効になっていますが、一部のクラウド プロバイダーでは root アカウントを有効にすることができます。 root としてログインする場合は、root としてログインするのは非常に危険なため、管理者権限を持つユーザー アカウントを再作成することをお勧めします。 注: root としてログインしていない場合は、手順 1 に進んでください。 # adduser <ユーザー名> パスワードを設定し、その他の情報を入力します。 新しいユーザーを sudo グループに追加して、管理者権限を付与します。 # usermod -aG sudo <ユーザー名> <yourusername> としてログインしている場合は、コマンド ラインの前に sudo と入力することで、スーパーユーザー権限でコマンドを実行できます。 オプション: SSH キーを使用してルート アカウント経由で Ubuntu インスタンスに接続した場合は、ルート アカウントの SSH キー データを使用して新しいアカウントに接続する必要があります。 # rsync --archive --chown=<ユーザー名>:<ユーザー名> ~/.ssh /home/<ユーザー名> 最後に、ルート アカウントからログアウトし、新しく作成したユーザー名 <yourusername> を使用して Ubuntu サーバーにログインします。 ステップ1: サーバーをアップグレードするシステムが最新のソフトウェアとセキュリティ設定に更新されていることを確認してください。 $ sudo apt update && sudo apt upgrade$ sudo apt dist-upgrade && sudo apt autoremove $ sudo 再起動 ステップ2: サーバーを保護するセキュリティは非常に重要です。ただし、この記事はセキュリティに関するガイドではないため、基本的な設定のみがリストされています。 ファイアウォールの設定Ubuntu 20.04 サーバーは、デフォルトの UFW ファイアウォールを使用してサーバーにアクセスするトラフィックを制限できますが、最初に SSH、Go Ethereum、Grafana、Teku からの受信トラフィックを許可するように設定します。 SSHを許可する SSH 経由でサーバーに接続できるようにします。セキュリティ上の理由から、次にデフォルトのポートを 22 に変更します (これは一般的な攻撃ベクトルであるため)。 注: デフォルトの SSH ポートを変更しないことを選択した場合 (推奨されません)、デフォルトの SSH ポートを許可するための追加手順 *$ sudo ufw allow 22/tcp* を追加してから、「Go Ethereum」を許可する手順に進む必要があります。 1024 〜 49151 の間のポート番号を選択し、次のコマンドを実行して、まだ使用されていないポート番号を取得します。赤色(使用中)の場合は、別のポートを選択してください。例: sudo ss -tulpn | grep ':6673' $ sudo ss -tulpn | grep ':<SSHポート番号>' ファイアウォールを更新して、<yourSSHportnumber> への受信トラフィックを許可します。 SSH には TCP プロトコルが必要です。例: sudo ufw allow 6673/tcp $ sudo ufw allow <SSHポート番号>/tcp 次に、デフォルトの SSH ポートを変更します。 $ sudo ナノ /etc/ssh/sshd_config デフォルトのポート番号「ポート 22」または「ポート 22」を見つけて、独自のポート番号「ポート <yourSSHportnumber>」を変更します。 # を削除します (ある場合)。以下のスクリーンショットを参照すると、ドキュメントは以下に示すものと似ているはずです (ポート番号を除く)。保存して終了します。 SSHサービスを再起動する $ sudo systemctl sshを再起動します 次回 SSH 経由でログインするときは、ポート番号 <yourSSHportnumber> を使用します。 オプション: ポート 22/TCP に UFW をすでに使用している場合は、ファイアウォールを更新して、そのポートへの受信トラフィックを拒否します。必ず新しい SSH ポートを使用してログインした後にこれを実行してください。 $ sudo ufw 22/tcpを拒否 イーサリアムを許可する Go Ethereum ピア (ポート 30303/TPC および 30303/UDP) からの受信要求を許可します。 Infura などのサードパーティがホストする Eth1 ノードを使用している場合は、この手順をスキップできます。 注: Ubuntu サーバーをローカルでホストしている場合は、ポート 30303 からの受信トラフィックを許可するようにネットワーク ルーティングを構成する必要があります。 $ sudo ufw 許可 30303 テクを許可する Teku のピアとのピアツーピア接続が Beacon Chain ノード上で動作できるようにします (デフォルトのポートは Consensys によって提供される 9000/TCP および 9000/UDP)。 。 注: Ubuntu サーバーをローカルでホストする場合は、ポート 9000 からの受信トラフィックを許可するようにネットワーク ルーティングとファイアウォールを構成する必要があります。 $ sudo ufw 許可 9000 Grafanaを許可する Grafana Web サーバー (ポート 3000/TCP) への受信要求を許可します。 $ sudo ufw 3000/tcp を許可する Prometheus を有効にする (オプション) Prometheus データ サービスに直接アクセスする場合は、ポート 9090/TCP を開くこともできます。 Grafana をデータの表示のみに使用している場合、これは必要ありません。このポートは開いていません。 $ sudo ufw 9090/tcp を許可する ファイアウォールを起動し、正しく設定されているかどうかを確認します。 $ sudo ufw enable$ sudo ufw status numbered 表示は次のようになります ステップ3: Go Ethereumノードをインストールして実行するビーコン チェーンが接続される Eth1.0 ノードをインストールして構成します。サードパーティのサービス (Infura など) を選択した場合は、この手順をスキップできます。 Go EthereumをインストールするGo Ethereum クライアントをインストールするには、PPA (Personal Package Archives) を使用することをお勧めします。 $ sudo add-apt-repository -y ppa:ethereum/ethereum パッケージを更新し、最新の安定バージョンをインストールします。 $ sudo apt update$ sudo apt install geth Go Ethereumをバックグラウンドサービスとして実行するこのサービスを実行するにはアカウントを作成する必要があります。このタイプのアカウントではサーバーにログインできません。 $ sudo useradd --no-create-home --shell /bin/false を実行する Eth1 ノード データを保存するための Eth1 ブロックチェーンのデータ ディレクトリを作成します。 $ sudo mkdir -p /var/lib/goethereum ディレクトリの権限を設定します。 goeth アカウントには、データ ディレクトリを変更する権限が必要です。 $ sudo chown -R goeth:goeth /var/lib/goethereum サービス構成を保存するための systemd サービス ファイルを作成します。この設定ファイルを使用して、systemd に geth プロセスを実行するように指示します。 $ sudo nano /etc/systemd/system/geth.service 次のサービス構成をコピーしてドキュメントに貼り付けます。 [ユニット]説明=Ethereum Go クライアント --goerli フラグは Göerli テストネットをターゲットにするために使用され、--http フラグはビーコン チェーン ノードに接続するための HTTP ポート (http://localhost:8545) を公開するために使用されます。 下のスクリーンショットを参照してください。保存して終了します。 上記の変更を表示するには、systemd をリロードします。 $ sudo systemctlデーモンリロード サービスを開始し、正常に実行されていることを確認します。 $ sudo systemctl gethを開始$ sudo systemctl status geth 表示は以下のスクリーンショットのようになります。 すべてを正しく実行すると、緑色で「アクティブ(実行中)」と表示されます。表示されない場合は、戻って上記の手順を繰り返して問題を解決する必要があります。終了するにはQを押してください。 システムの再起動時に geth サービスが自動的に開始されるようにします。 $ sudo systemctl gethを有効にする Go Ethereum ノードが同期を開始します。進行状況を追跡するには、journal コマンドを実行します。終了するには、Ctrl+C を押します。 注意: Ctrl+C を押してジャーナルを終了しても、サービスには影響しません。ジャーナルは、サービス ログをリアルタイムで表示するものです。 注: Ctrl+C を使用してジャーナルを終了しても、サービスには影響しません。ジャーナルは、サービス ログをリアルタイムで表示するものです。 $ sudo journalctl -fu geth.service 同期するピアを見つけるのに時間がかかる場合 (10 分以上)、ピアを追加できます。ここにアクセスして最新のマニフェストを取得し、次のコマンドを実行して geth サービスを変更します。 $ sudo systemctl stop geth$ sudo nano /etc/systemd/system/geth.service ExecStart 行を変更し、--bootnodes フラグを追加します。最新のピアを以下にコンマで区切ってリストします。 ExecStart=geth --goerli --http --datadir /var/lib/goethereum --bootnodes "enode://46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291@94.237.54.114:30313 、enode://119f66b04772e8d2e9d352b81a15aa49d565590bfc9a80fe732706919f8ccd00a471cf8433e398c55c4862aadb4aadf3a010201483b87e8358951698aa0b6f07@13.250.50.139:30303" ファイルを保存して終了します。その後、サービスを再起動して観察します。 $ sudo systemctl daemon-reload$ sudo systemctl gethを起動します 起動後、画面は以下のスクリーンショットのようになります。 ビーコン チェーンを実行する前に、ノードが同期するまで待つ必要があります。最新のブロックにアクセスするにはここをクリックしてください。 たとえば、上のスクリーンショットはノードがブロック番号 43756 を処理していることを示しており、下のスクリーンショットは最新のブロックが 3196411 であることを示しています。つまり、同期を完了するにはまだ時間があるということです。 次に、バリデータ入金データを準備します。同期のステータスを確認したい場合は、いつでも sudo journalctl -fu geth.service コマンドを実行できます。 ステップ4: バリデータキーと入金データを生成するEth2.0 Pyrmont テストネットでバリデータノードを実行するには、1 つ以上のバリデータアカウントを登録する必要があります。 注意: すでに入金データを生成し、ステーク入金を送信している場合は、この手順をスキップできます。他の場所で認証キーを生成した場合は、このサーバーに認証キーをコピーする必要があります。 登録手順は次のとおりです。
それでは、今すぐ始めましょう! Goerli ETHを入手
注: バリデーターには 32 ETH のデポジットが必要です。 MetaMask ウォレットには、各バリデータ クライアントに十分な Göerli ETH が入金されている必要があります。たとえば、10 個のバリデーターを実行する場合は、320 Göerli ETH と、ガス料金を支払うための追加のお金 (1 Göerli ETH など) が必要になります。 バリデータキーを生成する次に、入金データと検証キーを生成する必要があります。 Teku バリデータ クライアントは複数のバリデータ キーをサポートします。 Pyrmont テストネットでは、基本的に 1 つのバリデータ キーが 1 つの「バリデータ アカウント」を表します。入金データにはステーキング情報(バリデータキーリストなど)が含まれます。 Deposit コマンドライン インターフェース アプリの最新リリースを入手するには、ここをクリックしてください。 「アセット」列に Linux バージョンへのリンクをコピーします。以下に示すリンクを使用してダウンロードします。コマンド内の URL を最新バージョンのダウンロード リンクに変更します。 $ cd ~$ sudo apt install curl tar アーカイブを開き、作成されたディレクトリに移動します。 $ sudo tar xvf eth2deposit-cli-ed5a6d3-linux-amd64.tar.gz$ cd eth2deposit-cli-ed5a6d3-linux-amd64 アプリケーションを実行して、入金データと検証キーを生成します。 <numberofvalidators> を、作成する検証キーの数に変更します。例: --num_validators 5 $ sudo ./deposit new-mnemonic --num_validators <検証子の数> --mnemonic_language=english --chain pyrmont ウォレットのパスワードを作成するように求められます。これを使用して、バリデータ キーを Teku クライアントのバリデータ ウォレットに読み込みます。安全な場所にバックアップしてください。 シードフレーズ(ニーモニック)を生成します。別の場所にバックアップしてください。これは重要であり、引き出しキーを生成したり、バリデータを追加したりするために必要になります。 ニーモニックを確認すると、バリデータ キーが作成されます。 新しく作成されたバリデータキーと入金データドキュメントは特定の場所に作成されます。たとえば、 eth2deposit-cli-ed5a6d3-linux-amd64/validator_keys です。マークしておいてください。後で必要になります。 フォルダの内容は次のとおりです。 deposit_data-[timestamp].json ドキュメントには、バリデータの公開鍵と入金情報が含まれています。この書類は、入金手続きを完了するための次のステップで使用されます。サーバー上にあり、Web ブラウザーがないため、セキュア FTP (SFTP) を使用して、MetaMask を実行しているコンピューターにドキュメントを転送します。続行する前にこの手順を完了することを忘れないでください。 keystore-m...json ドキュメントには暗号化された署名キーが含まれています。各バリデータ アカウントには keystore-m があります。これらは、Teku クライアント バリデータ ウォレットを作成するために使用されます。 ダウンロードした tar アーカイブを削除してクリーンアップします。 $ cd ~$ rm -rf eth2deposit-cli-ed5a6d3-linux-amd64.tar.gz デポジットデータとキーストアファイルが揃ったので、Teku を設定できます。 Teku をセットアップする前に、資産をキーに預ける (バリデーターをアクティブ化するために Göerli ETH を預ける) 必要があります。そうすることで、まずセットアップを検証できます。バリデーターの入金が有効化されているが、システムの準備ができていない場合、非アクティブとしてペナルティが課せられます。 ステップ5: インストール条件Teku は Java 言語に基づいて構築されているため、実行するには Java ランタイム環境 (JRE) が必要であり、コンパイルするには Java 開発キット (JDK) が必要です。 両方のツールをインストールします。 $ sudo apt install default-jre default-jdk$ java --version 表示は次のようになります ethstaker@ETH-STAKER-001:~$ java --versionopenjdk 11.0.9.1 2020-11-04 OpenJDK ランタイム環境 (ビルド 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) ステップ6: TekuのクローンとビルドこれでTekuを構築する準備が整いました。 Teku は teku バイナリ ファイルを生成します。このバイナリは、ビーコン チェーンとバリデータ クライアントの機能を提供します。 Teku の最新バージョンを入手するには、ここをクリックしてください。マスター ブランチ バージョンは不安定になる可能性があるため、クローンを作成しないように注意してください。 タグを使用する(この場合は20.11.0-RC2) $ cd ~$ git clone --b 20.11.0-RC2 https://github.com/Consensys/teku.git Gradleを使用してコードをコンパイルする $ sudo ./gradlew インストールDist ビルド時間は約3〜6分かかります。飲み物を飲んで水分補給しましょう。私の他の記事も読んでみてください。 すべてがうまくいけば、続行します。そうでない場合は、ConsenSys Discord の #teku チャンネルで助けを求めてください: https://discord.gg/trQ378WCp4 ステップ7: Tekuバイナリをコピーする次に、コンパイルされた Teku ファイルを /usr/local/bin ディレクトリにコピーして貼り付けます。ここで、後で systemd サービスを作成し、ファイルを実行します。 $ cd ~$ sudo cp -a teku/build/install/teku/. /usr/local/bin/teku 注意: *teku* バイナリの新しいバージョンをプルまたはビルドするたびに、これを実行する必要があります。このチュートリアルの最後の付録「Teku アップデート」を参照してください。 ステップ8: ビーコンノードとバリデータクライアントを構成するTeku クライアントはサービスとして実行されるため、システムを再起動するとプロセスも自動的に再起動されます。 アカウントとディレクトリの設定ビーコンおよびバリデータノードを実行するためのアカウントを作成します。このタイプのアカウントはサーバーにログインするために使用できません。 $ sudo useradd --no-create-home --shell /bin/false teku Teku クライアント データ ドキュメント用のデータ ディレクトリと、Teku 構成ドキュメント用の config ディレクトリを作成します。 $ sudo mkdir -p /var/lib/teku$ sudo mkdir -p /etc/teku この方法では、ドキュメントを 1 か所に集中させ、keystore-m...json ドキュメントを先ほど作成したデータ ディレクトリにコピーできます。 $ sudo cp -a /$HOME/<ValidatorKeysPath> /var/lib/teku <ValidatorKeysPath> に、生成したバリデータ キーへのパスを入力します (例: eth2deposit-cli-ed5a6d3-linux-amd64/validator_keys)。 keystore-m ファイルのみをコピーすることに注意してください。 deposit_data ドキュメントをコピーしないでください。コピーした場合は、次のコードで削除してください。 $ cd /var/lib/teku/validator_keys$ ls 次のような結果が表示されます (バリデータ ドキュメントの数によって異なります)。 認証者パスワード文書の作成Teku クライアントでは、実行時にバリデーターが各バリデーター アカウントにアクセスするためのパスワード ドキュメントを必要とし、サービスが自動的に再起動されます。 各バリデーターの keystore-m...json キー ファイルには、対応するパスワード txt ファイルが必要です。すべての認証子のパスワードが同じであっても、この手順は必須です。パスワード ファイルの名前は、対応する keystore-m ファイルと一致している必要があります。 $ ls /var/lib/teku/validator_keys 各 keystore_m*.json ファイルに対して、同じ名前のパスワード ファイルを作成します。 $ sudo nano /var/lib/teku/validator_keys/<jsonファイル名>.txt <jsonfilename> に json ドキュメントの名前を入力します。最後に .txt を追加することを忘れないでください。 txt ファイルで、キーストアのパスワード (手順 4 で検証ファイルを作成するときに指定したパスワード) を YourKeystorePasswordForThisValidator に入力します。保存して終了します。各 *.json ドキュメントに対して上記の手順を繰り返します。 次の結果が得られれば、この手順は完了です。 注意: *deposit_data-\*.json* ファイルは存在しないはずです。ある場合は削除してください。 Teku クライアントは対応するパスワード ドキュメントが存在することを期待するため、誤ったペアリングが発生します。 権限を設定するディレクトリの権限を設定します。 teku アカウントにはディレクトリを変更する権限が必要です。ディレクトリの権限が正しく設定されていることを確認します。 $ sudo chown -R teku:teku /var/lib/teku$ sudo chown -R teku:teku /etc/teku 次のようになります: 認証者キーにドキュメント権限を適用して、セキュリティをさらに強化し、誤って削除されるのを防ぎます。 (teku) ユーザーに読み取り/書き込み/実行権限を与えます。ドキュメントの権限が正しく設定されていることを確認します。 $ sudo chmod -R 700 /var/lib/teku/validator_keys$ sudo ls -lh /var/lib/teku/validator_keys 結果は次のようになるはずです バリデータキーとパスワードが設定されたので、サービスの設定を開始できます。 Teku構成ドキュメントを作成するTeku クライアントは、構成ファイルを介してコマンド ライン オプションを読み取ることができます。今すぐ作成します。 $ sudo nano /etc/teku/teku.yaml 次のコードをドキュメントに貼り付けます。 データベース パス: "/var/lib/teku"ネットワーク: "pyrmont"eth1 エンドポイント: "http://127.0.0.1:8545/"バリデータ キー: "/var/lib/teku/validator_keys:/var/lib/teku/validator_keys"バリデータ グラフィティ: "<yourPOAPstring>"p2p ポート: 9000ログ送信先: CONSOLEmetrics-enabled: truemetrics-port: 8008rest-api-enabled: true flagdata-base-path は、サービスがデータを保存する場所を定義します。 flageth1-endpoint は ETH1 ノードのエンドポイントを定義します。ローカルにインストールする場合、この値は http://127.0.0.1:8545 になります。サードパーティのノード (Infura など) を使用している場合は、この値を外部端末のアドレスを指すように変更する必要があります。 フラグ validators-keys は、キー ファイルとパスワード ファイルの場所を示します。こうすることで、それらはすべて同じディレクトリ内にあります。 <yourPOAPstring> に必要なテキストを入力します。たとえば、validators-graffiti: "abcdefg12345" などです。 推奨されるログ出力先: systemd 使用時の CONSOLE 設定 下のスクリーンショットを参照してください。ドキュメントは次のようになります。終了して保存します。 Teku サービスの作成と構成構成サービスを保存するための systemd サービス ドキュメントを作成します。 $ sudo nano /etc/systemd/system/teku.service 次のコードをコピーしてドキュメントに貼り付けます [ユニット]説明=Tekuクライアント Java (Teku で使用されるプログラミング言語) は、ランタイムを実行するときに大量の RAM を使用するように設計されています。 flagEnvironment="JAVA_OPTS=-Xmx2g" はヒープ サイズを 2GB に制限するため、Teku は合計で約 3~3.5GB の使用可能なメモリで実行されます。 下のスクリーンショットを参照してください。ドキュメントは次のようになります。終了して保存します。 変更を表示するには、systemd をリロードします。 $ sudo systemctlデーモンリロード 注意: ローカル Eth1 ノードを実行している場合 (手順 3 を参照)、Teku サービスを開始する前に、完全に同期されるまで待つ必要があります。プロセスはここで確認してください: *sudo journalctl -fu geth.service* サービスを開始し、正しく実行されていることを確認します。 $ sudo systemctl start teku$ sudo systemctl status teku 表示される結果は次のようになります。 すべてを正しく実行すると、緑色で「アクティブ(実行中)」と表示されます。表示されない場合は、戻って上記の手順を繰り返して問題を解決する必要があります。終了するにはQを押してください。 システムの再起動時にサービスが自動的に再起動されるようにします。 $ sudo systemctl を有効にする ビーコンノードはデータの同期を開始します。完全に同期するまでに数時間かかる場合があります。 journal コマンドを実行すると進行状況を追跡できます。終了するには、Ctrl+C を押します。 注意: Ctrl+C を押してジャーナルを終了しても、サービスには影響しません。ジャーナルはサービス ログのリアルタイム ビューを示します。 $ sudo journalctl -fu teku.service バリデータキーの処理を開始し、データを Eth1 チェーンの先頭に同期します。ヘッドスロットが現在のスロットに同期されると、ビーコンノードの同期が完了します。 Teku クライアントを起動しました。 このステップは終了です。これで、実行中のビーコン チェーンとバリデータ ノードができました。おめでとう!あなたは素晴らしいです! ステップ9: バリデーターの入金を行うセットアップが完了したら、32 Göerli ETH を Pyrmont テストネットに入金する必要があります。 注意: すでにステークデポジットを送信している場合は、この手順をスキップできます。 このステップでは、必要な Göerli ETH を Pyrmont テストネットのデポジット契約にデポジットします。これには、ブラウザ上の Pyrmont の Launchpad ウェブサイトから MetaMask (またはその他の) ウォレットを起動する必要があります。 注意: このチュートリアルがメインネット用である場合 (そうではありません)、デポジットを行う前に、Eth1 ノードとビーコン ノードが完全に同期されるまで待つ必要があります。これを行わないと、Eth1 ノードまたはビーコン チェーンの同期中に slack ペナルティが発生する可能性があります。 Pyrmont テストネット ローンチパッド: https://pyrmont.launchpad.ethereum.org/ 画面が進むにつれて警告手順をクリックし続け、キー ペアを生成する部分に到達します。実行するバリデーターの数を選択します。手順 4 で生成した検証ファイルの数と一致する値を選択します。 下にスクロールして内容に同意するかどうかを確認し、「続行」をクリックします。 deposit_data-[timestamp].json ファイルをアップロードするように求められます。このドキュメントは で作成されました。ブラウザを搭載したコンピュータにコピーしてください。ドキュメントを参照/選択するかドラッグ アンド ドロップして、「続行」をクリックします。 ウォレットを接続します。 MetaMask (またはサポートされている他のウォレット) を選択し、ログインして、Göerli ETH が保存されている Göerli テスト ネットワークを選択し、「続行」をクリックします。 注意: MetaMask で Göerli テスト ネットワークを選択したことを 100% 確認してください。実際の ETH を Pyrmont テストネットに送信しないでください。 MetaMaskの残高が表示されます。 Göerli テスト ネットワークを選択し、十分な Göerli ETH 残高がある場合は、Web サイトで次の手順に進むことができます。 次に、バリデーターの数と必要な Göerli ETH の量を示す概要が表示されます。同意する場合はボックスにチェックを入れ、「続行」をクリックします。 「すべての取引を開始」をクリックします。 複数の MetaMask インスタンスがポップアップ表示され、それぞれが Pyrmont テストネットに対して 32 Göerli ETH のトランザクション要求を行います。各取引ごとにご確認ください。 すべての取引が正常に完了すると、誓約が完了します。 おめでとう! 最後にリストがあります。そこには役に立つ情報がたくさんあります。ぜひご覧ください バリデーターの入金ステータスを確認する新しいバリデーターは、アクティブ化されるまでにしばらく(数時間から数日)待つ必要があります。次の手順に従ってキーのステータスを確認できます。
バリデーターの詳細をクリックします。各バリデーターがアクティブ化されると、ステータス列に推定時間が表示されます。 これで、機能するビーコン チェーン、バリデータ ノード、およびテストネット デポジットができました。入金が有効になると、作業が開始され、収益が得られます。おめでとう! ステップ10: PrometheusをインストールするPrometheus は、監視機能とアラート ツールキットを提供するオープン ソース システムです。これは Ubuntu サーバー上のサービスとして実行され、その役割はデータをスクレイピングすることです。詳細はここをご覧ください。 Prometheus を使用して、ビーコン チェーン、バリデータ、および特定のインスタンス データのランタイム データを公開します。 ユーザーアカウントを作成するこれらのサービスはアカウントの下で実行されます。これらのアカウントはサーバーにログインできません。 $ sudo useradd --no-create-home --shell /bin/false prometheus$ sudo useradd --no-create-home --shell /bin/false node_exporter ディレクトリを作成するプログラムとデータのディレクトリ。 $ sudo mkdir /etc/prometheus$ sudo mkdir /var/lib/prometheus ディレクトリの所有権を設定します。これらは Prometheus アカウントによって管理されます。 $ sudo chown -R prometheus:prometheus /etc/prometheus$ sudo chown -R prometheus:prometheus /var/lib/prometheus PrometheusソフトウェアをダウンロードPrometheus ダウンロード ページから最新バージョンのバージョン番号を変更します。 Rpi ユーザーは必ず ARM バイナリを入手する必要があります。 $ cd ~$ curl -LO https://github.com/prometheus/prometheus/releases/download/v2.22.2/prometheus-2.22.2.linux-amd64.tar.gz tar アーカイブを開きます。 2 つのバイナリ ファイルといくつかのコンテンツ ファイルが含まれています。 $ tar xvf prometheus-2.22.2.linux-amd64.tar.gz バイナリ ファイルを次の場所にコピーします。 $ sudo cp prometheus-2.22.2.linux-amd64/prometheus /usr/local/bin/$ sudo cp prometheus-2.22.2.linux-amd64/promtool /usr/local/bin/ ディレクトリの所有権を設定します。これらは Prometheus アカウントによって管理されます。 $ sudo chown -R prometheus:prometheus /usr/local/bin/prometheus$ sudo chown -R prometheus:prometheus /usr/local/bin/promtool これらのコンテンツ ドキュメントを次の場所にコピーします。 $ sudo cp -r prometheus-2.22.2.linux-amd64/consoles /etc/prometheus$ sudo cp -r prometheus-2.22.2.linux-amd64/console_libraries /etc/prometheus ディレクトリとドキュメントの所有権を設定します (-R)。これらは Prometheus アカウントによって管理されます。 $ sudo chown -R prometheus:prometheus /etc/prometheus/consoles$ sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries ダウンロードアーカイブを削除します。 $ rm -rf prometheus-2.22.2.linux-amd64.tar.gz prometheus-2.22.2.linux-amd64 構成ドキュメントの編集Prometheus は、データを取得する場所を認識するために構成ドキュメントを使用します。 YAML 構成ドキュメントを開いて編集します。 $ sudo nano /etc/prometheus/prometheus.yml 次のコードをドキュメントにコピーし、他の編集を行わないように注意して、終了してファイルを保存します。 グローバル: scrape_interval: 15秒 設定ファイルの所有権を設定します。この所有権は Prometheus アカウントに付与されます。 $ sudo chown -R prometheus:prometheus /etc/prometheus/prometheus.yml 最後に、サーバーが正しく実行されていることをテストします。 $ sudo -u prometheus/usr/local/bin/prometheus \ - config.file /etc/prometheus/prometheus.yml \ 出力は次のとおりです。 Ctrl+Cを押して終了します。 レベル=情報TS = 2020-11-22T17:24:35.396Z CALLER = MAIN.GO:684 MSG = "サーバーはWebリクエストを受信する準備ができています。」 Prometheusを自動的に開始したサービスとして設定しますSystemD Serviceドキュメントを作成して、PrometheusユーザーとしてPrometheusを実行するようにSystemDを指示し、Directory /etc/prometheus/prometheus.ymlに構成ドキュメントを配置し、ディレクトリ/var/lib/prometheusに保存します。 $ sudo nano /etc/systemd/system/prometheus.service 次のコードをドキュメントにコピーします。終了して保存します。 [ユニット]説明=プロメテウス 変更を表示するためにSystemDをリロードします。 $ sudo systemctl daemon-reload 次に、次のコマンドを実行してサービスを開始し、ステータスが正しく実行されていることを確認します。 $ sudo systemctlは、prometheus $ sudo systemctlステータスprometheusを開始します 出力は次の画像のように見える必要があります。 すべてを正しく行った場合、グリーンで「アクティブ(ランニング)」と表示されます。表示されない場合は、問題を修正するために上記の手順を繰り返す必要があります。 Qを押して終了します。 最後に、Prometheusがシステムブートから開始できるようにします。 $ sudo systemctlはprometheusを有効にします ステップ11:ノードエクスポートをインストールしますPrometheusは、ビーコンチェーンとバリデーターに関するデータを提供します。 Ubuntuインスタンスのデータが必要な場合は、node_exporterという拡張子が必要です。以下に別のバージョンを指定する場合は、ここで最新の安定バージョンを見つけることができます。 RPIユーザーは、ARMバイナリドキュメントを取得することを忘れないでください。 $ cd〜 $ curl -lo https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz ダウンロードしたソフトウェアを開きます。 $ tar xvf node_exporter-1.0.1.linux-amd64.tar.gz バイナリドキュメントをディレクトリ/USR/ローカル/ビンにコピーし、ユーザーとグループの所有権を以前に作成したnode_exporterユーザーに設定します。 $ sudo cp node_exporter-1.0.1.linux-amd64/node_exporter/usr/local/bin $ sudo chown-r node_exporter:node_exporter/usr/local/bin/node_exporter ダウンロードされたアーカイブを削除しました。 $ rm -rf node_exporter-1.0.1.linux-amd64.tar.gz node_exporter-1.0.1.linux-amd64 Node Exporterを設定して、自動的にサービスを開始しますSystemD Serviceドキュメントを作成して、SystemDがnode_exporterユーザーとしてnode_exporterを実行するようにsystemdを指示するサービス構成ドキュメントを保存します。 $ sudo nano /etc/systemd/system/node_exporter.service 次のコードをドキュメントにコピーします。終了して保存します。 [ユニット]説明=ノードエクスポート 変更を表示するためにSystemDをリロードします。 $ sudo systemctl daemon-reload 次に、以下のコマンドを押してサービスを開始し、ステータスが正しく実行されることを確認します。 $ sudo systemctl start node_exporter $ sudo systemctl status node_exporter 出力を以下に示す必要があります。 すべてのステップを正しく行うと、グリーンフォントに「アクティブ(実行)」が表示されます。表示されていない場合は、上記の手順を巻き戻して繰り返して問題を修正する必要があります。 Qを押して終了します。 最後に、システムの開始時にノード輸出機が起動することが許可されます。 $ sudo systemctl enable node_exporter PrometheusおよびNode Exporterをテストする(オプション)すべて準備完了です。ファイアウォールにポートを開いて(ステップ1を参照)、http:// <surserverip>:9090を参照して、その機能を選択的にテストできます。そこで、クエリを実行して異なるデータを表示できます。たとえば、このクエリを試して、使用可能なメモリの量を確認できます。 http:// <ureserverip>:9090/new/graph?g0.expr = node_memory_memfree_bytes&g0.tab = 1&g0.stacked = 0&g0.range_input = 1h ステップ12:GrafanaをインストールしますPrometheusは私たちのデータソースであり、Grafanaはダッシュボードデータを報告する機能を提供します。次に、Grafanaをインストールし、ダッシュボードを構成します。 APTリポジトリを使用してインストールします。これにより、インストールと更新が簡単になるためです。 Grafanaは公式のUbuntuパッケージリポジトリにありますが、そのバージョンは最新ではないかもしれないので、Grafanaの公式リポジトリを使用します。 WGETを使用してGrafana GPGのキーをダウンロードし、出力をApt-Keyに転送します。これにより、APTインストールのTrustキーリストにキーが追加されます。 $ wget -q -o -https://packages.grafana.com/gpg.key | sudo apt -key add- GrafanaリポジトリをAPTのソースに追加します。 $ sudo add-papt-repository "deb https://packages.grafana.com/oss/deb stable main" APTキャッシュを更新します。 $ sudo aptアップデート グラファナが倉庫から設置されていることを確認してください。 $ apt-cacheポリシーグラファナ 出力は次のようにする必要があります。 Grafana:インストール:(なし) 上部に表示されるバージョンがここに表示されている最新バージョンと一致するかどうかを確認してください。その後、インストールを続けます。 $ sudo apt install grafana Grafanaサーバーを起動し、ステータスが正しく実行されることを確認してください。 $ sudo systemctl start grafana-server $ sudo systemctl status grafana-server 出力は次のようにする必要があります。 すべてのステップを正しく行うと、グリーンフォントに「アクティブ(実行)」が表示されます。表示されていない場合は、上記の手順を巻き戻して繰り返して問題を修正する必要があります。 Qを押して終了します。 システムの開始時にGrafanaが開始できるようになります。 $ sudo systemctl grafana-serverを有効にします Grafanaログインを構成しますこれができることはすでに素晴らしいことです!すべてがセットアップされて実行されているので、ブラウザでhttp:// <yourserverip>:3000/にアクセスでき、Grafanaログインウィンドウが表示されます。 管理者にユーザー名とパスワードを入力します。システムを使用すると、パスワードを変更できます。必ず変更してください。 Grafanaのデータソースを構成しますデータソースを構成しましょう。マウスを左側のメニューバーのギアアイコンに移動すると、メニューがポップアップ表示されます。データソースを選択します。 [データソースの追加]をクリックし、[Prometheus]を選択します。 URLにhttp:// localhost:9090を入力し、[保存とテスト]をクリックします。 Grafanaダッシュボードをインポートしますマウスを左メニューバーの +アイコンに移動すると、メニューがポップアップし、[インポート]を選択します。 コード13457を使用して公式のTekuシングルVerifierダッシュボードをインポートするか、コード12522を使用してBen Edgingtonダッシュボードをインポートします また、データソース(Prometheus)を選択する必要がある場合があります。 この時点でダッシュボードを見ることができるはずです。最初はデータが少ないかもしれませんが、すべてが実行されると、データはより豊富になります。 最後にここで行われました!このチュートリアルが役立つことを願っています。
TEKUクライアントチームがTEKUコードベースのコードを更新する場合、次のコマンドを使用してサービスを更新できます。 ここで希望するバージョンを見つけて、<リリース>に入力します。例:$ git fetch-tags && gitチェックアウト20.11.0-RC2。 $ cd〜 $ cd teku 声明:ECNの翻訳作業は、高品質の情報と学習リソースを中国のイーサリアムコミュニティに伝えることを目的としています。記事の著作権は原作者に帰属します。元のテキストとethereum.cnのソースを示す必要があります。長期間にわたって再印刷する必要がある場合は、[email protected] に連絡して許可を得てください。 公式アカウント:ETH中国のウェブサイト ウェブサイト:ethereum.cn |
<<: 毎日の市場分析 |オプションの受渡日が近づくにつれて、BTCは大きく変動すると予想される
クレイジーな解説:世界で最も資金を集めたプロジェクトとして、1億5000万元を調達したDAO(分散型...
ビットコインが2024年に史上最高値を更新するには3つの要素が必要です。もう一つの要因がその発展を加...
顧客データの漏洩がまたもやニュースになっていますが、今回は、これまで経験したことよりも結果がひどいで...
12月8日、大手人工知能チップ企業であるビットメイングループは、インテリジェントロボット企業である北...
米国証券取引委員会(SEC)は最近、Binanceに対して訴訟を起こし、暗号通貨業界に衝撃を与えた。...
執筆者: OKEx Investment Researchエバン・インターナショナルは6月26日に米...
「ミームコインブーム」の形成につながった心理的・社会的プロセスは、他のブームにつながるものと似ていま...
ビットコインなどのデジタル通貨については、その誕生以来、投機や誇大宣伝が話題となり続けています。しか...
第0章 はじめにビットコインのブロック報酬が将来複数回半減すると、マイナーの利益が保護されるかどうか...
香港を拠点に急成長中の暗号通貨取引所Crypto.comの新しい調査によると、暗号通貨ユーザーの数は...
このレビューの前半では、 Antminer S5の外観、使用方法、技術的な詳細、デフォルト周波数35...
台湾の金融監督委員会(FSC)は最近、ビットコイン規制の問題について中立の立場を維持するという新たな...
著者 |ハシピ分析チーム...
Arweave は「非典型的な」ブロックチェーン プロジェクトです。ほとんどの人はそれについて何も知...