메인 콘텐츠로 건너뛰기

Equinox 테스트넷

Step 1: Peggo relayer 구성

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 및 Ethereum 자격 증명에 대한 액세스가 필요합니다.

Cosmos 키

자격 증명 액세스를 제공하는 두 가지 방법이 있습니다 - 암호화된 키가 있는 keyring 또는 평문 private key.

1. Cosmos Keyring

PEGGO_COSMOS_FROM을 검증자 키 이름(또는 계정 주소)으로, PEGGO_COSMOS_FROM_PASSPHRASE를 Cosmos Keyring 비밀번호로 업데이트합니다. 기본 keyring 백엔드는 file이며 디스크에서 키를 찾으려고 합니다. keyring 경로는 키를 재사용하려면 injectived 노드의 홈 디렉토리를 가리켜야 합니다. Keyring 설정에 대해 여기에서 자세히 알아보세요.

2. Cosmos Private Key (안전하지 않음)

검증자의 계정 private key로 PEGGO_COSMOS_PK를 업데이트하기만 하면 됩니다. 검증자의 Cosmos private key를 얻으려면 injectived keys unsafe-export-eth-key $VALIDATOR_KEY_NAME을 실행하세요. 이 방법은 안전하지 않으며 권장되지 않습니다.

Ethereum 키

자격 증명 액세스를 제공하는 두 가지 방법이 있습니다 - 암호화된 키가 있는 Geth keystore 또는 평문 private key.

1. Geth Keystore

새 private key store를 생성하고 다음 환경 변수를 업데이트하기만 하면 됩니다:
  • PEGGO_ETH_KEYSTORE_DIR
  • PEGGO_ETH_FROM
  • PEGGO_ETH_PASSPHRASE
Geth 문서 여기에서 keystore를 사용하여 새 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!
이제 다음과 같이 환경 변수를 설정할 수 있습니다:
PEGGO_ETH_KEYSTORE_DIR=/home/ec2-user/.peggo/data/keystore
PEGGO_ETH_FROM=0x9782dc957DaE6aDc394294954B27e2118D05176C
PEGGO_ETH_PASSPHRASE=12345678
다음으로, Ethereum 주소에 Sepolia ETH가 있는지 확인하세요. 여기의 공개 faucet에서 Sepolia ETH를 요청할 수 있습니다.

2. Ethereum Private Key (안전하지 않음)

새 계정에서 새 Ethereum Private Key로 PEGGO_ETH_PK를 업데이트하기만 하면 됩니다. 다음으로, Ethereum 주소에 Sepolia ETH가 있는지 확인하세요. 여기의 공개 faucet에서 Sepolia ETH를 요청할 수 있습니다.

Step 2: Orchestrator 및 Ethereum 주소 등록

orchestrator와 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=160000000inj

  • 검증자의 inj 주소를 얻으려면 injectived keys list $VALIDATOR_KEY_NAME을 실행하세요.
  • orchestrator의 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=160000000inj
https://testnet.sentry.lcd.injective.network/peggy/v1/valset/current에서 검증자의 매핑된 Ethereum 주소를 확인하여 성공적인 등록을 확인할 수 있습니다.
참고: set-orchestrator-address 메시지로 Orchestrator를 등록한 후에는 다시 등록할 수 없습니다. 이 단계가 완료되면 검증자는 제공된 Ethereum 주소(및 제공했을 수 있는 위임된 주소)에 바인딩됩니다. 즉, peggo는 항상 등록에 제공한 주소로 실행해야 합니다.

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 relayer를 시작 및 중지합니다.
sudo systemctl start peggo
sudo systemctl stop peggo
sudo systemctl restart peggo
sudo systemctl status peggo

# 시스템 부팅 시 시작 활성화
sudo systemctl enable peggo

# 로그 확인
journalctl -f -u peggo

Step 5: (선택사항) 무단 액세스로부터 Cosmos Keyring 보호

이것은 고급 DevOps 주제입니다. 시스템 관리자와 상담하세요.
Cosmos Keyring 설정에 대해 여기에서 자세히 알아보세요. 노드를 시작하면 기본 keyring에 검증자 운영자 키가 암호화된 형태로 디스크에 저장됩니다. 일반적으로 keyring은 노드의 홈 디렉토리 내에 있습니다. 예: ~/.injectived/keyring-file. Injective Staking 문서의 일부 섹션에서는 거버넌스 목적, 즉 트랜잭션 제출 및 Ethereum 브릿지 설정을 위해 이 키를 사용하는 방법을 안내합니다. keyring 비밀번호가 구성을 통해 유출되더라도 무단 액세스로부터 키를 보호하기 위해 injectived/peggo 프로세스에만 디스크 액세스를 허용하는 OS 권한을 설정할 수 있습니다. Debian, Ubuntu, RHEL과 같은 Linux 시스템에서는 POSIX Access Control Lists(ACL)를 사용하여 이를 달성할 수 있습니다. ACL 작업을 시작하기 전에 파일 시스템이 ACL이 켜진 상태로 마운트되어야 합니다. 각 배포판에 대한 공식 가이드가 있습니다:

기여

Peggo orchestrator 소스 코드를 검토하고 기여하고 싶다면 https://github.com/InjectiveLabs/peggo에서 할 수 있습니다.