consensys.hyperledger_besu
Ansible Role: Besu
Description
This Ansible role installs, configures, and runs Besu, a Java client for Ethereum designed for enterprises.
Table of Contents
Supported Platforms
* MacOS
* Debian
* Ubuntu
* Redhat (CentOS/Fedora)
* Amazon
Dependencies
- JDK 11 or newer
Role Variables
All variables that you can change are in the defaults/main.yml file. These usually control settings. Please check the Besu documentation for more details.
Name | Default Value | Description |
---|---|---|
besu_build_from_source |
unset | If true , Besu is built from source code. See besu_git_repo and besu_git_commit too. |
besu_version |
unset | REQUIRED if besu_build_from_source is false. Version of Besu to install. Check Besu releases for available versions. |
besu_git_repo |
https://github.com/hyperledger/besu.git | The URL for cloning Besu source. Needed if building from source. |
besu_git_commit |
master | The specific commit to use when building Besu from source. |
besu_user |
besu | User for Besu. |
besu_group |
besu | Group for Besu. |
besu_download_url |
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/{{ besu_version }}/besu-{{ besu_version }}.tar.gz | URL for downloading Besu. Change if using a different repository. |
besu_install_dir |
/opt/besu | Directory where Besu will be installed. |
besu_config_dir |
/etc/besu | Directory for Besu configuration files. |
besu_node_private_key_file |
"" | Path to the private key file for the node. If not provided, one will be created. |
besu_data_dir |
/opt/besu/data | Directory for data storage. |
besu_log_dir |
/var/log/besu | Directory for logs. |
besu_log4j_config_file |
unset | Path to a custom log4j configuration file. Will be ignored if besu_log_level is set. |
besu_profile_file |
/etc/profile.d/besu-path.sh | File path to set Besu in the system PATH. |
besu_managed_service |
true | Enables a service that manages Besu (systemd or launchd). |
besu_launchd_dir |
/Library/LaunchAgents | Default directory for launchd on macOS. |
besu_systemd_dir |
/etc/systemd/system/ | Default directory for systemd services. |
besu_systemd_state |
restarted | Default state for systemd service. |
besu_identity |
unset | Configuration of Identity in the Client ID. |
besu_host_ip |
"" | Host IP for P2P network communication. |
besu_max_peers |
unset | Maximum number of P2P connections. |
besu_network |
mainnet | Network this node will join (e.g., 'ropsten', 'rinkeby', etc.). |
besu_genesis_path |
unset | Path to the genesis file (only for custom networks). |
besu_required_blocks |
[] | Requires peers to have specific block hashes when connecting. |
besu_sync_mode |
FAST | Synchronization mode (e.g., 'FULL'). |
besu_log_level |
unset | Log level (e.g., 'INFO', 'DEBUG'). |
besu_data_storage_format |
unset | Data storage format (e.g., 'FOREST', 'BONSAI'). |
besu_engine_jwt_disabled |
unset | Disable authentication for the Engine API. |
besu_engine_jwt_secret |
unset | Path to shared secret file for Engine JSON-RPC authentication. |
besu_engine_rpc_port |
unset | Port for Engine API calls. Default is 8551. |
besu_p2p_port |
30303 | P2P listening ports (UDP and TCP). |
besu_min_gas |
1000 | Minimum price for transactions to be included in blocks. |
besu_miner_enabled |
false | Enable mining when the node starts. |
besu_miner_coinbase |
0x | Account for mining rewards. |
besu_rpc_http_enabled |
true | Enable HTTP JSON-RPC service. |
besu_rpc_http_host |
0.0.0.0 | Host for the HTTP JSON-RPC service. |
besu_rpc_http_port |
8545 | Port for the HTTP JSON-RPC service. |
besu_rpc_ws_enabled |
true | Enable WebSockets service. |
besu_rpc_ws_port |
8546 | Port for the WebSockets JSON-RPC service. |
besu_metrics_host |
0.0.0.0 | Host for accessing Besu metrics. |
besu_metrics_port |
9545 | Port for accessing Besu metrics. |
besu_bootnodes |
[] | List of enode URLs for P2P discovery. |
besu_local_permissions_enabled |
"false" | Enable local permissioning. |
besu_cmdline_args |
"" | Command line arguments for customization. |
besu_privacy_enabled |
false | Enable privacy features. |
Example Playbook
Default Setup: To install the role from Ansible Galaxy:
ansible-galaxy install consensys.hyperledger_besu
Create a
requirements.yml
file with: Replacex.y.z
with the desired Besu version.--- - hosts: localhost connection: local force_handlers: True roles: - role: consensys.hyperledger_besu vars: besu_version: x.y.z
Run the playbook:
ansible-playbook -v /path/to/requirements.yml
Install via GitHub:
ansible-galaxy install git+https://github.com/consensys/ansible-role-besu.git
Create a
requirements.yml
file with: Replacex.y.z
with the desired Besu version.--- - hosts: localhost connection: local force_handlers: True roles: - role: ansible-role-besu vars: besu_version: x.y.z
Run the playbook:
ansible-playbook -v /path/to/requirements.yml
License
Apache
Author Information
Consensys, 2023
Informazioni sul progetto
Besu is an open-source java enterprise ethereum client
Installa
ansible-galaxy install consensys.hyperledger_besu
Licenza
Unknown
Download
16.2k
Proprietario
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.