consensys.hyperledger_besu

Ansible Rolle: Besu

Beschreibung

Ansible Rolle, die Besu installiert, konfiguriert und ausführt: ein Java Ethereum Client für Unternehmen.

Inhaltsverzeichnis

Unterstützte Plattformen

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

Abhängigkeiten

  • JDK 11 oder höher

Rollenvariablen:

Alle variablen, die überschrieben werden können, sind in der Datei defaults/main.yml gespeichert. Diese Variablen sind hauptsächlich Konfigurationsoptionen. Bitte beziehen Sie sich auf die Besu Dokumentation für weitere Informationen.

Name Standardwert Beschreibung
besu_build_from_source unset Wenn auf true gesetzt, wird Besu aus Git-Quellen gebaut. Siehe auch besu_git_repo und besu_git_commit
besu_version unset ERFORDERT, wenn besu_build_from_source falsch ist. Version von Besu, die installiert und ausgeführt werden soll. Alle verfügbaren Versionen sind auf unserer Besu lösungen Seite aufgeführt.
besu_git_repo https://github.com/hyperledger/besu.git Die URL zum Klonen der Besu-Quellen. Nur erforderlich, wenn besu_build_from_source true ist.
besu_git_commit master Der Git-Commit, der beim Bauen von Besu aus dem Quellcode verwendet wird. Kann ein Branchname, Commit-Hash oder etwas sein, das legal als Argument für git checkout verwendet wird. Nur verwendet, wenn besu_build_from_source true ist.
besu_user besu Besu Benutzer
besu_group besu Besu Gruppe
besu_download_url https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/{{ besu_version }}/besu-{{ besu_version }}.tar.gz Die heruntergeladene tar.gz-Datei. Dies können Sie verwenden, wenn Sie Besu von einem benutzerdefinierten Standort, wie z.B. einem internen Repository, abrufen müssen.
besu_install_dir /opt/besu Installationspfad
besu_config_dir /etc/besu Pfad für die Standardkonfiguration
besu_node_private_key_file "" Pfad zur privaten Schlüsseldatei des Knotens, falls bereitgestellt. Dies muss den Namen und den Pfad der Schlüsseldatei enthalten wie /home/me/me_node/myPrivateKey. Wenn nicht bereitgestellt, wird Besu automatisch eine erstellen.
besu_data_dir /opt/besu/data Pfad zum Datenverzeichnis
besu_log_dir /var/log/besu Pfad zu den Protokollen
besu_log4j_config_file unset Absoluter Pfad zu einer benutzerdefinierten log4j-Konfigurationsdatei. Beachten Sie, dass diese Protokollkonfiguration überschrieben wird, wenn besu_log_level gesetzt ist.
besu_profile_file /etc/profile.d/besu-path.sh Pfad, um Besu in den System-PATH zu laden
besu_managed_service true Aktiviert einen systemd-Dienst (oder launchd, wenn unter Darwin)
besu_launchd_dir /Library/LaunchAgents Standard-Launchd-Verzeichnis
besu_systemd_dir /etc/systemd/system/ Standard-systemd-Verzeichnis
besu_systemd_state restarted Standardoption für den Zustand des systemd-Dienstes
besu_identity unset Konfiguration der Identität in der Client-ID
besu_host_ip "" Die Host-IP, die Besu für das P2P-Netzwerk verwendet. Dies gibt den Host an, auf dem P2P lauscht.
besu_max_peers unset Die maximale Anzahl von P2P-Verbindungen, die Sie herstellen können.
besu_network mainnet Das Netzwerk, dem dieser Knoten beitreten wird. Andere Werte sind 'ropsten', 'rinkeby', 'goerli', 'classic', 'mordor', 'kotti', 'dev' und 'custom'.
besu_genesis_path unset Der Pfad zur Genesis-Datei, nur gültig, wenn besu_network custom ist.
besu_required_blocks [] Erfordert einen Peer mit der angegebenen Blocknummer, um den angegebenen Hash beim Verbinden zu haben, oder Besu lehnt diesen Peer ab.
besu_sync_mode FAST Gibt den Synchronisationsmodus an. Andere Werte sind 'FULL'.
besu_log_level unset Das zu verwendende Protokollniveau. Andere Protokollniveaus sind 'OFF', 'FATAL', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL'. Beachten Sie, dass das Setzen dieser Konfiguration Vorrang vor der Konfiguration hat, die durch besu_log4j_config_file gesetzt ist.
besu_data_storage_format unset Datenformat für die Speicherung. Mögliche Werte sind 'FOREST' und 'BONSAI'. Der Standardeinstellung von Besu ist 'FOREST'.
besu_engine_jwt_disabled unset Deaktiviert die Authentifizierung für die Engine API. Der Standardwert von Besu ist falsch.
besu_engine_jwt_secret unset Pfad zur Datei mit dem gemeinsamen Geheimnis, die zur Authentifizierung von Konsens-Clients verwendet wird, wenn die Engine JSON-RPC API (sowohl HTTP als auch WebSocket) genutzt wird. Der Inhalt der Datei könnte mit besu_engine_jwt_secret_content festgelegt werden und muss mindestens 32 hex-kodierte Bytes betragen, nicht mit 0x beginnen, andernfalls wird ein zufälliger Wert automatisch festgelegt, jedoch nur, wenn auf der Festplatte noch kein Geheimnis vorhanden ist. Wenn nicht angegeben, erstellt Besu standardmäßig ein flüchtiges Geheimnis im Datenverzeichnis, das beim Verlassen gelöscht wird.
besu_engine_jwt_secret_content random value Nur verfügbar, wenn besu_engine_jwt_secret angegeben ist, wird die Datei mit diesem Wert befüllt, der mindestens 32 hex-kodierte Bytes betragen muss und nicht mit 0x beginnen sollte. Sie sollte mit Ansible Vault verschlüsselt werden.
besu_engine_rpc_port unset Der Dienstport für die Engine API-Anfragen (ENGINE, ETH) für JSON-RPC über HTTP und WebSocket. Der Standardwert von Besu ist 8551.
besu_p2p_port 30303 Gibt die P2P-Abhörports (UDP und TCP) an. Ports müssen angemessen freigegeben werden.
besu_min_gas 1000 Der Mindestpreis, den eine Transaktion bietet, um in einen abgebauten Block aufgenommen zu werden.
besu_miner_enabled false Aktiviert das Mining, wenn der Knoten gestartet wird.
besu_miner_coinbase 0x Konto, auf das die Mining-Belohnungen gezahlt werden.
besu_miner_extra_data "" Ein hexadezimaler String, der die 32 Bytes darstellt, die im Extrabereich eines abgebauten Blocks enthalten sind.
besu_rpc_http_enabled true Aktiviert den HTTP JSON-RPC-Dienst.
besu_rpc_http_host 0.0.0.0 Gibt den Host an, auf dem HTTP JSON-RPC lauscht.
besu_rpc_http_port 8545 Gibt den Port an, auf dem HTTP JSON-RPC lauscht.
besu_rpc_http_api ["ADMIN","DEBUG","NET","ETH","MINER","WEB3"] Komma-getrennte APIs, die im HTTP JSON-RPC-Kanal aktiviert werden sollen. Wenn Sie diese Option verwenden, muss auch die Option besu_rpc_http_enabled aktiv sein.
besu_rpc_http_cors_origins ["all"] Komma-getrennte Ursprungsdomänen-URLs für die CORS-Validierung.
besu_rpc_ws_enabled true Aktiviert den WebSockets-Dienst.
besu_rpc_ws_api ["NET", "ETH", "WEB3"] Komma-getrennte APIs, die im HTTP JSON-RPC-Kanal aktiviert werden sollen. Wenn Sie diese Option verwenden, muss auch die Option besu_rpc_ws_enabled aktiv sein.
besu_rpc_ws_host 0.0.0.0 Gibt den Host an, auf dem WebSockets lauscht.
besu_rpc_ws_port 8546 Gibt den Port an, auf dem WebSockets JSON-RPC lauscht (TCP). Port muss angemessen bereitgestellt werden.
besu_graphql_http_enabled true Aktiviert den HTTP JSON-RPC-Dienst.
besu_graphql_http_host 0.0.0.0 Gibt den Host an, auf dem HTTP JSON-RPC lauscht.
besu_graphql_http_port 8547 Gibt den Port an, auf dem HTTP JSON-RPC lauscht.
besu_graphql_http_cors_origins ["all"] Komma-getrennte Ursprungsdomänen-URLs für die CORS-Validierung.
besu_rpc_http_authentication_enabled "false" Aktiviert die RPC WS-Authentifizierung.
besu_rpc_http_authentication_credentials_file "" Gibt die Datei an, die für die RPC-HTTP-Anmeldeinformationen verwendet werden soll.
besu_rpc_http_authentication_jwt_public_key_file "" Gibt die Datei an, die für die RPC-HTTP-Anmeldeinformationen über den öffentlichen Schlüssel verwendet werden soll.
besu_rpc_ws_authentication_enabled "false" Aktiviert die RPC WS-Authentifizierung.
besu_rpc_ws_authentication_credentials_file "" Gibt die Datei an, die für die RPC-HTTP-Anmeldeinformationen verwendet werden soll.
besu_rpc_ws_authentication_jwt_public_key_file "" Gibt die Datei an, die für die RPC-HTTP-Anmeldeinformationen über den öffentlichen Schlüssel verwendet werden soll.
besu_metrics_host 0.0.0.0 Gibt den Host an, auf dem Prometheus auf Besu-Metriken zugreift. Der Metrikserver respektiert die Option besu_whitelist.
besu_metrics_port 9545 Gibt den Port an, auf dem Prometheus auf Besu-Metriken zugreift.
besu_bootnodes [] Liste von kommagetrennten enode-URLs für die P2P-Entdeckung. Beim Verbinden mit MainNet oder öffentlichen Testnetzen ist die Standardoption eine vordefinierte Liste von enode-URLs.
besu_static_nodes_file /etc/besu/static-nodes.json Pfad zur statischen Knoten-Datei
besu_host_whitelist ["*"] Komma-getrennte Liste von Hostnamen, um den Zugriff auf die JSON-RPC-API zu erlauben. Standardmäßig wird der Zugriff von localhost und 127.0.0.1 akzeptiert.
besu_local_permissions_enabled "false" Aktiviert lokale Berechtigungen.
besu_local_permissions_config_file /etc/besu/permissions_config.toml Pfad zur Konfigurationsdatei für lokale Kontoberechtigungen und lokale Knotenberechtigungsdatei.
besu_local_permissions_accounts [] Liste der berechtigten Konten.
besu_local_permissions_nodes [] Liste der berechtigten Knoten.
besu_permissions_accounts_contract_address unset Die Vertragsadresse für die Berechtigungen von on-chain Konten.
besu_permissions_nodes_contract_address unset Die Vertragsadresse für die Berechtigungen von on-chain Knoten.
besu_cmdline_args "" Befehlszeilenargumente, die als Überschreibung übergeben werden.
besu_env_opts [] Einstellungen, die an die JVM über die Umgebungsvariable BESU_OPTS übergeben werden. z.B.: [-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005]
besu_env_vars {} Wörterbuch mit Umgebungsvariablen, die beim Ausführen von Besu als systemd-Dienst gesetzt werden sollen. z.B.: {MALLOC_ARENA_MAX: 2}
besu_privacy_enabled false Aktiviert die Privatsphäre.
besu_privacy_url "" URL, um Orion zu kontaktieren, einschließlich Port, z.B.: http://localhost:8888
besu_privacy_public_key_file "" Pfad zum öffentlichen Schlüssel von Orion.
besu_privacy_marker_tx_signing_key_file "" Pfad zur privaten Schlüsseldatei, die verwendet wird, um Privacy Marker Transactions zu signieren. Wenn Sie diese Option nicht angeben, signiert Besu jede Transaktion mit einem anderen zufällig generierten Schlüssel.
besu_xdns_enabled "false" DNS-Unterstützung mit einem vertrauenswürdigen DNS-Anbieter in privaten Netzwerken aufgrund von Einschränkungen, bei denen sich IP-Adressen ändern können. Zum Beispiel bei der Verwendung von Kubernetes-Pods.
besu_target_gas_limit unset Konfiguration des Ziel-Gaslimits.
besu_tx_pool layered Wählt die Implementierung des Transaktionspools aus, wird auf legacy gesetzt, um zur alten Implementierung zu wechseln.
besu_tx_pool_price_bump 10 Der Preisaufschlagprozentsatz, um eine vorhandene Transaktion zu ersetzen.
besu_tx_pool_limit_by_account_percentage 0.001 Die maximale Anzahl von Transaktionen, relativ zur maximalen Poolgröße, die für denselben Absender im Transaktionspool erlaubt sind. Standardmäßig 5, um einen DoS-Angriff zu verhindern. Dieser verwendet einen Gleitwert [0..1], sodass das Setzen auf 1 bedeutet, dass ein einzelner Absender den gesamten tx-Pool füllen kann. Nur anwenden, wenn die legacy-Implementierung ausgewählt ist.
besu_tx_pool_max_size 4096 Die maximale Anzahl von Transaktionen, die im Transaktionspool gespeichert werden. Nur anwenden, wenn die legacy-Implementierung ausgewählt ist.
besu_tx_pool_retention_hours 13 Die maximale Dauer in Stunden, um ausstehende Transaktionen im Transaktionspool zu halten. Nur anwenden, wenn die legacy-Implementierung ausgewählt ist.

Beispiel-Playbook

  1. Standardsetup: Installieren Sie die Rolle aus der Galaxy
ansible-galaxy install consensys.hyperledger_besu

Erstellen Sie eine requirements.yml mit folgendem Inhalt: Ersetzen Sie x.y.z durch die Version, die Sie von der Besu lösungen Seite verwenden möchten.

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

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

Führen Sie es mit ansible-playbook aus:

ansible-playbook -v /path/to/requirements.yml
  1. Installation über GitHub
ansible-galaxy install git+https://github.com/consensys/ansible-role-besu.git

Erstellen Sie eine requirements.yml mit folgendem Inhalt: Ersetzen Sie x.y.z durch die Version, die Sie von der Besu lösungen Seite verwenden möchten.

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

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

Führen Sie es mit ansible-playbook aus:

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

Lizenz

Apache

Autoreninformationen

Consensys, 2023

Über das Projekt

Besu is an open-source java enterprise ethereum client

Installieren
ansible-galaxy install consensys.hyperledger_besu
Lizenz
Unknown
Downloads
16.2k
Besitzer
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.