consensys.teku
Ansible 角色: Teku
描述
Ansible 角色,用于安装、配置和运行 Teku: 一款企业级 Java Ethereum 2 客户端。
目录
支持的平台
* MacOS
* Debian
* Ubuntu
* Redhat(CentOS/Fedora)
* Amazon
依赖
- JDK 11 或更高版本
角色变量:
所有可覆盖的变量存储在defaults/main.yml文件中。一般来说,这些变量都是配置选项。更多信息请参考 teku 文档
名称 | 默认值 | 描述 |
---|---|---|
teku_version |
未设置 | 必需 要安装和运行的 teku 版本。所有可用版本在 teku 的 发布 页面中列出。 |
teku_user |
teku | teku 用户 |
teku_group |
teku | teku 组 |
teku_download_url |
https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/{{ teku_version }}/teku-{{ teku_version }}.tar.gz | 下载用的 tar.gz 文件。如果需要从自定义位置(例如内部仓库)获取 teku,可以使用此链接。 |
teku_install_dir |
/opt/teku | 安装路径 |
teku_config_dir |
/etc/teku | 默认配置路径 |
teku_data_dir |
/opt/teku/data | 数据目录路径 |
teku_log_dir |
/var/log/teku | 日志目录路径 |
teku_log_filename |
{{ teku_log_dir }}/teku.log |
包含位置(相对或绝对)和日志文件名的路径 |
teku_profile_file |
/etc/profile.d/teku-path.sh | 允许将 teku 加载进系统 PATH 的路径 |
teku_managed_service |
true | 启用 systemd 服务(在 Darwin 上为 launchd) |
teku_launchd_dir |
/Library/LaunchAgents | 默认 launchd 目录 |
teku_systemd_dir |
/etc/systemd/system/ | 默认 systemd 目录 |
teku_systemd_state |
restarted | systemd 服务状态的默认选项 |
teku_output_transition_dir |
/tmp/teku | |
teku_node_private_key_file |
"" | |
teku_network |
minimal | 预定义网络配置 |
teku_host_ip |
"" | |
teku_p2p_enabled |
True | 启用或禁用所有 P2P 通信 |
teku_p2p_interface |
0.0.0.0 | 指定节点监听 P2P 通信的网络接口 |
teku_p2p_port |
9000 | 指定 P2P 监听端口(UDP 和 TCP) |
teku_p2p_advertised_port |
9000 | 广告的 P2P 端口 |
teku_p2p_discovery_enabled |
True | 启用或禁用 P2P 节点发现 |
teku_interop_genesis_time |
0 | |
teku_interop_start_state |
"" | |
teku_interop_owned_validator_start_index |
0 | |
teku_interop_owned_validator_count |
64 | |
teku_interop_number_of_validators |
64 | |
teku_interop_enabled |
False | |
teku_validators_key_file |
"" | 用于加载未加密验证者密钥的 YAML 格式文件路径 |
teku_deposit_mode |
normal | |
teku_deposit_input_file |
"" | |
teku_deposit_number_validators |
64 | |
teku_deposit_contract_address |
0x | 存款合约的 Eth1 地址 |
teku_deposit_eth1_endpoint |
"" | Eth1 节点的 JSON-RPC URL |
teku_metrics_enabled |
True | 设置为 true 以启用指标导出功能 |
teku_metrics_interface |
0.0.0.0 | |
teku_metrics_port |
8008 | 部署为单体时的指标端口 |
teku_beacon_metrics_port |
8008 | 部署为独立时的信标服务指标端口 |
teku_validator_metrics_port |
8009 | 部署为独立时的验证服务指标端口 |
teku_metrics_categories |
[] (所有类别启用) | 追踪指标的类别 |
teku_data_path |
/data | 在单独模式中,为验证者和信标服务使用同一文件夹 |
teku_data_storage_mode |
prune | 设置处理历史链数据的策略 |
teku_beacon_rest_api_port |
5051 | |
teku_beacon_rest_api_docs_enabled |
False | |
teku_beacon_rest_api_enabled |
True | 启用 REST API 服务 |
teku_beacon_rest_api_interface |
127.0.0.1 | REST API 服务的接口 |
teku_beacon_rest_api_host_allowlist |
["*"] | REST API 服务的主机白名单 |
teku_cmdline_args |
[] | |
teku_cmdline_args_beacon |
teku_cmdline_args | 仅适用于独立模式,允许设置信标特定的值 |
teku_cmdline_args_validator |
teku_cmdline_args | 仅适用于独立模式,允许设置验证器特定的值 |
teku_env_opts |
[] | |
teku_env_opts_beacon |
teku_env_opts |
仅适用于独立模式,允许设置信标特定的值 |
teku_env_opts_validator |
teku_env_opts |
仅适用于独立模式,允许设置验证器特定的值 |
teku_standalone_validator |
False | 以独立模式运行验证器 |
teku_beacon_enabled |
True | 是否部署信标节点 |
未在 Ansible 角色中定义默认值的变量列表。然而,如果这些变量通过命令行设置,则会在 teku 配置文件中进行配置。
名称 | 配置文件参数 | 描述 |
---|---|---|
teku_data_beacon_path |
data-beacon-path |
信标数据路径 |
teku_data_storage_archive_frequency |
data-storage-archive-frequency |
设置将最终状态存储到磁盘的频率(以槽为单位) |
teku_data_validator_path |
data-validator-path |
验证器客户端数据路径 |
teku_ee_endpoint |
ee-endpoint |
执行引擎的端点 URL |
teku_ee_jwt_secret_file |
ee-jwt-secret-file |
读取执行引擎 JWT 身份验证密钥的文件 |
teku_log_level |
logging |
日志级别: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL |
teku_log_validator_duties |
log-include-validator-duties-enabled |
是否在验证器执行任务时记录事件 |
teku_p2p_discovery_bootnodes |
p2p-discovery-bootnodes |
启动节点的 ENR 列表,例如: ['enr:-enr-string','enr:-enr-string'] |
teku_p2p_peer_lower_bound |
p2p-peer-lower-bound |
目标对等点的下限 |
teku_p2p_peer_upper_bound |
p2p-peer-upper-bound |
目标对等点的上限 |
teku_p2p_static_peers |
p2p-static-peers |
静态对等点,例如: ['peer1-address','peer2-address'] |
teku_p2p_subscribe_all_subnets_enabled |
p2p-subscribe-all-subnets-enabled |
True/False |
teku_validators_external_signer_public_keys |
validators-external-signer-public-keys |
外部签名者公共密钥列表,例如: ['key1','key2'] |
teku_validators_external_signer_timeout |
validators-external-signer-timeout |
外部签名服务的超时(以毫秒为单位) |
teku_validators_external_signer_url |
validators-external-signer-url |
外部签名服务的URL |
teku_validators_proposer_default_fee_recipient |
validators-proposer-default-fee-recipient |
提议合并区块时使用的默认费用接收者 |
teku_validators_proposer_config |
validators-proposer-config |
加载提议者配置的远程 URL 或本地文件路径 |
teku_validators_proposer_config_refresh_enabled |
validators-proposer-config-refresh-enabled |
是否定期刷新提议者配置 |
teku_validators_graffiti |
validators-graffiti |
在创建区块时包含的涂鸦(将被转换为字节并填充为 Bytes32) |
teku_validators_keystore_locking_enabled |
validators-keystore-locking-enabled |
启用锁定验证者密钥库文件(有效值 True, False) |
teku_validators_performance_tracking_enabled |
validators-performance-tracking-enabled |
启用验证者性能跟踪和日志记录(有效值 True, False) |
teku_validators_early_attestations_enabled |
validators-early-attestations-enabled |
启用提前认证生产(有效值 True, False) |
teku_ws_checkpoint |
ws-checkpoint |
在弱主观期内的最近检查点。格式 |
teku_beacon_node_api_endpoints |
beacon-node-api-endpoints |
数组。验证器客户端应该连接的信标节点 API 端点。 |
独立模式
可以将 Teku 配置为在单体模式下运行(信标和验证者在同一进程中运行)或独立模式(信标和验证者在各自的进程中运行)。独立模式将信标服务与验证者服务运行在各自的进程中。系统服务名称 teku
用于信标服务,teku-validator
用于在独立模式下运行的验证者服务。Ansible 角色默认在单体模式下运行 Teku,行为可以通过变量 teku_standalone_validator=False/True
来控制。
示例剧本
- 默认设置: 从 galaxy 安装角色。
ansible-galaxy install pegasyseng.teku
创建一个 requirements.yml 文件,如下所示:
将下面的 x.y.z
替换为您想要使用的 teku 版本,参见 teku 发布 页面。
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: pegasyseng.teku
vars:
teku_version: x.y.z
使用 ansible-playbook 运行:
ansible-playbook -v /path/to/requirements.yml
- 通过 GitHub 安装:
ansible-galaxy install git+https://github.com/pegasyseng/ansible-role-teku.git
创建一个 requirements.yml 文件,如下所示:
将下面的 x.y.z
替换为您想要使用的 teku 版本,参见 teku 发布 页面。
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: ansible-role-teku
vars:
teku_version: x.y.z
使用 ansible-playbook 运行:
ansible-playbook -v /path/to/requirements.yml
许可证
Apache
作者信息
PegaSysEng, 2020
关于项目
Teku is an open-source java enterprise ethereum 2 client
安装
ansible-galaxy install consensys.teku
许可证
Unknown
下载
6.2k
拥有者
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.