测试网 Peggo

Equinox 测试网

步骤 1:配置您的Peggo中继节点

mkdir ~/.peggo
cp testnet-config/staking/40014/peggo-config.env ~/.peggo/.env
cd ~/.peggo

首先,在.env文件中更新PEGGO_ETH_RPC,填写有效的Sepolia EVM RPC端点。 要设置您自己的Sepolia全节点,请按照此处的说明进行操作。您也可以使用Alchemy或Infura RPC,但请记住,Peggo桥接仍在开发中,且其向RPC发出的请求数量尚未优化。确保不会对您的账户造成高额费用。 Peggo还需要访问您的验证者的Cosmos和以太坊凭证,以便为相应网络签署交易。

Cosmos 密钥

有两种方式提供凭证访问——使用加密密钥的密钥环,或直接使用明文私钥。

1. Cosmos 密钥环

PEGGO_COSMOS_FROM更新为您的验证者密钥名称(或账户地址),并将PEGGO_COSMOS_FROM_PASSPHRASE更新为您的Cosmos密钥环密码短语。请注意,默认的密钥环后端是文件,Peggo将尝试在磁盘上查找密钥。 密钥环路径必须指向您的injectived节点的主目录,如果您想从那里重用密钥。 了解更多关于密钥环设置的信息,请点击这里.

2. Cosmos 私钥(不安全)

只需将PEGGO_COSMOS_PK更新为您验证者账户的私钥。 要获取您的验证者Cosmos私钥,请运行: injectived keys unsafe-export-eth-key $VALIDATOR_KEY_NAME

这种方法不安全,不推荐使用。

以太坊密钥

有两种方式提供凭证访问——使用加密密钥的Geth密钥库,或直接使用明文私钥。

1. Geth 密钥库

只需创建一个新的私钥存储,并更新以下环境变量:

  • PEGGO_ETH_KEYSTORE_DIR

  • PEGGO_ETH_FROM

  • PEGGO_ETH_PASSPHRASE

您可以在Geth文档中找到关于如何安全创建新的以太坊账户并使用密钥库的说明。 下面提供了一个示例。

geth account new --datadir=/home/ec2-user/.peggo/data/

INFO [03-23|18:18:36.407] Maximum peer count                       ETH=50 LES=0 total=50
Your new account is locked with a password. Please give a password. Do not forget this password.
Password:
Repeat password:

Your new key was generated

Public address of the key:   0x9782dc957DaE6aDc394294954B27e2118D05176C
Path of the secret key file: /home/ec2-user/.peggo/data/keystore/UTC--2021-03-23T15-18-44.284118000Z--9782dc957dae6adc394294954b27e2118d05176c

- You can share your public address with anyone. Others need it to interact with you.
- You must NEVER share the secret key with anyone! The key controls access to your funds!
- You must BACKUP your key file! Without the key, it's impossible to access account funds!
- You must REMEMBER your password! Without the password, it's impossible to decrypt the key!

现在,您可以按照以下方式设置环境变量:

PEGGO_ETH_KEYSTORE_DIR=/home/ec2-user/.peggo/data/keystore
PEGGO_ETH_FROM=0x9782dc957DaE6aDc394294954B27e2118D05176C
PEGGO_ETH_PASSPHRASE=12345678

接下来,确保您的以太坊地址拥有Sepolia ETH。您可以从公共水龙头请求Sepolia ETH。

2. 以太坊私钥(不安全)

只需将PEGGO_ETH_PK更新为新账户的以太坊私钥。 接下来,确保您的以太坊地址拥有Sepolia ETH。您可以从公共水龙头请求Sepolia ETH。

Step 2: 注册您的以太坊地址

cd ~/.peggo
peggo tx register-eth-key

您可以通过在https://staking-lcd-testnet.injective.network/peggy/v1/valset/current上检查您的验证者映射的以太坊地址来验证注册是否成功。

Step 3: 启动 Relayer

peggo orchestrator

这将启动 Peggo 桥接(Relayer / Orchestrator)。

Step 4: 创建 Peggo systemd 服务

/etc/systemd/system/peggo.service下创建以下内容的peggo.service文件:

[Unit]
  Description=peggo

[Service]
  WorkingDirectory=/home/ec2-user/.peggo
  ExecStart=/bin/bash -c 'peggo orchestrator '
  Type=simple
  Restart=always
  RestartSec=1
  User=ec2-user

[Install]
  WantedBy=multi-user.target

然后,运行以下命令来配置环境变量、启动和停止 Peggo 中继节点:

sudo systemctl start peggo
sudo systemctl stop peggo
sudo systemctl restart peggo
sudo systemctl status peggo

# enable start on system boot
sudo systemctl enable peggo

# To check Logs
journalctl -f -u peggo

Step 5: (可选)保护Cosmos密钥环免受未经授权的访问

在此了解有关Cosmos密钥环设置的更多信息。一旦您启动了节点,默认的密钥环将以加密形式将验证器操作员密钥存储在磁盘上。通常,密钥环位于节点的主目录中,即~/.injectived/keyring-fileInjective质押文档的某些部分将指导您如何使用此密钥进行治理目的,例如提交交易和设置以太坊桥接。为了保护密钥免受未经授权的访问,即使密钥环密码短语通过配置文件泄露,您也可以设置操作系统权限,仅允许injectived / peggo进程访问磁盘。 在像Debian、Ubuntu和RHEL这样的Linux系统中,可以使用POSIX访问控制列表(ACL)来实现这一点。在开始使用ACL之前,必须确保文件系统已启用ACL。每个发行版都有一些官方指南:

测试网

Step 1: 配置您的 Peggo 中继器

mkdir ~/.peggo
cp testnet-config/40014/peggo-config.env ~/.peggo/.env
cd ~/.peggo

首先,在.env文件中更新PEGGO_ETH_RPC,并提供有效的以太坊EVM RPC端点。 要创建您自己的以太坊全节点,您可以按照我们的指南进行操作。也可以使用外部以太坊RPC提供商,如Alchemy或Infura,但请注意,Peggo桥接中继器大量使用eth_getLogs调用,具体成本可能会根据您的提供商有所增加。 Peggo还需要访问您的验证器委托的Injective链账户和以太坊密钥凭证,以便为相应的网络签署交易。

创建您的委托Cosmos密钥以发送Injective交易

您的peggo中继器可以选择以下两种方式之一:

  • 使用专门委托的账户密钥来发送特定于验证器的Peggy交易(即ValsetConfirmBatchConfirmSendToCosmos交易),或者

  • 直接使用您的验证器账户密钥。

为了隔离目的,我们建议创建一个委托的Cosmos密钥来发送Injective交易,而不是使用您的验证器账户密钥。

创建新的密钥,运行:

injectived keys add $ORCHESTRATOR_KEY_NAME

然后,确保您的协调器inj地址具有INJ余额。 要获取您的协调器inj地址,请运行:

injectived keys list $ORCHESTRATOR_KEY_NAME

您可以使用以下命令将INJ从您的验证器账户转移到协调器地址:

injectived tx bank send $VALIDATOR_KEY_NAME  $ORCHESTRATOR_INJ_ADDRESS <amount-in-inj> --chain-id=injective-888 --keyring-backend=file --yes --node=tcp://localhost:26657 --gas-prices=500000000inj

示例:

injectived tx bank send genesis inj1u3eyz8nkvym0p42h79aqgf37gckf7szreacy9e 20000000000000000000inj --chain-id=injective-888  --keyring-backend=file --yes --node=tcp://localhost:26657 --gas-prices=500000000inj

然后,您可以通过运行以下命令验证您的协调器账户是否具有INJ余额:

injectived q bank balances $ORCHESTRATOR_INJ_ADDRESS

管理Cosmos账户密钥以用于peggo

Peggo支持两种提供Cosmos签名密钥凭证的选项 - 使用Cosmos密钥环(推荐)或提供明文私钥。

选项 1. Cosmos 密钥环

.env文件中,首先指定PEGGO_COSMOS_FROMPEGGO_COSMOS_FROM_PASSPHRASE,对应您的peggo账户签名密钥。 如果您使用如上所推荐的委托账户密钥配置,则这将分别是您的$ORCHESTRATOR_KEY_NAME和密码。否则,这应该是您的$VALIDATOR_KEY_NAME和关联的验证器密码。 请注意,默认的密钥环后端是文件,因此peggo默认会尝试在磁盘上查找密钥。 要使用默认的injectived密钥配置,您应该将密钥环路径设置为injectived节点的主目录,例如~/.injectived。 您还可以在此了解有关Cosmos密钥环设置的更多信息。

选项 2. Cosmos私钥(不安全)

.env文件中,指定PEGGO_COSMOS_PK,对应您的peggo账户签名密钥。 如果您使用如上所推荐的委托账户密钥配置,则这将是您的协调器账户的私钥。否则,这应该是您的验证器账户的私钥。 要获取您的协调器的Cosmos私钥(如果适用),请运行:

injectived keys unsafe-export-eth-key $ORCHESTRATOR_KEY_NAME

要获取您的验证器的Cosmos私钥(如果适用),请运行:

injectived keys unsafe-export-eth-key $VALIDATOR_KEY_NAME

再次强调,这种方法安全性较差,不推荐使用。

管理Ethereum密钥以用于peggo

Peggo支持两种提供签名密钥凭证的选项 - 使用Geth密钥库(推荐)或提供明文Ethereum私钥。

选项 1. Geth密钥库

只需创建一个新的私钥存储,并更新以下环境变量: PEGGO_ETH_KEYSTORE_DIR PEGGO_ETH_FROM PEGGO_ETH_PASSPHRASE

您可以在Geth文档中找到有关如何安全地使用密钥库创建新的Ethereum账户的说明,点击这里

为了方便起见,下面提供了一个示例。

geth account new --datadir=/home/ec2-user/.peggo/data/

INFO [03-23|18:18:36.407] Maximum peer count                       ETH=50 LES=0 total=50
Your new account is locked with a password. Please give a password. Do not forget this password.
Password:
Repeat password:

Your new key was generated

Public address of the key:   0x9782dc957DaE6aDc394294954B27e2118D05176C
Path of the secret key file: /home/ec2-user/.peggo/data/keystore/UTC--2021-03-23T15-18-44.284118000Z--9782dc957dae6adc394294954b27e2118d05176c

- You can share your public address with anyone. Others need it to interact with you.
- You must NEVER share the secret key with anyone! The key controls access to your funds!
- You must BACKUP your key file! Without the key, it's impossible to access account funds!
- You must REMEMBER your password! Without the password, it's impossible to decrypt the key!

请确保遵循geth提供的警告,特别是在备份密钥文件时,以避免不小心丢失密钥。我们还建议在密码短语中不要使用任何引号或反引号字符,以确保与peggo的兼容性。 现在,您应该设置以下环境变量:

# example values, replace with your own
PEGGO_ETH_KEYSTORE_DIR=/home/ec2-user/.peggo/data/keystore
PEGGO_ETH_FROM=0x9782dc957DaE6aDc394294954B27e2118D05176C
PEGGO_ETH_PASSPHRASE=12345678

然后,确保您的Ethereum地址具有足够的ETH余额。

选项 2. Ethereum私钥(不安全)

只需使用新账户的Ethereum私钥更新PEGGO_ETH_PK。 然后,确保您的Ethereum地址具有足够的ETH余额。

Step 2: 注册您的协调器和Ethereum地址

您只能注册一次协调器和Ethereum地址。之后无法更新。因此,在运行以下命令之前,请仔细检查。

injectived tx peggy set-orchestrator-address $VALIDATOR_INJ_ADDRESS $ORCHESTRATOR_INJ_ADDRESS $ETHEREUM_ADDRESS --from $VALIDATOR_KEY_NAME --chain-id=injective-888 --keyring-backend=file --yes --node=tcp://localhost:26657 --gas-prices=500000000inj
  • 获取您的验证者 inj 地址,运行, injectived keys list $VALIDATOR_KEY_NAME

  • 获取您的协调器 inj 地址, 运行, injectived keys list $ORCHESTRATOR_KEY_NAME

示例:

injectived tx peggy set-orchestrator-address inj10m247khat0esnl0x66vu9mhlanfftnvww67j9n inj1x7kvxlz2epqx3hpq6v8j8w859t29pgca4z92l2 0xf79D16a79130a07e77eE36e8067AeA783aBdA3b6 --from validator-key-name --chain-id=injective-888 --keyring-backend=file --yes --node=tcp://localhost:26657 --gas-prices=500000000inj

您可以通过在https://testnet.lcd.injective.dev/peggy/v1/valset/current 上检查您的验证器映射的Ethereum地址来验证注册是否成功。

Step 3: 启动中继器

cd ~/.peggo
peggo orchestrator

这将启动Peggo桥接(中继器 / 协调器)。

Step 4: 创建一个Peggo系统服务(systemd服务)

/etc/systemd/system/peggo.service下添加peggo.service文件,并包含以下内容:

[Unit]
  Description=peggo

[Service]
  WorkingDirectory=/home/ec2-user/.peggo
  ExecStart=/bin/bash -c 'peggo orchestrator '
  Type=simple
  Restart=always
  RestartSec=1
  User=ec2-user

[Install]
  WantedBy=multi-user.target

然后,运行以下命令来配置环境变量,启动和停止peggo中继器

sudo systemctl start peggo
sudo systemctl stop peggo
sudo systemctl restart peggo
sudo systemctl status peggo

# enable start on system boot
sudo systemctl enable peggo

# To check Logs
journalctl -f -u peggo

Step 5:(可选)保护Cosmos密钥环免受未经授权的访问

在此了解有关Cosmos密钥环设置的更多信息。启动节点后,默认的密钥环将以加密形式将验证器操作员密钥存储在磁盘上。通常,密钥环位于节点的主目录中,即~/.injectived/keyring-fileInjective质押文档的某些部分将指导您如何使用此密钥进行治理目的,例如提交交易和设置以太坊桥接。为了保护密钥免受未经授权的访问,即使密钥环密码短语通过配置文件泄露,您也可以设置操作系统权限,仅允许injectived / peggo进程访问磁盘。 在像Debian、Ubuntu和RHEL这样的Linux系统中,可以使用POSIX访问控制列表(ACL)来实现这一点。在开始使用ACL之前,必须确保文件系统已启用ACL。每个发行版都有一些官方指南:

贡献

如果您想查看Peggo协调器的源代码并贡献,可以访问 https://github.com/InjectiveLabs/peggo

Last updated