peggo 是你设置的最后一步。
.env 文件示例:
重要提示: 如果你正在运行自己的
injectived(Injective 节点)和 geth(以太坊节点)进程,请确保它们与最新状态同步。过时的节点可能会使 peggo 的业务逻辑出现偏差,有时会显示”误报”日志。步骤 1:配置 .env
.env 文件中的 PEGGO_ETH_RPC。
要设置你自己的以太坊全节点,请按照这里的说明操作。可以使用外部以太坊 RPC 提供商,如 Alchemy 或 Infura,但请记住,Peggo 桥接中继器大量使用 eth_getLogs 调用,这可能会增加你的成本负担,具体取决于你的提供商。
管理 peggo 的以太坊密钥
Peggo 支持两种提供签名密钥凭证的选项 - 使用 Geth keystore(推荐)或提供明文以太坊私钥。
选项 1. Geth Keystore
你可以在 Geth 文档这里找到使用 keystore 安全创建新以太坊账户的说明。 为方便起见,下面提供了一个示例。选项 2. 以太坊私钥(不安全)
只需使用新账户的新以太坊私钥更新PEGGO_ETH_PK。
然后确保你的以太坊地址有足够的 ETH。
Injective 配置
创建用于发送 Injective 交易的委托 Cosmos 密钥
你的 peggo 编排者可以:- 使用专门用于发送验证者特定 Peggy 交易(即
ValsetConfirm、BatchConfirm和SendToCosmos交易)的显式委托账户密钥,或 - 简单地使用你的验证者账户密钥(“你的验证者就是你的编排者”)
管理 peggo 的 Cosmos 账户密钥
Peggo 支持两种提供 Cosmos 签名密钥凭证的选项 - 使用 Cosmos keyring(推荐)或提供明文私钥。
选项 1. Cosmos Keyring
在.env 文件中,首先指定与你的 peggo 账户签名密钥对应的 PEGGO_COSMOS_FROM 和 PEGGO_COSMOS_FROM_PASSPHRASE。
如果你按照上面推荐的方式使用委托账户密钥配置,这将是你的 $ORCHESTRATOR_KEY_NAME 和密码。否则,这应该是你的 $VALIDATOR_KEY_NAME 和相关的验证者密码。
请注意,默认的 keyring 后端是 file,因此 peggo 默认会尝试在磁盘上定位密钥。
要使用默认的 injectived 密钥配置,你应该将 keyring 路径设置为你的 injectived 节点的主目录,例如 ~/.injectived。
你也可以在这里阅读更多关于 Cosmos Keyring 设置的信息。
选项 2. Cosmos 私钥(不安全)
在.env 文件中,指定与你的 peggo 账户签名密钥对应的 PEGGO_COSMOS_PK。
如果你按照上面推荐的方式使用委托账户密钥配置,这将是你的编排者账户的私钥。否则,这应该是你的验证者账户私钥。
要获取你的编排者的 Cosmos 私钥(如适用),运行
步骤 2:注册你的编排者和以太坊地址
你只能注册一次编排者和以太坊地址。之后无法更新。所以在运行以下命令之前请仔细检查。- 要获取你的验证者的 inj 地址,运行
injectived keys list $VALIDATOR_KEY_NAME - 要获取你的编排者的 inj 地址,运行
injectived keys list $ORCHESTRATOR_KEY_NAME
注意: 一旦你使用
set-orchestrator-address 消息注册了你的编排者,你就无法再次注册。完成此步骤后,你的 Validator 将绑定到提供的以太坊地址(以及你可能提供的委托地址)。换句话说,你的 peggo 必须始终使用你为注册提供的地址运行。步骤 3:启动中继器
步骤 4:创建 Peggo systemd 服务
在/etc/systemd/system/peggo.service 下添加包含以下内容的 peggo.service 文件
步骤 5:(可选)保护 Cosmos Keyring 免受未授权访问
这是一个高级 DevOps 主题,请咨询你的系统管理员。
~/.injectived/keyring-file。
Injective 质押文档的某些部分将指导你使用此密钥进行治理目的,即提交交易和设置以太坊桥接。为了保护密钥免受未授权访问,即使 keyring 密码通过配置泄露,你也可以设置操作系统权限,仅允许 injectived / peggo 进程访问磁盘。
在 Debian、Ubuntu 和 RHEL 等 Linux 系统中,可以使用 POSIX 访问控制列表(ACL)来实现。在开始使用 ACL 之前,必须在启用 ACL 的情况下挂载文件系统。每个发行版都有一些官方指南:
