consensys.teku

Ansible役割: Teku

説明

このAnsible役割は、Tekuをインストール、設定、および実行します。Tekuは企業向けのJava Ethereum 2クライアントです。

目次

対応プラットフォーム

* MacOS
* Debian
* Ubuntu
* Redhat(CentOS/Fedora)
* Amazon

依存関係

  • JDK 11以上

役割の変数:

上書き可能なすべての変数は、defaults/main.ymlファイルに保存されています。これらの変数は主に設定オプションです。詳しくはtekuのドキュメントを参照してください。

名前 デフォルト値 説明
teku_version unset 必須 インストールして実行するテクのバージョン。利用可能なすべてのバージョンは、tekuのリリースページに記載されています。
teku_user teku tekuユーザー
teku_group teku tekuグループ
teku_download_url https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/{{ teku_version }}/teku-{{ teku_version }}.tar.gz ダウンロードするtar.gzファイル。内部リポジトリなど、カスタムの場所からテクを取得する必要がある場合に使用できます。
teku_install_dir /opt/teku インストール先のパス
teku_config_dir /etc/teku デフォルト設定のパス
teku_data_dir /opt/teku/data データディレクトリのパス
teku_log_dir /var/log/teku ログディレクトリのパス
teku_log_filename {{ teku_log_dir }}/teku.log ログファイル名およびその相対的または絶対的な場所を含むパス
teku_profile_file /etc/profile.d/teku-path.sh tekuをシステムPATHに読み込むためのパス
teku_managed_service true systemdサービス(またはDarwinの場合はlaunchd)を有効にします。
teku_launchd_dir /Library/LaunchAgents デフォルトのlaunchdディレクトリ
teku_systemd_dir /etc/systemd/system/ デフォルトのsystemdディレクトリ
teku_systemd_state restarted systemdサービスの状態のデフォルトオプション
teku_output_transition_dir /tmp/teku
teku_node_private_key_file ""
teku_network minimal 事前定義されたネットワーク設定
teku_host_ip ""
teku_p2p_enabled True すべてのP2P通信を有効または無効にします。
teku_p2p_interface 0.0.0.0 ノードがP2P通信をリッスンするネットワークインターフェースを指定します。
teku_p2p_port 9000 P2Pリッスニングポート(UDPおよびTCP)を指定します。
teku_p2p_advertised_port 9000 宣伝されたP2Pポート
teku_p2p_discovery_enabled True P2Pピア発見を有効または無効にします。
teku_interop_genesis_time 0
teku_interop_start_state ""
teku_interop_owned_validator_start_index 0
teku_interop_owned_validator_count 64
teku_interop_number_of_validators 64
teku_interop_enabled False
teku_validators_key_file "" 暗号化されていないバリデーターキーを読み込むためのYAML形式のファイルへのパス
teku_deposit_mode normal
teku_deposit_input_file ""
teku_deposit_number_validators 64
teku_deposit_contract_address 0x デポジット契約のEth1アドレス
teku_deposit_eth1_endpoint "" Eth1ノードのJSON-RPC URL
teku_metrics_enabled True メトリクスエクスポーターを有効にするには、trueに設定します。
teku_metrics_interface 0.0.0.0
teku_metrics_port 8008 モノリスとしてデプロイされたときのメトリクスポート
teku_beacon_metrics_port 8008 スタンドアロンモードでデプロイされたときのビーコンサービスのメトリクスポート
teku_validator_metrics_port 8009 スタンドアロンモードでデプロイされたときのバリデーターサービスのメトリクスポート
teku_metrics_categories [] (すべてのカテゴリが有効) メトリクスを追跡するカテゴリ
teku_data_path /data スタンドアロンモードでバリデーターとビーコンサービスの両方に同じフォルダを使用します。
teku_data_storage_mode prune 過去のチェーンデータを処理するための戦略を設定します。
teku_beacon_rest_api_port 5051
teku_beacon_rest_api_docs_enabled False
teku_beacon_rest_api_enabled True REST APIサービスを有効にします。
teku_beacon_rest_api_interface 127.0.0.1 REST APIサービスのインターフェース
teku_beacon_rest_api_host_allowlist ["*"] REST APIサービスのホスト許可リスト
teku_cmdline_args []
teku_cmdline_args_beacon teku_cmdline_args スタンドアロンモードでのみ適用されます。ビーコンサービス専用の値を設定できます。
teku_cmdline_args_validator teku_cmdline_args スタンドアロンモードでのみ適用されます。バリデーター専用の値を設定できます。
teku_env_opts []
teku_env_opts_beacon teku_env_opts スタンドアロンモードでのみ適用されます。ビーコンサービス専用の値を設定できます。
teku_env_opts_validator teku_env_opts スタンドアロンモードでのみ適用されます。バリデーター専用の値を設定できます。
teku_standalone_validator False バリデーターをスタンドアロンモードで実行します。
teku_beacon_enabled True ビーコンノードをデプロイするかどうか

Ansible役割内でデフォルト値が定義されていない変数のリスト。ただし、これらの変数がコマンドラインで設定された場合、それらはtekuの設定ファイルに構成されます。

名前 設定ファイルパラメータ 説明
teku_data_beacon_path data-beacon-path ビーコンデータへのパス
teku_data_storage_archive_frequency data-storage-archive-frequency 完了した状態をディスクに保存する頻度をスロット単位で設定します。
teku_data_validator_path data-validator-path バリデータークライアントデータへのパス
teku_ee_endpoint ee-endpoint 実行エンジンのエンドポイントURL
teku_ee_jwt_secret_file ee-jwt-secret-file 実行エンジンのJWT認証秘密を読み取るファイル
teku_log_level logging ロギングの冗長レベル: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL
teku_log_validator_duties log-include-validator-duties-enabled バリデーターが義務を果たすときにイベントがログに記録されるかどうか
teku_p2p_discovery_bootnodes p2p-discovery-bootnodes ブートノードのENRリスト ex: ['enr:-enr-string','enr:-enr-string']
teku_p2p_peer_lower_bound p2p-peer-lower-bound ピアのターゲット数の下限
teku_p2p_peer_upper_bound p2p-peer-upper-bound ピアのターゲット数の上限
teku_p2p_static_peers p2p-static-peers スタティックピア ex: ['peer1-address','peer2-address']
teku_p2p_subscribe_all_subnets_enabled p2p-subscribe-all-subnets-enabled True/False
teku_validators_external_signer_public_keys validators-external-signer-public-keys 外部署名者の公開鍵のリスト ex: ['key1','key2']
teku_validators_external_signer_timeout validators-external-signer-timeout 外部署名サービスのタイムアウト(ミリ秒単位)
teku_validators_external_signer_url validators-external-signer-url 外部署名サービスのURL
teku_validators_proposer_default_fee_recipient validators-proposer-default-fee-recipient マージ後のブロックを提案する際に使用するデフォルトの手数料受取人
teku_validators_proposer_config validators-proposer-config プロポーザー設定を読み込むためのリモートURLまたはローカルファイルパス
teku_validators_proposer_config_refresh_enabled validators-proposer-config-refresh-enabled プロポーザー設定を定期的に更新するかどうか
teku_validators_graffiti validators-graffiti ブロック作成時に含めるグラフィティ(バイトに変換され、Bytes32にパディングされる)
teku_validators_keystore_locking_enabled validators-keystore-locking-enabled バリデーターキーストアファイルのロックを有効にします(有効な値はTrueまたはFalse)
teku_validators_performance_tracking_enabled validators-performance-tracking-enabled バリデーターのパフォーマンストラッキングとログを有効にします(有効な値はTrueまたはFalse)
teku_validators_early_attestations_enabled validators-early-attestations-enabled 早期承認の作成を有効にします(有効な値はTrueまたはFalse)
teku_ws_checkpoint ws-checkpoint 弱い主観の期間中に最近のチェックポイント。形式::
teku_beacon_node_api_endpoints beacon-node-api-endpoints 配列。バリデータークライアントが接続するべきビーコンノードAPIエンドポイント。

スタンドアロンモード

Tekuは、モノリスモード(ビーコンとバリデーターが同じプロセスで実行される)またはスタンドアロンモード(ビーコンとバリデーターがそれぞれ独自のプロセスで実行される)で実行するように構成できます。スタンドアロンモードでは、ビーコンサービスが独自のプロセスで実行され、バリデーターサービスが独自のプロセスで実行されます。systemdサービス名tekuがビーコンサービスに使用され、teku-validatorがスタンドアロンモードで実行されるときのバリデーターサービスに使用されます。Ansible役割はデフォルトでTekuをモノリスモードで実行し、動作は変数teku_standalone_validator=False/Trueで制御できます。

例のプレイブック

  1. デフォルト設定: Galaxyから役割をインストールします
ansible-galaxy install pegasyseng.teku

次の内容でrequirements.ymlを作成します: テクのリリースページから使用したいバージョンでx.y.zを置き換えます。

---
- hosts: localhost
  connection: local
  force_handlers: True

  roles:
  - role: pegasyseng.teku
    vars:
      teku_version: x.y.z

ansible-playbookで実行します:

ansible-playbook -v /path/to/requirements.yml
  1. GitHub経由でインストール
ansible-galaxy install git+https://github.com/pegasyseng/ansible-role-teku.git

次の内容でrequirements.ymlを作成します: テクのリリースページから使用したいバージョンでx.y.zを置き換えます。

---
- hosts: localhost
  connection: local
  force_handlers: True

  roles:
  - role: ansible-role-teku
    vars:
      teku_version: x.y.z

ansible-playbookで実行します:

ansible-playbook -v /path/to/requirements.yml

ライセンス

Apache

著者情報

PegaSysEng, 2020

プロジェクトについて

Teku is an open-source java enterprise ethereum 2 client

インストール
ansible-galaxy install consensys.teku
ライセンス
Unknown
ダウンロード
6.2k
所有者
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.