consensys.web3signer

Ansible 角色:Web3Signer

说明

Ansible 角色,用于安装、配置和运行 Web3Signer: 一个开源签名服务。

目录

支持的平台

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

依赖项

  • JDK 11 或更高版本
  • 如果启用了以太坊2的削减保护,则需要 PostgreSQL 数据库

角色变量

所有可重写的变量存储在 defaults/main.yml 文件中。 这些变量主要是配置选项。 有关更多信息,请参考 Web3Signer 文档

名称 默认值 描述
web3signer_version develop 要安装的版本
web3signer_user web3signer 创建并运行 web3signer 的操作系统用户
web3signer_group web3signer 操作系统组
web3signer_app_home /opt/web3signer 应用安装位置
web3signer_config_path /etc/web3signer 配置文件位置
web3signer_log_path /var/log/web3signer 日志文件位置
web3signer_log_filename web3signer.log 日志文件名。位置为 web3signer_log_path
web3signer_data_home /data/web3signer 存储任何持久数据的位置。密钥存储在子文件夹 keys
web3signer_db_verify_connection True 启用数据库可用性检查
web3signer_db_host PostgreSQL 数据库实例主机
web3signer_db_name PostgreSQL 数据库名称
web3signer_db_username PostgreSQL 数据库用户
web3signer_db_password PostgreSQL 数据库用户密码
web3signer_flyway_version 7.3.0 用于 Flyway 迁移的 Flyway CLI 版本
web3signer_service_name web3signer Systemd 服务名称
web3signer_config_filename web3signer.yml 配置文件名。位置为 web3signer_config_path
web3signer_command eth2 Web3signer 命令。支持 eth1eth2filecoin
web3signer_keys [] 指定要配置的密钥。有关更多详细信息,请参见下面的说明
web3signer_logging INFO 日志详细级别:OFF、FATAL、WARN、INFO、DEBUG、TRACE、ALL
web3signer_http_listen_host 127.0.0.1 HTTP 监听的主机
web3signer_http_listen_port 9000 HTTP 监听的端口
web3signer_http_host_allowlist ['127.0.0.1'] 允许 HTTP 访问的主机名的逗号分隔列表,或 * 以接受任何主机
web3signer_metrics_enabled False 设置为启动指标导出器
web3signer_metrics_host 127.0.0.1 指标导出器监听的主机
web3signer_metrics_port 9001 指标导出器监听的端口
web3signer_metrics_categories ['HTTP', 'SIGNING', 'FILECOIN', 'JVM', 'PROCESS', 'ETH2_SLASHING_PROTECTION'] 跟踪指标的类别的逗号分隔列表
web3signer_metrics_host_allowlist ['127.0.0.1'] 允许指标访问的主机名的逗号分隔列表,或 * 以接受任何主机
web3signer_idle_connection_timeout_seconds 30 空闲连接被终止的秒数
web3signer_swagger_ui_enabled False 启用 Swagger UI
web3signer_tls_keystore_file 用于启用入站连接 TLS 的 PKCS#12 格式密钥存储路径
web3signer_tls_keystore_password_file 包含用于解密密钥存储的密码的文件路径
web3signer_tls_allow_any_client 如果定义,任何客户端均可连接,无论证书如何。若启用了白名单或 CA 客户端,则不能设置此项。
web3signer_tls_known_client_file 包含授权客户端指纹的文件路径
web3signer_tls_allow_ca_clients 如果定义,允许 CA 授权的客户端连接到 EthSigner
web3signer_log4j_config_file undefined 自定义 log4j 配置文件
web3_signer_additional_configuration {} 在配置文件中设置的附加配置项的映射。这将帮助在 Ansible 角色未更新时配置参数。

配置签名密钥:

要在文件系统上配置的签名密钥必须通过参数 web3signer_keys 以映射的形式提供。映射的键将用作密钥文件的名称。 每个密钥都会生成一个密钥文件。目前仅支持未加密的密钥,其他类型的密钥将很快加入支持。

web3signer_keys:
  key1:
    type: 'file-raw'
    keyType: 'BLS'
    privateKey: '0x6eeb32dd0fe010051825e3ef402b1a7c66fd6daa9c61eb351c5d760684de8e6a'

示例剧本:

在单个虚拟机上安装 PostgreSQL、Java 和 Web3Signer 的示例剧本。

- name: Web3Signer 安装
  hosts: web3signer
  remote_user: vagrant
  vars:
    web3signer_http_listen_host: '0.0.0.0'
    web3signer_db_host: 'localhost'
    web3signer_db_name: 'web3signer'
    web3signer_db_username: 'web3signer'
    web3signer_db_password: 'somepassword'
    web3signer_keys:
      key1:
        type: 'file-raw'
        keyType: 'BLS'
        privateKey: '0x6eeb32dd0fe010051825e3ef402b1a7c66fd6daa9c61eb351c5d760684de8e6a'
    postgresql_hba_entries:
      - { type: local, database: all, user: postgres, auth_method: trust }
      - { type: host, database: web3signer, user: web3signer, address: localhost, auth_method: password }
    postgresql_users:
      - name: 'web3signer'
        password: 'somepassword'
    postgresql_databases:
      - name: 'web3signer'

  roles:
    - role: geerlingguy.postgresql
      become: True
    - role: lean_delivery.java
      become: True
    - role: consensys.web3signer

许可证

Apache

作者信息

Consensys, 2020

关于项目

Web3Signer is an open-source signing service developed under the Apache 2.0 license and written in Java.

安装
ansible-galaxy install consensys.web3signer
许可证
Unknown
下载
10k
拥有者
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.