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
- Abhängigkeiten
- Rollenvariablen
- Beispiel-Playbook
- Lizenz
- Autoreninformationen
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
- 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
- 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.