노드 운영

(1부)극초기 선점가능! Artela 노드 가이드

목짧은기린 2024. 3. 5. 23:50

안녕하세요 모두의 노드 기린입니다.

오늘은 Artela network의 노드 셋업 가이드를 준비해보았습니다.

Artela는 dAPP의 확장성을 높여주기 위한 Layer1프로젝트로, VC로부터 시드라운드에서만 이미 6M의 투자를 받은 프로젝트 입니다.

리드 투자자인 Shima Capital은 Boba, Bera chain, Monad 등 굵직한 프로젝트 투자경험이 있는 VC 입니다.

 

 

 

Artela의 노드 운영 진입을 결정하게 된 이유는 Dev net 이후에 Public Testnet Phase 1 단계로 초기 선점이 가능하기 때문입니다.

현재 Node Runner의 Active 30명 / Inactive 209명 수준으로 극초기이며, 단 1개의 ART를 Staking해 노드를 운영중인 사람이 Inactive 120위에 랭크되어 있을만큼 참여자가 거의 없습니다.

우측 : https://test.explorer.ist/artela/staking 현황

 

인센티브가 보장되어있는 테스트넷은 아니지만 Test net 참가자가 적은만큼 혹시모를 가능성이 있고, 후속 VC들의 투자가 발표되면 순식간에 몰리면 Faucet 받는것 조차 쉽지 않습니다. (이번 Babylon의 Pioneer Pass가 순식간에 10만개가 Claim 되었고, 평소에 받기 쉬웠던 sbtc, bbn 조차 사람이 몰려 0.001개 조차도 구하기 어려웠습니다.) 

비교적 여유가 있을 때 선점해 보시는 것을 추천드립니다.

 

노드셋업시에 Artela 공식 문서를 많이 참조했는데, 필요하시다면 아래 링크에서 확인하시면 됩니다.

https://docs.artela.network/develop/node/run-full-node

 

그럼 시작하겠습니다.

 

0. VPS 준비단계

필요사양

Artela는 위와 같은 Recommend 스펙을 가지고 있습니다. VPS2로도 가능..은 할 것 같지만 저는 우선 VPS3로 진행했습니다. VPS2로 혹시 테스트해서 성공하신 분 있으면 알려주세요!

(처음 시작하시는 분들을 위한 Contabo VPS 가이드도 곧 작성 예정입니다. 조금만 기다려주세요 ㅎㅎ..)

 

Step1. 기본 업데이트 및 go 설치

#한줄씩 입력
sudo apt update && sudo apt upgrade -y
apt install curl iptables build-essential git wget jq make gcc nano tmux htop lz4 nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
#최신버전 확인 후 진행( https://go.dev/dl/ )
#240305 현재 1.22.0 최신
#한줄씩 입력
ver="1.22.0"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
#go 버전확인
go version

 

 

Step2. Profile 설정

본인의 지갑과 모니커의 이름을 설정하시면 됩니다.

※주의※그냥 복붙하지 마시고, 하기 예시 참고하셔서 반드시 본인 이름으로 바꿔서 입력하세요. 

#Profile 설정
echo "export WALLET="@원하는지갑이름@"" >> $HOME/.bash_profile
echo "export MONIKER="@모니커이름@"" >> $HOME/.bash_profile
echo "export ARTELA_CHAIN_ID="artela_11822-1"" >> $HOME/.bash_profile
echo "export ARTELA_PORT="45"" >> $HOME/.bash_profile
source $HOME/.bash_profile

 

(예시)

###위 명령어 예시### Moniker가 겹치면 귀찮아지므로 없을만한 Moniker명으로 설정
echo "export WALLET="HKD123"" >> $HOME/.bash_profile
echo "export MONIKER="HKD123"" >> $HOME/.bash_profile
echo "export ARTELA_CHAIN_ID="artela_11822-1"" >> $HOME/.bash_profile
echo "export ARTELA_PORT="45"" >> $HOME/.bash_profile
source $HOME/.bash_profile

 

Step3. Clone 수행 & Artela 설치

#Clone수행, Artela 설치#마지막 make install 한참걸리니까 당황하지 마세요
cd artela
git checkout main
make install

Step4. 노드 이니셜 및 Config 설정

#노드 이니셜 및 Config설정
####주의#### 하기 예시 참고해서 꼭 본인 Moniker로 바꾸세요!
artelad init "@모니커이름@"
(###예시###)
artelad init "HKD123"

 

Step5. genesis.json & Seed, Peer 설정

#genesis.json 다운로드#한줄씩입력
#경로이동
cd $HOME/.artelad/config
#SEED/PEER 설정#한줄씩 입력!
SEEDS="8d0c626443a970034dc12df960ae1b1012ccd96a@artela-testnet-seed.itrocket.net:30656"
PEERS="5c9b1bc492aad27a0197a6d3ea3ec9296504e6fd@artela-testnet-peer.itrocket.net:30656,e60ccf5954cf2f324bbe0da7eada0a98437eab29@[2a03:4000:4c:e90:781d:c8ff:fe57:726a]:9656,cc926b13a1be8b3c82cbca5bc137c04055c29d66@54.197.218.54:26656,9142bc72d918a36754d64e90f66b382f6d98f67b@161.35.157.41:45656,615a32fbf484e711562fe93b64cc069e1e5f49ab@185.230.138.142:45656,4ff33861644ebda5fb004130de5167a5a39637a9@95.216.192.62:45656,3a280a539aa874a98e4d2cdfa70118e8c14b6745@95.214.55.138:3656,a5dcbab0007379945faf3b32399ef7d7cdaa8b2c@84.247.160.45:45656,2264c863bead1e2822c52d1b553becf9d8089855@[2400:8905::f03c:94ff:fecf:710]:26656,9646a4585197da3edd5b91c73b0ffa6e2b47c36a@45.85.147.242:45656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.artelad/config/config.toml

 

Step6. trust_height 및 trust_block 선정

주의 이부분이 조금 헷갈립니다. 천천히 따라와주세요!

6-1) https://betanet-scan.artela.network/txs 접속 후 가장 최신 Transaction 가져오기.

보라색으로 쓰여진 Transaction Success 밑 Transaction Hash 클릭

(주황색 Coin transfer Tx 아님을 주의)

6-2) 여기서 Transaction hash와 Blcok 을 가져오면 됩니다.

주의※ Transaction hash에서는 앞에 0x 부분을 지워주세요.(예시 참조)

메모장에 복사해서 보관해주세요.

 

예시)

trust_height 3814393
trust_hash
af09c2ea8619c7bf241973f2b889bfa09730867da3121d73162c83103fc47c8f

 

 

이제 다음 명령어를 입력해 줍니다.

#주의# @부분을 본인의 trust_height와 trust_hash로 수정해 주세요. 한줄씩 차근차근 입력!
sed -i 's/enable = false/enable = true/' config.toml
sed -i 's/trust_height = 0/trust_height = @/' config.toml
sed -i 's/trust_hash = ""/trust_hash = "@"/' config.toml

 

(예시) 참고하세요.

sed -i 's/enable = false/enable = true/' config.toml
sed -i 's/trust_height = 0/trust_height = 3814393/' config.toml
sed -i 's/trust_hash = ""/trust_hash = "af09c2ea8619c7bf241973f2b889bfa09730867da3121d73162c83103fc47c8f"/' config.toml

 

 

Step7. Config.toml 수정

#다음 명령어 입력
nano ~/.artelad/config/config.toml

 

그 후에 rpc_servers를 찾아 다음을 입력

#rpc_servers에 다음을 입력(하기 사진 참조)
http://47.254.66.177:26657,http://47.254.93.86:26657

 

Ctrl + X → Y →엔터 눌러서 빠져나오기.

 

Step7. app.toml 수정 : 많아보이는데 금방합니다!

#다음 명령어 입력#한줄씩!
sed -i 's|^pruning *=.*|pruning = "custom"|g' app.toml
sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "362880"|g' app.toml
sed -i 's|^pruning-interval *=.*|pruning-interval = "100"|g' app.toml
sed -i 's|^snapshot-interval *=.*|snapshot-interval = 0|g' app.toml
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.02uart"|g' app.toml
sed -i 's|^prometheus *=.*|prometheus = true|' config.toml
sed -i 's|^indexer *=.*|indexer = "null"|' config.toml
#다음 명령어 입력
nano app.toml
#다음 항목들을 수정#헷갈리시면 아래 사진들 참고하세요.
[api]
enable = true
address = "tcp://0.0.0.0:1317"
 
[grpc]
address = "0.0.0.0:9090"
 
[grpc-web]
address = "0.0.0.0:9091"
 
[state-sync]
snapshot-interval = 1000
snapshot-keep-recent = 10
 
[json-rpc]
address = "0.0.0.0:8545"

 

Ctrl + X → Y →엔터 눌러서 빠져나오기.

 

Step8. config.toml 수정

#다음 명령어 입력
nano config.toml
#다음 항목들을 수정#헷갈리시면 아래 사진들 참고하세요.
# config.toml
proxy_app = "tcp://0.0.0.0:26658"
 
[rpc]
laddr = "tcp://0.0.0.0:26657"
 
[consensus] : 거의 제일밑에 있어요! ※주의 단위가 s 가 아니라 ms 임을 주의하세요!
timeout_commit = "500ms"

 

Step9. npm / pm2 설치

#pm2 설치#한줄씩 입력
sudo apt update && sudo apt install npm -y && sudo npm install -g n
n latest
hash -r
npm install pm2@latest -g
npm install -g npm@10.5.0

※주의 ※ 공식문서대로만 설치하면 npm을 7.0 이상으로 설치하라는 에러가 나옵니다.

마지막 명령어인 npm install -g npm@10.5.0 를 통해 최신버전을 설치해주세요.

#npm 버전 확인
npm -v
#node 버전 확인
node -v

 

 

Step10. 디렉토리 리셋(Block Sync 가속화를 위함)

#디렉토리 리셋(Sync를 빠르게 해주기 위함)
artelad tendermint unsafe-reset-all --home $HOME/.artelad --keep-addr-book
curl -L http://37.120.189.81/artela_testnet/artela_snap.tar.lz4 | tar -I lz4 -xf - -C $HOME/.artelad
pm2 start artelad -- start && pm2 save && pm2 startup
#pm2 (Ctrl+C 눌러서 빠져나오기)
pm2 status
#pm2 로그확인 (Ctrl+C 눌러서 빠져나오기)
pm2 logs

 

pm2 status

 

 

Step11. Artela 지갑 생성

#Artela 지갑 생성
artelad keys add 지갑이름

예시) artelad keys add HKD123

※주의※ 하단에 니모닉 단어가 나옵니다. 반드시 기록해두세요!

여기서 address에 art로 시작하는 주소를 아래 명령어에 입력해줍니다.

#EVM호환주소 생성#본인의 Artela 주소를 입력하세요!
artelad debug addr ART주소
(예시)
artelad debug addr art1pqyfvgklxxxxxxxxxxxxxxxxxxxxxxxxxxx

 

그러면 다음과 같이 Address (EIP-55)라는 EVM 주소를 반환해줍니다.

이 주소를 Step12에서 사용하기 때문에 기록해두세요!

 

 

Step12. Discord에서 ART Faucet 받기

12-1)디스코드로 가서 입장 후에 Verify를 진행합니다.

https://discord.com/invite/artela

12-2)좌측 메뉴 중 testnet-faucet을 클릭

12-3) $request EVM호환주소 입력하여 Faucet 받기

예시) $request 0x080890xxxxxxxxxxxxxxxxx

Step13. Sync 상태 확인하기

catching up이 false 로 바뀔 때 까지 기다려줍니다. 24시간 이상 걸릴 수 있습니다.

#현재 싱크상태 확인하기
artelad status 2>&1 | jq .SyncInfo

 

 

 

생각보다 내용이 너무 길어졌네요.

2부로 나누어서 다음편에서 이어서 포스팅 하도록 하겠습니다.

 

제 글은 Medium의 ilaNihas 님의 글을 바탕으로 테스트 진행하며 작성되었습니다.

https://medium.com/@ilaNihas/artela-network-a-step-by-step-guide-to-node-setup-c25e76bd1b3e

(명령어 축약이나 npm 최신화 등 코드에서 수정이 필요했던 부분들은 차이가 있습니다.)
 
혹시 중간에 막히거나 어려운 점 있으시다면 아래 텔레그램방으로 공유 주세요.
 
긴 글 읽어주셔서 감사합니다!

 

 

240307 업데이트 : 노드설정중에 조금 문제가 생겨서 Reinstall 후에 다시 설치중입니다 ㅠㅠ

최대한 복구 빨리 진행하고 2부 이어서 작성하겠습니다! 뒷 내용이 궁금하신 분들은 우선 공식 Docs 참고 부탁드립니다!

https://docs.artela.network/develop/node/run-full-node

 

240317 업데이트 : 2부 이어서 작성완료했습니다!

https://modu-node.tistory.com/8

 

극초기 선점가능! Artela 노드 가이드(2부)

안녕하세요 모두의 노드 기린입니다. 지난번 글에 이어서 Artela 노드 셋업 2부입니다. 몇가지 문제가 좀 있어서 해결하고 정리해서 2부를 작성하려 했으나 시간이 너무 길어지고 있네요. 아직 Vali

modu-node.tistory.com

 

 

PS. 최근 핫한 AI 컴퓨팅 관련 프로젝트인 Ritual 노드 가이드도 작성해두었습니다. 관심있는 분들은 참고부탁드려요! 
https://modu-node.tistory.com/3

 

Ritual 노드 가이드

안녕하세요 모두의 노드 기린입니다. 오늘은 Ritual 노드 구동 매뉴얼 입니다. 바로 시작해 보겠습니다. 우선 Contabo 에서 Ubuntu 22.0.4 설치가 되어 있다는 가정 하에 진행하겠습니다. (Contabo 설치 메

modu-node.tistory.com

 

 

 

블로그 주소 : https://modu-node.tistory.com/
인스타그램 : https://www.instagram.com/trader_sng/
텔레그램(모두의 노드) : https://t.me/modu_node/