测试网 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
密钥环免受未经授权的访问这是一个高级DevOps主题,请咨询您的系统管理员。
在此了解有关Cosmos
密钥环设置的更多信息。一旦您启动了节点,默认的密钥环将以加密形式将验证器操作员密钥存储在磁盘上。通常,密钥环位于节点的主目录中,即~/.injectived/keyring-file
。
Injective
质押文档的某些部分将指导您如何使用此密钥进行治理目的,例如提交交易和设置以太坊桥接。为了保护密钥免受未经授权的访问,即使密钥环密码短语通过配置文件泄露,您也可以设置操作系统权限,仅允许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
交易
Cosmos
密钥以发送Injective
交易您的peggo
中继器可以选择以下两种方式之一:
使用专门委托的账户密钥来发送特定于验证器的Peggy交易(即
ValsetConfirm
、BatchConfirm
和SendToCosmos
交易),或者直接使用您的验证器账户密钥。
为了隔离目的,我们建议创建一个委托的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
Cosmos
账户密钥以用于peggo
Peggo
支持两种提供Cosmos
签名密钥凭证的选项 - 使用Cosmos
密钥环(推荐)或提供明文私钥。
选项 1. Cosmos 密钥环
在.env
文件中,首先指定PEGGO_COSMOS_FROM
和PEGGO_COSMOS_FROM_PASSPHRASE
,对应您的peggo
账户签名密钥。
如果您使用如上所推荐的委托账户密钥配置,则这将分别是您的$ORCHESTRATOR_KEY_NAME
和密码。否则,这应该是您的$VALIDATOR_KEY_NAME
和关联的验证器密码。
请注意,默认的密钥环后端是文件,因此peggo
默认会尝试在磁盘上查找密钥。
要使用默认的injectived
密钥配置,您应该将密钥环路径设置为injectived
节点的主目录,例如~/.injectived
。
您还可以在此了解有关Cosmos
密钥环设置的更多信息。
选项 2. Cosmos
私钥(不安全)
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
Ethereum
密钥以用于peggo
Peggo
支持两种提供签名密钥凭证的选项 - 使用Geth
密钥库(推荐)或提供明文Ethereum
私钥。
选项 1. Geth
密钥库
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
私钥(不安全)只需使用新账户的Ethereum
私钥更新PEGGO_ETH_PK
。
然后,确保您的Ethereum
地址具有足够的ETH
余额。
Step 2: 注册您的协调器和Ethereum
地址
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服务)
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
密钥环免受未经授权的访问这是一个高级DevOps主题,请咨询您的系统管理员。
在此了解有关Cosmos
密钥环设置的更多信息。启动节点后,默认的密钥环将以加密形式将验证器操作员密钥存储在磁盘上。通常,密钥环位于节点的主目录中,即~/.injectived/keyring-file
。
Injective
质押文档的某些部分将指导您如何使用此密钥进行治理目的,例如提交交易和设置以太坊桥接。为了保护密钥免受未经授权的访问,即使密钥环密码短语通过配置文件泄露,您也可以设置操作系统权限,仅允许injectived
/ peggo
进程访问磁盘。
在像Debian、Ubuntu和RHEL这样的Linux系统中,可以使用POSIX访问控制列表(ACL)来实现这一点。在开始使用ACL之前,必须确保文件系统已启用ACL。每个发行版都有一些官方指南:
贡献
如果您想查看Peggo
协调器的源代码并贡献,可以访问 https://github.com/InjectiveLabs/peggo。
Last updated