OG가 아닌 0G Labs 프로젝트이며
'The First Modular AI Chain'을 표방한다.
Pre-seed round에서 $35M을 펀딩받은 0G Labs
애니모카, OKX 등 굵직한 투자사들이 참여했다.
한국시간 기준 4월 7일 오후2시경 테스트넷을 출시했으며
벨리데이터 노드와 스토리지 노드를 구동할 수 있다.
이번편에서는 벨리데이터 노드를 구동해보자
System Requirements
CPU: 4 cores
Memory: 8GB RAM
Disk: 500GB NVMe SSD
Bandwidth: 100mbps
1. VPS 준비
위 이미지를 클릭하면 Contabo 사이트로 접속되며
VPS 구매시 그레이에게 많은 도움이 됩니다.
감사합니다.
콘타보의 VPS 1 로도 가능할 것 같긴한데 넉넉히 다른거도 같이 돌릴겸
VPS 2 로 선택하자.(본인은 VPS 3으로 돌리는중이다.)
0G storage Node와 같이 구동하려면 VPS3을 구매해야한다.
VPS2로 돌리는 분들은 오류가 난다고 보고받았다.
VPS 초기 세팅방법과 접속이 궁금하다면?
[기초] VPS ssh 접속하기 with Termius
2. Install required packages
sudo apt update
sudo apt install curl git jq build-essential gcc unzip wget lz4 -y
설치가 완료되기까지 약간의 시간이 걸린다.
3. Install Go
wget https://go.dev/dl/go1.22.2.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
rm -rf go1.22.2.linux-amd64.tar.gz
4. Install evmosd via CLI
git clone -b testnet https://github.com/0glabs/0g-evmos.git
./0g-evmos/networks/testnet/install.sh
source .profile
5. Set Chain ID
evmosd config chain-id zgtendermint_9000-1
6. Initialize Node
// <your_validator_name>은 본인이 원하는 이름으로 대체
evmosd init <your_validator_name> --chain-id zgtendermint_9000-1
<your_validator_name> 부분을 지우고 위 사진의 맨 첫번째 줄을 참고하여
본인이 쓰고싶은 이름으로 대체한다.
위 단계부터 시간이 좀 걸릴 수 있는데 광고한번만 눌러주시면... 압도적감사...
7. Copy the Genesis File
rm .evmosd/config/genesis.json
wget -P ~/.evmosd/config https://github.com/0glabs/0g-evmos/releases/download/v1.0.0-testnet/genesis.json
evmosd validate-genesis
8. Seeds 추가
nano .evmosd/config/config.toml
// 오픈 된 창에서 seeds를 찾은 후 아래 seeds로 대체
seeds = "8c01665f88896bca44e8902a30e4278bed08033f@54.241.167.190:26656,b288e8b37f4b0dbd9a03e8ce926cd9c801aacf27@54.176.175.48:26656,8e20e8e88d504e67c7a3a58c2ea31d965aa2a890@54.193.250.204:26656,e50ac888b35175bfd4f999697bdeb5b7b52bfc06@54.215.187.94:26656"
아래로 쭉 내리다 보면 P2P가 보이는데 여기에 seeds가 있다.
기존의 시드를 위 시드로 사진처럼 변경해준다.
수정이 완료되면
Ctrl + x, Y, 엔터를 순서대로 입력하여 저장한다.
9. Snapshot Download
wget https://rpc-zero-gravity-testnet.trusted-point.com/latest_snapshot.tar.lz4
처음부터 시작해서 최신블록까지 동기화 하려면 꽤 오랜 시간이 걸려서 스냅샷을 다운받는 방식으로 글을 수정하였다.
cp $HOME/.evmosd/data/priv_validator_state.json $HOME/.evmosd/priv_validator_state.json.backup
evmosd tendermint unsafe-reset-all --home $HOME/.evmosd --keep-addr-book
lz4 -d -c ./latest_snapshot.tar.lz4 | tar -xf - -C $HOME/.evmosd
mv $HOME/.evmosd/priv_validator_state.json.backup $HOME/.evmosd/data/priv_validator_state.json
10. Start Testnet
apt install screen
screen -S 0g
노드를 시작하면 다른 창을 킬 수 없기 때문에 스크린을 이용하여 따로 관리해준다.
evmosd start
위와 같은 화면이 나오고 블록이 잘 올라가는 모습을 보이면 성공이다.
성공 후 Ctrl + a + d 를 입력하여 screen을 빠져나오면 된다.
*오류가 발생하는 경우
위와 같은 오류가 발생한다면
rm -rf .evmosd 0g-evmos
위 명령어를 입력 후
본 게시글의 4번으로 돌아가서 다시 처음부터 시작한다.
11. 지갑 생성
// <key_name>은 위에서 만든 이름으로 대체하면된다.
evmosd keys add <key_name>
입력 후 'Enter keyring passphrase (attempt 1/3):' 에서는
사용할 비밀번호를 입력하면 된다.
입력후 다음 'Re-enter keyring passphrase'에서도 같은 비밀번호를 입력해주면된다.
비밀번호 설정이 완료되면 지갑주소와 퍼블릭키, 시드문구가 나오게 되는데
꼭 따로 저장해두어야한다.
12. 메타마스크에 추가
// <key_name>에는 위에서 만든 이름으로 대체한다.
evmosd keys unsafe-export-eth-key <key_name>
위 명령어를 입력한 다음에
나오는 프라이빗키를 이용하여 메타마스크에 추가를 해주어야한다.
계정 가져오기에서 프라이빗키를 붙여넣고 가져오기를 클릭한다.
가져온 후 0G 테스트넷 네트워크를 추가해줘야한다.
메타마스크 오픈 후 - 우측 상단 점 세개 - 설정 - 네트워크 - 네트워크 추가 순으로 진입한다.
네트워크 직접 추가를 누른다.
0G Testnet 정보
네트워크 이름: 0g Newton Testnet
새 RPC URL: https://rpc-testnet.0g.ai
체인 ID: 9000
통화 기호: A0GI
블록 탐색기 URL: https://scan-testnet.0g.ai/
위와같이 설정해주면된다.
13. Faucet에서 토큰 받기
위 주소로 이동하여 방금 프라이빗키를 이용해서 추가한 메타마스크 주소로 테스트넷 토큰을 수령하면 된다.
0.1개가 들어온다.
14. Create Validator
위 단계부터는 블록 동기화가 완료된후에 진행할 수 있다.
evmosd status | jq .SyncInfo
위 명령어를 통해 블록 동기화를 확인할 수 있으며
우측 사진처럼 catching_up이 false가 되어야한다.
현재 VPS에서의 블록높이는 "latest_block_height"로 확인할 수 있다.
동기화가 되었다면 다음으로 진행한다.
또는
screen -r 0g
위 명령어를 이용하여 스크린에 다시 접속 후 블록 높이와
0G 테스트넷의 최신 블록높이가 같은지 확인한 후 진행한다.
http://dashboard-0g.trusted-point.com/
위 사이트에서 최신 블록 높이를 확인할 수 있으며
위 사진에서는 679,523인 것을 확인할 수 있다.
최신블록 동기화까지 꽤 오랜시간이 걸리니 천천히 진행하면된다.
스냅샷을 받았다면 동기화가 금방 완료될 것이다.
// <your_validator_name>과 <key_name> 부분은 위에서 사용한 이름으로 대체해준다.
evmosd tx staking create-validator \
--amount=80000000000000000aevmos \
--pubkey=$(evmosd tendermint show-validator) \
--moniker="<your_validator_name>" \
--chain-id=zgtendermint_9000-1 \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1000000" \
--gas="5000000" \
--gas-prices="30aevmos" \
--from=<key_name>
4번째줄의 <your_validator_name> 부분과
마지막줄의 <key_name> 부분은 위에서 사용한 이름으로
대체해 준 후 엔터를 친 다음 비밀번호를 입력해준다.
y 입력
위에 나오는 내용중 pubkey 아래 validator address를 따로 정리해두자
추후 디스코드에서 벨리데이터 등록 확인에 필요하다.
별다른 오류 없이 txhash가 잘 뜬다면 완료
15. Check Validator
https://explorer.validatorvn.com/OG-Testnet/staking
위 사이트로 접속해서 Inactive로 들어간다음
등록했던 이름으로 검색하면 위와같이 확인할 수 있다.
또는 0G 디스코드 접속 - Testnet Validator 롤을 얻은 후
node-status 채널에서 "!val 밸리데이터 주소"를 입력하면 상태를 확인할 수 있다.
여기까지 Validator Node를 구동하는 방법이다.
Storage 노드를 같이 돌리려면 위 글로 넘어가길 바란다.
스팸 댓글이 많아서 본 게시글의 댓글 확인을 안합니다.
궁금하신 점이 있다면 아래 채팅방으로 문의 부탁드립니다.
퍼가실 땐 출처 명시 부탁드립니다.
노드 대행 및 기타 문의
graychoi0920@gmail.com
노드그레이 텔레그램 공지방
노드그레이 텔레그램 채팅방
'Blockchain > Node' 카테고리의 다른 글
Aethir Checker Node 구동하기 for Windows (1) | 2024.04.21 |
---|---|
0G Labs Storage 노드 구동하기 (3) | 2024.04.11 |
Avail Light Client Node 구동하기 (1) | 2024.04.05 |
CESS Consensus 노드 구동하기 (49) | 2024.04.03 |
DATS Project 구동하기 (1) | 2024.03.28 |
댓글