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_repo とbesu_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_source がtrue のときのみ必要です。 |
besu_git_commit |
master | Besuをソースからビルドする際に使用するgitコミット。ブランチ名、コミットハッシュなどが使用できます。besu_build_from_source がtrue のときのみ使用されます。 |
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_network がcustom のときのみ有効 |
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 | 取引プール内で保留される最大時間(時間単位) |
例のプレイブック
- デフォルトのセットアップ: ロールを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
- 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.