consensys.hyperledger_besu
Rôle Ansible : Besu
Description
Un rôle Ansible qui installera, configurera et exécutera Besu : un client Ethereum Java pour les entreprises.
Table des Matières
- Plateformes Supportées
- Dépendances
- Variables du Rôle
- Exemple de Playbook
- Licence
- Informations sur l'Auteur
Plateformes Supportées
* MacOS
* Debian
* Ubuntu
* Redhat(CentOS/Fedora)
* Amazon
Dépendances
- JDK 11 ou supérieur
Variables du Rôle:
Toutes les variables qui peuvent être remplacées sont stockées dans le fichier defaults/main.yml. En général, ces variables sont des options de configuration. Veuillez consulter la documentation de Besu pour plus d'informations.
Nom | Valeur par défaut | Description |
---|---|---|
besu_build_from_source |
non défini | Quand défini à true , Besu est construit à partir des sources git. Voir aussi besu_git_repo et besu_git_commit . |
besu_version |
non défini | REQUIS si besu_build_from_source est faux. Version de Besu à installer et à exécuter. Toutes les versions disponibles sont listées sur notre page des solutions. |
besu_git_repo |
https://github.com/hyperledger/besu.git | L'URL à utiliser lors du clonage des sources de Besu. Nécessaire uniquement lorsque besu_build_from_source est true . |
besu_git_commit |
master | Le commit git à utiliser lors de la construction de Besu à partir des sources. Cela peut être un nom de branche, un hash de commit, ou tout ce qui est légal à utiliser comme argument pour git checkout . Utilisé uniquement si besu_build_from_source est true . |
besu_user |
besu | Utilisateur de Besu |
besu_group |
besu | Groupe de Besu |
besu_download_url |
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/{{ besu_version }}/besu-{{ besu_version }}.tar.gz | Le fichier tar.gz à télécharger. Vous pouvez l'utiliser si vous devez récupérer Besu à partir d'un emplacement personnalisé tel qu'un dépôt interne. |
besu_install_dir |
/opt/besu | Chemin d'installation |
besu_config_dir |
/etc/besu | Chemin pour la configuration par défaut |
besu_node_private_key_file |
"" | Chemin pour la clé privée du nœud, si fournie. Cela doit inclure le nom et le chemin du fichier clé comme /home/me/me_node/myPrivateKey . Si non fournie, Besu en créera une automatiquement. |
besu_data_dir |
/opt/besu/data | Chemin pour le répertoire de données |
besu_log_dir |
/var/log/besu | Chemin pour les journaux |
besu_log4j_config_file |
non défini | Chemin absolu pour un fichier de configuration log4j personnalisé. Notez que cette configuration de journalisation est remplacée si besu_log_level est défini. |
besu_profile_file |
/etc/profile.d/besu-path.sh | Chemin pour permettre le chargement de Besu dans le chemin système |
besu_managed_service |
true | Active un service systemd (ou launchd si sur Darwin) |
besu_launchd_dir |
/Library/LaunchAgents | Répertoire launchd par défaut |
besu_systemd_dir |
/etc/systemd/system/ | Répertoire systemd par défaut |
besu_systemd_state |
restarted | L'option par défaut pour l'état du service systemd |
besu_identity |
non défini | Configuration de l'identité dans l'ID client |
besu_host_ip |
"" | L'IP de l'hôte que Besu utilise pour le réseau P2P. Cela spécifie l'hôte sur lequel P2P écoute |
besu_max_peers |
non défini | Le nombre maximum de connexions P2P que vous pouvez établir |
besu_network |
mainnet | Le réseau auquel ce nœud va se joindre. D'autres valeurs sont 'ropsten', 'rinkeby', 'goerli', 'classic', 'mordor', 'kotti', 'dev' et 'custom' |
besu_genesis_path |
non défini | Le chemin vers le fichier genesis, valide uniquement lorsque besu_network est custom |
besu_required_blocks |
[] | Nécessite un pair avec le numéro de bloc spécifié pour avoir le hash spécifié lors de la connexion, ou Besu rejette ce pair |
besu_sync_mode |
FAST | Détermine le mode de synchronisation. D'autres valeurs sont 'FULL' |
besu_log_level |
non défini | Le niveau de journalisation à utiliser. Autres niveaux de journalisation : 'OFF', 'FATAL', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL'. Notez que définir cela a la priorité sur la configuration définie par besu_log4j_config_file |
besu_data_storage_format |
non défini | Format de stockage des données. Les valeurs possibles sont 'FOREST' et 'BONSAI'. La valeur par défaut de Besu est 'FOREST' |
besu_engine_jwt_disabled |
non défini | Désactive l'authentification pour l'API Engine. La valeur par défaut de Besu est faux. |
besu_engine_jwt_secret |
non défini | Chemin vers le fichier de secret partagé utilisé pour authentifier les clients de consensus lors de l'utilisation de l'API Engine JSON-RPC (HTTP et WebSocket). Le contenu du fichier peut être défini par besu_engine_jwt_secret_content et doit faire au moins 32 octets codés en hexadécimal, ne pas commencer par 0x, sinon une valeur aléatoire est définie automatiquement, mais uniquement si un secret n'existe pas déjà sur le disque. Si non spécifié, par défaut, Besu crée un secret éphémère dans le répertoire de données, qui est supprimé à la sortie. |
besu_engine_jwt_secret_content |
valeur aléatoire | Disponible uniquement si besu_engine_jwt_secret est spécifié, le fichier est rempli avec cette valeur, qui doit faire au moins 32 octets codés en hexadécimal et ne pas commencer par 0x, et doit être chiffré avec Ansible Vault. |
besu_engine_rpc_port |
non défini | Le port d'écoute pour les appels de l'API Engine (ENGINE, ETH) pour JSON-RPC via HTTP et WebSocket. La valeur par défaut de Besu est 8551 |
besu_p2p_port |
30303 | Spécifie les ports d'écoute P2P (UDP et TCP). Les ports doivent être exposés correctement |
besu_min_gas |
1000 | Le prix minimum qu'une transaction offre pour être incluse dans un bloc miné |
besu_miner_enabled |
false | Active le minage lorsque le nœud est démarré |
besu_miner_coinbase |
0x | Compte vers lequel les récompenses de minage sont payées |
besu_miner_extra_data |
"" | Une chaîne hexadécimale représentant les 32 octets à inclure dans le champ de données supplémentaires d'un bloc miné. |
besu_rpc_http_enabled |
true | Active le service HTTP JSON-RPC |
besu_rpc_http_host |
0.0.0.0 | Spécifie l'hôte sur lequel HTTP JSON-RPC écoute |
besu_rpc_http_port |
8545 | Spécifie le port sur lequel HTTP JSON-RPC écoute |
besu_rpc_http_api |
["ADMIN","DEBUG","NET","ETH","MINER","WEB3"] | APIs séparées par des virgules à activer sur le canal HTTP JSON-RPC. Lorsque vous utilisez cette option, l'option besu_rpc_http_enabled doit également être activée |
besu_rpc_http_cors_origins |
["all"] | Domaines d'URL d'origine séparés par des virgules pour la validation CORS |
besu_rpc_ws_enabled |
true | Active le service WebSockets |
besu_rpc_ws_api |
["NET", "ETH", "WEB3"] | APIs séparées par des virgules à activer sur le canal HTTP JSON-RPC. Lorsque vous utilisez cette option, l'option besu_rpc_ws_enabled doit également être activée |
besu_rpc_ws_host |
0.0.0.0 | Spécifie l'hôte sur lequel WebSockets écoute |
besu_rpc_ws_port |
8546 | Spécifie le port d'écoute WebSockets JSON-RPC (TCP). Le port doit être exposé correctement |
besu_graphql_http_enabled |
true | Active le service HTTP JSON-RPC |
besu_graphql_http_host |
0.0.0.0 | Spécifie l'hôte sur lequel HTTP JSON-RPC écoute |
besu_graphql_http_port |
8547 | Spécifie le port sur lequel HTTP JSON-RPC écoute |
besu_graphql_http_cors_origins |
["all"] | Domaines d'URL d'origine séparés par des virgules pour la validation CORS |
besu_rpc_http_authentication_enabled |
"false" | Active l'authentification RPC WS |
besu_rpc_http_authentication_credentials_file |
"" | Spécifie le fichier à utiliser pour les identifiants RPC http |
besu_rpc_http_authentication_jwt_public_key_file |
"" | Spécifie le fichier à utiliser pour les identifiants RPC http via la clé publique |
besu_rpc_ws_authentication_enabled |
"false" | Active l'authentification RPC WS |
besu_rpc_ws_authentication_credentials_file |
"" | Spécifie le fichier à utiliser pour les identifiants RPC http |
besu_rpc_ws_authentication_jwt_public_key_file |
"" | Spécifie le fichier à utiliser pour les identifiants RPC http via la clé publique |
besu_metrics_host |
0.0.0.0 | Spécifie l'hôte sur lequel Prometheus accède aux métriques de Besu. Le serveur de métriques respecte l'option besu_whitelist |
besu_metrics_port |
9545 | Spécifie le port sur lequel Prometheus accède aux métriques de Besu |
besu_bootnodes |
[] | Liste des URLs de nœuds enode séparés par des virgules pour la découverte P2P. Lors de la connexion à MainNet ou aux testnets publics, la valeur par défaut est une liste pré-définie d'URLs enode |
besu_static_nodes_file |
/etc/besu/static-nodes.json | Chemin vers le fichier de nœuds statiques |
besu_host_whitelist |
["*"] |
Liste séparée par des virgules des noms d'hôtes autorisés à accéder à l'API JSON-RPC. Par défaut, l'accès depuis localhost et 127.0.0.1 est accepté. |
besu_local_permissions_enabled |
"false" | Active les permissions locales |
besu_local_permissions_config_file |
/etc/besu/permissions_config.toml | Chemin vers le fichier de configuration des permissions des comptes locaux et fichier de configuration des permissions des nœuds locaux |
besu_local_permissions_accounts |
[] | Liste des comptes autorisés |
besu_local_permissions_nodes |
[] | Liste des nœuds autorisés |
besu_permissions_accounts_contract_address |
non défini | L'adresse du contrat pour la permission des comptes sur chaîne |
besu_permissions_nodes_contract_address |
non défini | L'adresse du contrat pour la permission des nœuds sur chaîne |
besu_cmdline_args |
"" | Arguments de ligne de commande qui sont passés en tant que remplacements |
besu_env_opts |
[] | Réglages passés à la JVM via la variable d'environnement BESU_OPTS . par exemple : [-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005]s |
besu_env_vars |
{} | Dictionnaire avec les variables d'environnement à définir lors de l'exécution de Besu en tant que service systemd. par exemple : {MALLOC_ARENA_MAX: 2} |
besu_privacy_enabled |
false | Active la confidentialité |
besu_privacy_url |
"" | URL pour contacter Orion y compris le port par exemple : http://localhost:8888 |
besu_privacy_public_key_file |
"" | Chemin vers la clé publique d'Orion |
besu_privacy_marker_tx_signing_key_file |
"" | Chemin du fichier de clé privée utilisé pour signer les transactions de marque de confidentialité. Si vous ne spécifiez pas cette option, Besu signe chaque transaction avec une clé différente générée aléatoirement. |
besu_xdns_enabled |
"false" | Support DNS avec un fournisseur DNS de confiance dans des réseaux privés en raison de limitations où les adresses IP peuvent changer. Par exemple, lors de l'utilisation de pods Kubernetes |
besu_target_gas_limit |
non défini | Configuration de la limite de gaz cible |
besu_tx_pool |
layered | Sélectionne l'implémentation de la pool de transactions, définie sur legacy pour passer à l'ancienne implémentation |
besu_tx_pool_price_bump |
10 | Pourcentage d'augmentation de prix pour remplacer une transaction existante |
besu_tx_pool_limit_by_account_percentage |
0.001 | Nombre maximum de transactions, relatif à la taille maximale de la pool, autorisées pour le même expéditeur dans la pool des transactions. Par défaut, cela vaut 5 pour empêcher une attaque DoS. Cela utilise une valeur flottante [0..1], donc définir à 1 signifie qu'un seul expéditeur peut remplir l'ensemble de la pool de tx. Ne s'applique que si l'implémentation legacy est sélectionnée |
besu_tx_pool_max_size |
4096 | Nombre maximum de transactions conservées dans la pool de transactions. Ne s'applique que si l'implémentation legacy est sélectionnée |
besu_tx_pool_retention_hours |
13 | Période maximale, en heures, pour conserver les transactions en attente dans la pool de transactions. Ne s'applique que si l'implémentation legacy est sélectionnée |
Exemple de Playbook
- Configuration par défaut : Installez le rôle depuis Galaxy.
ansible-galaxy install consensys.hyperledger_besu
Créez un fichier requirements.yml avec le contenu suivant :
Remplacez x.y.z
par la version que vous souhaitez utiliser sur la page des solutions.
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: consensys.hyperledger_besu
vars:
besu_version: x.y.z
Exécutez avec ansible-playbook :
ansible-playbook -v /path/to/requirements.yml
- Installer via GitHub
ansible-galaxy install git+https://github.com/consensys/ansible-role-besu.git
Créez un fichier requirements.yml avec le contenu suivant :
Remplacez x.y.z
par la version que vous souhaitez utiliser sur la page des solutions.
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: ansible-role-besu
vars:
besu_version: x.y.z
Exécutez avec ansible-playbook :
ansible-playbook -v /path/to/requirements.yml
Licence
Apache
Informations sur l'Auteur
Consensys, 2023
À propos du projet
Besu is an open-source java enterprise ethereum client
Installer
ansible-galaxy install consensys.hyperledger_besu
Licence
Unknown
Téléchargements
16.2k
Propriétaire
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.