consensys.hyperledger_besu

Ansibleロール: Besu

説明

このAnsibleロールは、Besu(エンタープライズJava Ethereumクライアント)をインストール、設定、実行します。

目次

対応プラットフォーム

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

依存関係

  • JDK 11以上

ロール変数:

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

名前 デフォルト値 説明
besu_build_from_source unset trueに設定すると、BesuがGitソースからビルドされます。besu_git_repobesu_git_commitも参照してください。
besu_version unset besu_build_from_sourceがfalseである場合__必須__。インストールして実行するBesuのバージョン。すべての利用可能なバージョンはBesuのソリューションページにリストされています。
besu_git_repo https://github.com/hyperledger/besu.git BesuソースをクローンするためのURL。besu_build_from_sourcetrueのときのみ必要です。
besu_git_commit master Besuをソースからビルドする際に使用するgitコミット。ブランチ名、コミットハッシュなどが使用できます。besu_build_from_sourcetrueのときのみ使用されます。
besu_user besu Besuユーザー
besu_group besu Besuグループ
besu_download_url https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/{{ besu_version }}/besu-{{ besu_version }}.tar.gz ダウンロードに使用されるtar.gzファイルのURL。内部リポジトリなどからBesuを取得する必要がある場合に使用します。
besu_install_dir /opt/besu インストール先のパス
besu_config_dir /etc/besu デフォルト設定のパス
besu_node_private_key_file "" 提供された場合のノードプライベートキーのパス。キーのファイル名とパスが必要です(例:/home/me/me_node/myPrivateKey)。提供されない場合、Besuは自動的に作成します。
besu_data_dir /opt/besu/data データディレクトリのパス
besu_log_dir /var/log/besu ログのパス
besu_log4j_config_file unset カスタムlog4j設定ファイルの絶対パス。besu_log_levelが設定されている場合、このログ設定は上書きされます。
besu_profile_file /etc/profile.d/besu-path.sh システムPATHにBesuを読み込むためのパス
besu_managed_service true systemdサービスを有効にします(またはDarwinの場合はlaunchd)
besu_launchd_dir /Library/LaunchAgents デフォルトのlaunchdディレクトリ
besu_systemd_dir /etc/systemd/system/ デフォルトのsystemdディレクトリ
besu_systemd_state restarted systemdサービスの状態のデフォルトオプション
besu_identity unset クライアントIDのアイデンティティの設定
besu_host_ip "" BesuがP2Pネットワークに使用するホストIP。P2Pがリスンするホストを指定します。
besu_max_peers unset 確立できる最大P2P接続数
besu_network mainnet このノードが参加するネットワーク。他の値は'ropsten', 'rinkeby', 'goerli', 'classic', 'mordor', 'kotti', 'dev'および'custom'です。
besu_genesis_path unset ジェネシスファイルのパス。besu_networkcustomのときのみ有効
besu_required_blocks [] 接続時に指定されたブロック番号に指定されたハッシュを持つピアが必要で、それ以外はそのピアを拒否します。
besu_sync_mode FAST 同期モードを指定します。他の値は'FULL'です。
besu_log_level unset 使用するログレベル。その他のログレベルは'OFF', 'FATAL', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL'です。この設定は、besu_log4j_config_fileによる設定よりも優先されます。
besu_data_storage_format unset データストレージ形式。可能な値は'FOREST'と'BONSAI'です。Besuのデフォルトは'FOREST'です。
besu_engine_jwt_disabled unset Engine APIの認証を無効にします。Besuのデフォルトはfalseです。
besu_engine_jwt_secret unset Engine JSON-RPC APIを使用してコンセンサスクライアントを認証するために使用される共有シークレットファイルのパス。
besu_engine_jwt_secret_content random value besu_engine_jwt_secretが指定されている場合にのみ利用可能。この値でファイルが生成され、最小32バイトの16進エンコードされたものが必要です。
besu_engine_rpc_port unset JSON-RPC(HTTPおよびWebSocket)でのEngine API呼び出し用のリスニングポート。Besuのデフォルトは8551です。
besu_p2p_port 30303 P2Pリスニングポート(UDPおよびTCP)を指定します。ポートは適切に公開される必要があります。
besu_min_gas 1000 トランザクションがマイニングブロックに含まれるための最小価格
besu_miner_enabled false ノードが起動するときにマイニングを有効にします。
besu_miner_coinbase 0x マイニング報酬が支払われるアカウント
besu_miner_extra_data "" マイニングブロックの追加データフィールドに含まれる32バイトを表す16進文字列。
besu_rpc_http_enabled true HTTP JSON-RPCサービスを有効にします。
besu_rpc_http_host 0.0.0.0 HTTP JSON-RPCがリスンするホストを指定します。
besu_rpc_http_port 8545 HTTP JSON-RPCがリスンするポートを指定します。
besu_rpc_http_api ["ADMIN","DEBUG","NET","ETH","MINER","WEB3"] HTTP JSON-RPCチャンネルで有効にするカンマ区切りのAPI。
besu_rpc_http_cors_origins ["all"] CORS検証用のカンマ区切りのオリジンドメインURL
besu_rpc_ws_enabled true WebSocketsサービスを有効にします。
besu_rpc_ws_api ["NET", "ETH", "WEB3"] HTTP JSON-RPCチャンネルで有効にするカンマ区切りのAPI。
besu_rpc_ws_host 0.0.0.0 WebSocketsがリスンするホストを指定します。
besu_rpc_ws_port 8546 Websockets JSON-RPCリスニングポート(TCP)。ポートは適切に公開される必要があります。
besu_graphql_http_enabled true HTTP JSON-RPCサービスを有効にします。
besu_graphql_http_host 0.0.0.0 HTTP JSON-RPCがリスンするホストを指定します。
besu_graphql_http_port 8547 HTTP JSON-RPCがリスンするポートを指定します。
besu_graphql_http_cors_origins ["all"] CORS検証用のカンマ区切りのオリジンドメインURL
besu_rpc_http_authentication_enabled "false" RPC WS認証を有効にします。
besu_rpc_http_authentication_credentials_file "" RPC http認証に使用するファイルを指定します。
besu_rpc_http_authentication_jwt_public_key_file "" Pubkeyを介したRPC http認証に使用するファイルを指定します。
besu_rpc_ws_authentication_enabled "false" RPC WS認証を有効にします。
besu_rpc_ws_authentication_credentials_file "" RPC http認証に使用するファイルを指定します。
besu_rpc_ws_authentication_jwt_public_key_file "" Pubkeyを介したRPC http認証に使用するファイルを指定します。
besu_metrics_host 0.0.0.0 PrometheusがBesuメトリックにアクセスするホストを指定します。
besu_metrics_port 9545 PrometheusがBesuメトリックにアクセスするポートを指定します。
besu_bootnodes [] P2Pディスカバリーのブートストラップ用のカンマ区切りのenode URLのリスト。
besu_static_nodes_file /etc/besu/static-nodes.json static nodes fileのパス
besu_host_whitelist ["*"] JSON-RPC APIへのアクセスを許可するホスト名のカンマ区切りのリスト。デフォルトでは、localhostと127.0.0.1からのアクセスが許可されます。
besu_local_permissions_enabled "false" ローカル権限を有効にします。
besu_local_permissions_config_file /etc/besu/permissions_config.toml ローカルアカウント権限ファイルのパス
besu_local_permissions_accounts [] 権限が付与されたアカウントのリスト
besu_local_permissions_nodes [] 権限が付与されたノードのリスト
besu_permissions_accounts_contract_address unset オンチェーンアカウント権限用のコントラクトアドレス
besu_permissions_nodes_contract_address unset オンチェーンノード権限用のコントラクトアドレス
besu_cmdline_args "" 上書きして渡されるコマンドライン引数
besu_env_opts [] BESU_OPTS環境変数を介してJVMに渡す設定。例:[-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005]
besu_env_vars {} Besuをsystemdサービスとして実行する際に設定する環境変数の辞書。例:{MALLOC_ARENA_MAX: 2}
besu_privacy_enabled false プライバシーを有効にします。
besu_privacy_url "" Orionに連絡するためのURL(ポートを含む例:http://localhost:8888
besu_privacy_public_key_file "" Orion公開鍵のパス
besu_privacy_marker_tx_signing_key_file "" プライバシーマーカー取引に署名するためのプライベートキーのパス。指定しない場合、Besuは各取引に対して異なるランダムに生成されたキーを使用します。
besu_xdns_enabled "false" IPアドレスが変わる可能性があるプライベートネットワーク内で、信頼できるDNSプロバイダーを使用するためのDNSサポート。
besu_target_gas_limit unset 目標ガス制限の設定
besu_tx_pool layered 取引プールの実装を選択します。legacyに設定すると旧実装に切り替えます。
besu_tx_pool_price_bump 10 既存の取引を置き換えるための価格の上昇率
besu_tx_pool_limit_by_account_percentage 0.001 取引プール内で同じ送信者に許可される最大トランザクション数の比率。デフォルトは5です。
besu_tx_pool_max_size 4096 取引プール内に保持される最大トランザクション数。
besu_tx_pool_retention_hours 13 取引プール内で保留される最大時間(時間単位)

例のプレイブック

  1. デフォルトのセットアップ: ロールをGalaxからインストールします。
ansible-galaxy install consensys.hyperledger_besu

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

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

  roles:
  - role: consensys.hyperledger_besu
    vars:
      besu_version: x.y.z

ansible-playbookで実行します:

ansible-playbook -v /path/to/requirements.yml
  1. GitHubを介してインストールします。
ansible-galaxy install git+https://github.com/consensys/ansible-role-besu.git

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

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

  roles:
  - role: ansible-role-besu
    vars:
      besu_version: x.y.z

ansible-playbookで実行します:

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

ライセンス

Apache

著者情報

Consensys, 2023

プロジェクトについて

Besu is an open-source java enterprise ethereum client

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