본문 바로가기
노드 운영

에어드랍 가능! Nulink 노드 가이드(인센티브 Testnet)

by 목짧은기린 2024. 3. 3.

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

 
일전에 Nulink Node를 시범적으로 2/11부터 구동했고, 3주 구동 후 3/2 오늘 Nulink 13.1개 획득 / 1944위 랭크되었습니다.
Time line 상 Phase2와 Phase3는 각각 2달동안 운영되고, 2와 3 사이에 1주일의 텀이 있습니다.
보상 획득을 위해선 1000등 안쪽으로 들어와야하는데, 3주를 돌려서 2000등 안쪽으로 들어왔기에 어느정도 가능성은 있다고 판단해서 추가적으로 VPS 2개정도 추가로 세팅해두려고합니다.(이웃님들도 고민해 보시고 운영여부 결정하세요!)

 
Nulink 관련 coinlist 공지사항 입니다.
https://coinlist.co/help/nulink-testnet
중요사항은 아래에 정리해 두었습니다.

NuLink 테스트넷/FAQ

 
필수 활동은 무엇입니까?

NuLink 스테이킹 노드 대회 

지원자는 등록 신청서를 작성해야 합니다. 각 참가자가 획득한 누적 보상을 기준으로 총 1,000개의 스테이킹 노드가 선택됩니다. 총 10가지 보상 레벨이 있으며, 누적 보상에 따라 결정되는 순위에 따라 보상 레벨이 결정됩니다. 본질적으로, 누적 보상이 높을수록 순위가 높아지며 보상 수준도 높아지고 보상도 더 커집니다.

 

보상은 무엇입니까?

NuLink 네트워크는 Horus 2.0 테스트넷 프로그램을 위해 총 토큰 공급량의 0.5%(5,000,000 NLK)를 전용으로 사용했습니다. 약 0.1%(1,000,000 NLK)는 숙련된 노드 러너를 보상하는 데 활용되고, 나머지 0.4%(4,000,000 NLK)는 비기술 참가자를 보상하는 데 할당됩니다. 자세한 규칙은 여기에 설명되어 있습니다 . 모든 보상은 TGE(토큰 생성 이벤트) 후 12개월 동안 부여됩니다.

 
타임라인은 무엇입니까?

2단계와 3단계는 모두 약 2개월 동안 진행되며 각 단계 사이에 1주일의 휴식 시간이 있습니다. 2단계는 2024년 2월 8일에 시작될 예정입니다. 각 단계의 정확한 기간은 NuLink의 단독 재량에 따라 변경될 수 있습니다. 최신 업데이트를 보려면 NuLink 소셜 미디어를 팔로우하세요.

 
 
그럼 본격적으로 시작해보겠습니다!
 
이번에도 마찬가지로 저는 최저사양만 맞추어 진행해보고자 합니다.
Contabo VPS1 / Ubuntu 20.04(64bit) 기준으로 작성되었습니다.
 

Step1. 기본 업데이트

sudo apt update && sudo apt upgrade -y
sudo apt install pkg-config curl git-all build-essential libssl-dev libclang-dev ufw

 

Step2. Docker 설치 ( https://docs.docker.com/engine/install/ubuntu/ 공식문서 참조)

: 경험상 Docker의 경우 가장 설치시에 에러가 많이나고 이는 노드 설치 실패로 이어지는 주요한 원인이었습니다.
Docker 비공식 버전을 삭제하고 공식버전을 설치하는 명령어입니다.

# 기존에 존재하는 비공식 버전 삭제
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# 한줄씩 붙여넣기
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

 
#이 밑에 6줄은 한번에 붙여넣기
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
 

#아래 한줄 입력 후 설치까지 시간 생각보다 오래 소요, 당황하지 않으셔도 됩니다.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
#hello-world 출력해보기
sudo docker run hello-world

 

#docker compose 설치(한줄씩 입력)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
#version 확인
docker --version
docker-compose --version

 

 

Step3. Port 허용

#Port허용 한줄씩입력
sudo apt install ufw
sudo ufw allow 9151
sudo ufw allow ssh
sudo ufw enable

 

Step4. Geth 다운로드 및 설치

TIP : 추후에 글을 보시는 분들중에 버전 관련해서 헷갈리시면, 하나하나 바꾸시지 말고 모든 명령어를 우선 엑셀에 복사해두고 모두찾기 → 바꾸기를 활용하시면 휴먼에러를 줄일 수 있습니다.

#Download Geth : https://geth.ethereum.org/downloads에서 현재 최신버전 확인
#24년03월02일 현재 최신버전은 v1.13.14 입니다.(아래 명령어에 업데이트 되어있음)

 

#압축해제 및 설치 : 마찬가지로 다운로드 한 최신버전으로 파일명 바꿔주셔야 됩니다! 한줄씩입력.
tar -xvzf geth-linux-amd64-1.13.14-2bd6bd01.tar.gz
cd geth-linux-amd64-1.13.14-2bd6bd01
./geth account new --keystore ./keystore

 
이후 비밀번호 입력 / 비밀번호 컨펌 후에 나오는 Public address와 파일경로 모두 복사해서 간직해 두세요!
(그냥 명령어에 대한 응답 모두를 복사해서 보관)
아래와 같이 나와야합니다! 여기서 나온 Public address가 Worker Address가 됩니다.
@@@@@@@@@@@이 Public address 아래에서 사용하니 기억해주세요@@@@@@@@@@@

 

Step5. Nulink 다운로드 및 설치

#Nulink 설치
cd
docker pull nulink/nulink:latest

 

#경로생성
cd /root
mkdir nulink

 
※여기서부터 좀 헷갈립니다. 급하게 하지말고 천천히 입력해주세요!

#아래 입력하고 바로 엔터누르지말것! 설명 읽어주세요.
cd /root/geth-linux-amd64 까지 입력하고 엔터누르지말고 Tab을누르고 자동완성되면 엔터! 사용자 폴더명에 맞춰서 자동완성됨

 

#UTC 관련 구문 메모필요
cd keystore
ls

 
UTC로 시작하는 한줄을 통째로 메모장에 복사(아래 사진 참고)

#아래 명령어 Putty 입력하지말고!!!!! 메모장으로 복사해서, @ 자리에 위에서 복사한 UTC~ 구문을 붙여넣으세요.
cp /root/geth-linux-amd64-1.13.14-2bd6bd01/keystore/@ /root/nulink

예시) cp /root/geth-linux-amd64-1.13.14-2bd6bd01/keystore/UTC--2024-03-02T14-14-23.730334795Z--9a7a0920d95a63f7a17a1e011xxxxxxxxxxx149 /root/nulink
 
위 처럼 완성되었으면 Putty에 복사 후 엔터! 엔터 이후에 아래와 같이 아무것도 안나와야 정상입니다.

#폴더에 권한부여
chmod -R 777 /root/nulink

 

#헷갈리니까 두가지 비밀번호 되도록 통일하세요. 한줄씩 입력
#<YOUR NULINK STORAGE PASSWORD> 전부 지우고(꺾쇠 포함) 원하는 비밀번호 입력(잊어버리시면 안돼요!)
export NULINK_KEYSTORE_PASSWORD=<YOUR NULINK STORAGE PASSWORD>
#<YOUR WORKER ACCOUNT PASSWORD> 전부 지우고(꺾쇠 포함) 원하는 비밀번호 입력(잊어버리시면 안돼요!)
export NULINK_OPERATOR_ETH_PASSWORD=<YOUR WORKER ACCOUNT PASSWORD>

 
 

Step7. 노드 이니셜

붉은색으로 표시된 signer keystore / operator address 만 수정
signer keystore : 빨간색 예시UTC 부분 지우고 위에서 통째로 한줄 복사했던 본인의 UTC 구문으로 붙여넣기(마지막 역슬래시 지우지마세요)
operator address : 빨간색 예시주소 지우고 위에서 사용예정이라고 했던 Worker address를 입력하시면 됩니다

#아래를 그대로 메모장에 복사 후 signer keystore / operator address만 수정하면 됩니다. 수정 후 전체 한번에 붙여넣기
docker run -it --rm \
-p 9151:9151 \
-v /root/nulink:/code \
-v /root/nulink:/home/circleci/.local/share/nulink \
-e NULINK_KEYSTORE_PASSWORD \
nulink/nulink nulink ursula init \
--signer keystore:///code/UTC--2024-03-02T14-14-23.730334795Z--9a7a0920xxxxx6xxx1xxx0118xxxx7f27149 \
--eth-provider https://data-seed-prebsc-2-s2.binance.org:8545 \
--network horus \
--payment-provider https://data-seed-prebsc-2-s2.binance.org:8545 \
--payment-network bsc_testnet \
--operator-address 0x9A7A0920d95A63F7a17a1xxxxxxxxxxxxxxxx7149 \
--max-gas-price 10000000000

 
수정 다했으면 한번에 붙여넣고 엔터
Detected IPv4 address ~~?? 나오면 y 입력
@@@@그 후 니모닉 코드가 나옵니다. 반드시 저장해두세요.(아래 사진 제일 하단)@@@@

 
저장 후에 "Have you backed up your seed phrase?" → y 입력

다음과 같이 나오면 성공입니다! 혹시 모르니 Public키 비롯한 해당 파일 경로들도 복사해서 보관해 두세요!
 
 

Step7. 노드 실행

#그대로 전체 한번에 입력
docker run --restart on-failure -d \
--name ursula \
-p 9151:9151 \
-v /root/nulink:/code \
-v /root/nulink:/home/circleci/.local/share/nulink \
-e NULINK_KEYSTORE_PASSWORD \
-e NULINK_OPERATOR_ETH_PASSWORD \
nulink/nulink nulink ursula run --no-block-until-ready

 

#노드 실행여부 확인
docker logs -f ursula

 
아래와 같이 Working~ Keep Ursula Online! 이 나오면 성공입니다!!
 

 
 

Step8. 스테이킹 진행

노드는 이제 정상 구동중이고, Nulink faucet을 받아 staking을 진행하고, 메타마스크 EVM주소와 Worker Address 를 Bonding 해보겠습니다.
 
https://dashboard.testnet.nulink.org/staking
위 사이트로 이동 및 지갑 연결 및 BNB Smart Chain testnet 네트워크 추가 및 전환

 
 
 
메타마스크 여우 옆에 지갑+ 아이콘 클릭 

 
tBNB 먼저 수령 후에 Test NLK도 수령 (연결한 메타마스크 주소 입력하세요! Worker Address 아님)

 
 
My balance에서 수령한 10개의 NLK Staking → 스테이킹 진행 시 아래 그림과 같이 Pending 상태로 넘어가고, 시간이 지나면 제일 우측 사진처럼 정상적으로 Staking 완료됩니다.

 
마지막으로 제가 좀 헤맸던 부분인데, EVM → Worker Address에도 tBNB를 송금해주셔야 합니다.
(이것 때문에 한참 헤맸네요 아효) 받은 tBNB Faucet 중에 0.1tBNB정도를 Worker address로 보내줍니다.

 

Step9. Worker address Boding

Dash board 중간의 Node Information으로 이동 → Bond Worker 클릭 → 본인의 Worker Address 입력 후 Bond 진행

 

Step10. Node Information에서 Node online 확인

아래와 같이 나왔다면 축하합니다 성공하셨습니다!!!

 

Step11. Phase2 참가신청서 작성 및 제출

인센티브 얻으시려면 반드시 작성하셔야됩니다! 메일주소와 EVM 주소만 넣으시면 1분이면 작성가능합니다.
반드시 작성하세요!
https://cform.coinlist.co/forms/e24241d2-e123-4ab9-85a2-cbe6afe66cb9
 
 
 

제 글은 Medium의 Ekko Nodes 님의 글을 바탕으로 수행해보며 작성되었습니다.
Geth 관련 부분이나 Docker 설치관련 수정이 필요한 부분은 수정 및 검증 후에 포스팅 했습니다.
https://medium.com/@ekko.nodes/run-a-nulink-node-reward-confirmed-d3867e33b2cf
 
혹시 중간에 막히거나 어려운 점 있으시다면 아래 텔레그램방으로 공유 주세요.
 
긴 글 읽어주셔서 감사합니다!
 
 
 
블로그 주소 : https://modu-node.tistory.com/
인스타그램 : https://www.instagram.com/trader_sng/
텔레그램(모두의 노드) : https://t.me/modu_node/