consensys.hyperledger_besu
Rola Ansible: Besu
Opis
Rola Ansible, która zainstaluje, skonfiguruje i uruchomi Besu: klienci Ethereum w Javie dla przedsiębiorstw.
Spis treści
Obsługiwane platformy
* MacOS
* Debian
* Ubuntu
* Redhat(CentOS/Fedora)
* Amazon
Zależności
- JDK 11 lub wyższe
Zmienne roli:
Wszystkie zmienne, które można przedefiniować, są przechowywane w pliku defaults/main.yml. Te zmienne to głównie opcje konfiguracyjne. Proszę zapoznać się z dokumentacją Besu tutaj po więcej informacji.
Nazwa | Wartość domyślna | Opis |
---|---|---|
besu_build_from_source |
nieustawione | Gdy ustawione na true , Besu jest budowany z kodów źródłowych z gita. Zobacz także besu_git_repo i besu_git_commit |
besu_version |
nieustawione | WYMAGANE jeśli besu_build_from_source jest fałszywe. Wersja Besu do zainstalowania i uruchomienia. Wszystkie dostępne wersje są wymienione na stronie Besu rozwiązań |
besu_git_repo |
https://github.com/hyperledger/besu.git | URL do użycia przy klonowaniu źródeł besu. Konieczne tylko wtedy, gdy besu_build_from_source jest true . |
besu_git_commit |
master | Komitet git, który ma być używany przy budowaniu Besu z kodu. Może być nazwą gałęzi, hashem komitu lub inną legalną wartością do użycia jako argument do git checkout . Używane tylko, jeśli besu_build_from_source jest true . |
besu_user |
besu | Użytkownik Besu |
besu_group |
besu | Grupa Besu |
besu_download_url |
https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/{{ besu_version }}/besu-{{ besu_version }}.tar.gz | Plik tar.gz do pobrania. Możesz użyć tego, jeśli potrzebujesz pobrać besu z niestandardowej lokalizacji, takiej jak wewnętrzne repozytorium. |
besu_install_dir |
/opt/besu | Ścieżka do instalacji |
besu_config_dir |
/etc/besu | Ścieżka do domyślnej konfiguracji |
besu_node_private_key_file |
"" | Ścieżka do prywatnego klucza węzła, jeśli dostarczony. Musi zawierać nazwę pliku klucza węzła i ścieżkę, jak /home/me/me_node/myPrivateKey . Jeśli nie podano, Besu automatycznie go utworzy. |
besu_data_dir |
/opt/besu/data | Ścieżka do katalogu danych |
besu_log_dir |
/var/log/besu | Ścieżka do logów |
besu_log4j_config_file |
nieustawione | Absolutna ścieżka do niestandardowego pliku konfiguracyjnego log4j. Zauważ, że ta konfiguracja logów jest nadpisywana, jeśli besu_log_level jest ustawiony |
besu_profile_file |
/etc/profile.d/besu-path.sh | Ścieżka do załadowania Besu do systemowego PATH |
besu_managed_service |
true | Umożliwia usługi systemd (lub launchd, jeśli na systemie Darwin) |
besu_launchd_dir |
/Library/LaunchAgents | Domyślny katalog launchd |
besu_systemd_dir |
/etc/systemd/system/ | Domyślny katalog systemd |
besu_systemd_state |
restarted | Domyślna opcja dla stanu usługi systemd |
besu_identity |
nieustawione | Konfiguracja tożsamości w identyfikatorze klienta |
besu_host_ip |
"" | Adres IP, który Besu używa do sieci P2P. Określa hosta, na którym P2P nasłuchuje |
besu_max_peers |
nieustawione | Maksymalna liczba połączeń P2P, które można nawiązać |
besu_network |
mainnet | Sieć, do której dołączy ten węzeł. Inne wartości to 'ropsten', 'rinkeby', 'goerli', 'classic', 'mordor', 'kotti', 'dev' oraz 'custom' |
besu_genesis_path |
nieustawione | Ścieżka do pliku genesis, ważna tylko wtedy, gdy besu_network jest custom |
besu_required_blocks |
[] | Wymaga węzła z określoną liczbą bloku, który mażące hashe, gdy łączy się, lub Besu odrzuca ten węzeł |
besu_sync_mode |
FAST | Określa tryb synchronizacji. Inne wartości to 'FULL' |
besu_log_level |
nieustawione | Poziom logowania do użycia. Inne poziomy logowania to 'OFF', 'FATAL', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL'. Ustawienie tego ma priorytet nad konfiguracją ustawioną przez besu_log4j_config_file |
besu_data_storage_format |
nieustawione | Format przechowywania danych. Możliwe wartości to 'FOREST' oraz 'BONSAI'. Domyślnym formatem besu jest 'FOREST' |
besu_engine_jwt_disabled |
nieustawione | Wyłącza uwierzytelnianie dla API silnika. Domyślnie besu jest fałszywe. |
besu_engine_jwt_secret |
nieustawione | Ścieżka do pliku ze wspólnym kluczem, używanego do uwierzytelniania klientów konsensusu, gdy używa się API silnika JSON-RPC (zarówno HTTP, jak i WebSocket). Zawartość pliku mogą być ustawione za pomocą besu_engine_jwt_secret_content i musi wynosić co najmniej 32 bajty w kodzie szesnastkowym, nie zaczynając od 0x, w przeciwnym razie zostanie automatycznie ustawiona losowa wartość, ale tylko jeśli na dysku nie istnieje jeszcze tajny klucz. Jeśli nie podano, domyślnie Besu tworzy efemeryczny klucz w katalogu danych, który jest usuwany po wyjściu. |
besu_engine_jwt_secret_content |
losowa wartość | Dostępny tylko, gdy besu_engine_jwt_secret jest podany, plik jest wypełniany tą wartością, która musi mieć co najmniej 32 bajty kodu szesnastkowego i nie zaczynać się od 0x, i powinna być zaszyfrowana za pomocą Ansible Vault. |
besu_engine_rpc_port |
nieustawione | Port nasłuchujący dla wywołań API silnika (ENGINE, ETH) dla JSON-RPC przez HTTP i WebSocket. Domyślnie besu to 8551 |
besu_p2p_port |
30303 | Określa porty nasłuchujące P2P (UDP i TCP). Porty muszą być odpowiednio udostępnione |
besu_min_gas |
1000 | Minimalna cena, jaką transakcja oferuje, aby zostać uwzględnioną w wykopanym bloku |
besu_miner_enabled |
false | Włącza wydobywanie, gdy węzeł jest uruchamiany |
besu_miner_coinbase |
0x | Konto, na które trafią nagrody za wydobywanie |
besu_miner_extra_data |
"" | Ciąg hex reprezentujący 32 bajty, które mają być zawarte w polu dodatkowych danych wykopanego bloku. |
besu_rpc_http_enabled |
true | Włącza usługę HTTP JSON-RPC |
besu_rpc_http_host |
0.0.0.0 | Określa hosta, na którym HTTP JSON-RPC nasłuchuje |
besu_rpc_http_port |
8545 | Określa port, na którym HTTP JSON-RPC nasłuchuje |
besu_rpc_http_api |
["ADMIN","DEBUG","NET","ETH","MINER","WEB3"] | Lista API rozdzielonych przecinkami do włączenia w kanale HTTP JSON-RPC. Przy użyciu tej opcji, opcja besu_rpc_http_enabled również musi być włączona |
besu_rpc_http_cors_origins |
["all"] | URL domeny źródłowej rozdzielonych przecinkami do walidacji CORS |
besu_rpc_ws_enabled |
true | Włącza usługę WebSockets |
besu_rpc_ws_api |
["NET", "ETH", "WEB3"] | Lista API rozdzielonych przecinkami do włączenia w kanale WebSockets JSON-RPC. Przy użyciu tej opcji, opcja besu_rpc_ws_enabled również musi być włączona |
besu_rpc_ws_host |
0.0.0.0 | Określa hosta, na którym WebSockets nasłuchuje |
besu_rpc_ws_port |
8546 | Określa port nasłuchujący Websockets JSON-RPC (TCP). Port musi być odpowiednio udostępniony |
besu_graphql_http_enabled |
true | Włącza usługę HTTP JSON-RPC |
besu_graphql_http_host |
0.0.0.0 | Określa hosta, na którym HTTP JSON-RPC nasłuchuje |
besu_graphql_http_port |
8547 | Określa port, na którym HTTP JSON-RPC nasłuchuje |
besu_graphql_http_cors_origins |
["all"] | Lista domen źródłowych rozdzielonych przecinkami do walidacji CORS |
besu_rpc_http_authentication_enabled |
"false" | Włącza uwierzytelnianie RPC WS |
besu_rpc_http_authentication_credentials_file |
"" | Określa plik do użycia dla danych uwierzytelniających RPC http |
besu_rpc_http_authentication_jwt_public_key_file |
"" | Określa plik do użycia dla danych uwierzytelniających RPC http za pośrednictwem klucza publicznego |
besu_rpc_ws_authentication_enabled |
"false" | Włącza uwierzytelnianie RPC WS |
besu_rpc_ws_authentication_credentials_file |
"" | Określa plik do użycia dla danych uwierzytelniających RPC http |
besu_rpc_ws_authentication_jwt_public_key_file |
"" | Określa plik do użycia dla danych uwierzytelniających RPC http za pośrednictwem klucza publicznego |
besu_metrics_host |
0.0.0.0 | Określa hosta, na którym Prometheus uzyskuje dostęp do metryk Besu. Serwer metryk respektuje opcję besu_whitelist |
besu_metrics_port |
9545 | Określa port, na którym Prometheus uzyskuje dostęp do metryk Besu |
besu_bootnodes |
[] | Lista URL enode rozdzielonych przecinkami do wykrywania P2P. Przy łączeniu się z MainNet lub publicznymi testnetami, domyślnie jest to predefiniowana lista URL enode |
besu_static_nodes_file |
/etc/besu/static-nodes.json | Ścieżka do pliku statycznych węzłów |
besu_host_whitelist |
["*"] |
Lista rozdzielonych przecinkami nazw hostów, które mają dostęp do API JSON-RPC. Domyślnie akceptowany jest dostęp z localhost i 127.0.0.1. |
besu_local_permissions_enabled |
"false" | Włącza lokalne uprawnienia |
besu_local_permissions_config_file |
/etc/besu/permissions_config.toml | Ścieżka do pliku konfiguracyjnego lokalnych uprawnień dla lokalnych kont i węzłów |
besu_local_permissions_accounts |
[] | Lista uprawnionych kont |
besu_local_permissions_nodes |
[] | Lista uprawnionych węzłów |
besu_permissions_accounts_contract_address |
nieustawione | Adres umowy dla uprawnień kont on-chain |
besu_permissions_nodes_contract_address |
nieustawione | Adres umowy dla uprawnień węzłów on-chain |
besu_cmdline_args |
"" | Argumenty wiersza poleceń przekazywane jako nadpisania |
besu_env_opts |
[] | Ustawienia przekazywane do JVM za pomocą zmiennej środowiskowej BESU_OPTS . np: [-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005] |
besu_env_vars |
{} | Słownik z zmiennymi środowiskowymi do ustawienia podczas uruchamiania Besu jako usługi systemd. np: {MALLOC_ARENA_MAX: 2} |
besu_privacy_enabled |
false | Włącza prywatność |
besu_privacy_url |
"" | URL do kontaktu z Orionem, w tym port np: http://localhost:8888 |
besu_privacy_public_key_file |
"" | Ścieżka do klucza publicznego Oriona |
besu_privacy_marker_tx_signing_key_file |
"" | Ścieżka do pliku klucza prywatnego używanego do podpisywania transakcji oznaczających prywatność. Jeśli nie podasz tej opcji, Besu podpisuje każdą transakcję innym losowo wygenerowanym kluczem. |
besu_xdns_enabled |
"false" | Obsługa DNS z zaufanym dostawcą DNS w sieciach prywatnych z powodu ograniczeń, gdzie adresy IP mogą się zmieniać. Na przykład, gdy używasz podów Kubernetes |
besu_target_gas_limit |
nieustawione | Konfiguracja docelowego limitu gazu |
besu_tx_pool |
layered | Wybór implementacji puli transakcji, ustaw na legacy , aby przełączyć się na starą implementację |
besu_tx_pool_price_bump |
10 | Procentowy wzrost ceny do zastąpienia istniejącej transakcji |
besu_tx_pool_limit_by_account_percentage |
0.001 | Maksymalna liczba transakcji, względnie do maksymalnego rozmiaru puli, dla tego samego nadawcy dozwolona w puli transakcji. Domyślnie 5, aby zapobiec atakowi DoS. Używa wartości zmiennoprzecinkowej [0..1], więc ustawienie na 1 oznacza, że pojedynczy nadawca może zapełnić całą pulę transakcji. Zastosuj tylko, jeśli wybrana jest implementacja legacy |
besu_tx_pool_max_size |
4096 | Maksymalna liczba transakcji przechowywanych w puli transakcji. Zastosuj tylko, jeśli wybrana jest implementacja legacy |
besu_tx_pool_retention_hours |
13 | Maksymalny czas, w godzinach, na przechowywanie oczekujących transakcji w puli transakcji. Zastosuj tylko, jeśli wybrana jest implementacja legacy |
Przykładowy Playbook
- Domyślna konfiguracja: Zainstaluj rolę z galaktyki
ansible-galaxy install consensys.hyperledger_besu
Utwórz plik requirements.yml z następującą zawartością:
Zamień x.y.z
poniżej na wersję, którą chcesz użyć z strony Besu rozwiązań
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: consensys.hyperledger_besu
vars:
besu_version: x.y.z
Uruchom za pomocą ansible-playbook:
ansible-playbook -v /path/to/requirements.yml
- Instalacja z użyciem GitHub:
ansible-galaxy install git+https://github.com/consensys/ansible-role-besu.git
Utwórz plik requirements.yml z następującą zawartością:
Zamień x.y.z
poniżej na wersję, którą chcesz użyć z strony Besu rozwiązań
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: ansible-role-besu
vars:
besu_version: x.y.z
Uruchom za pomocą ansible-playbook:
ansible-playbook -v /path/to/requirements.yml
Licencja
Apache
Informacje o autorze
Consensys, 2023
O projekcie
Besu is an open-source java enterprise ethereum client
Zainstaluj
ansible-galaxy install consensys.hyperledger_besu
Licencja
Unknown
Pobrania
16.2k
Właściciel
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.