안녕하세요 메타부입니다!
이번 시간엔 MASA라는 AI관련 테스트넷의 노드를 돌려보려고 합니다.
MASA는 공정한 AI를 구동하는 네트워크로, 전문화된 AI 교육데이터와 컴퓨터 리소스를 위해 개방적인 마켓플레이스를 제공해 AI환경을 제공하는 네트워크라고 보시면 되는데요.
이를 통해 대다수의 AI들이 MASA에서 제공하는 도구들을 활용하여 제작할 수 있도록 공개를 한다고 보시면 되겠습니다.
MASA의 주요 특징으로는
- 공정한 AI : 결과를 투명하게 귀속시키고 데이터가 사용될 때마다 보상을 제공
- 전문 데이터 및 오픈 소스 LLM : AI모델 훈련을 위한 전문적인 데이터를 제공해 액세스가 가능하도록 제공
- 오픈 마켓플레이스 : 마켓플레이스를 통해 AI 교육 데이터와 컴퓨팅 리소스에 대한 액세스를 모두가 만들고 판매할 수 있도록 제공
이라고 하네요.
더 자세한 내용이나 공지사항, 그 외 질의응답들은 모두 MASA의 디스코드에서도 확인가능합니다!!
https://discord.gg/masafinance
아무튼 그만큼 공정한 AI(Fair AI)를 위해 나온 Web3 네트워크를 접목한 AI도구라고 보시면 되겠습니다.
그런데, 이 Fair AI가 현재 Coinlist와 함께 인센티브 테넷을 가동중이고, 총 3백만 $MASA가 할당되어있다고 하니까 참여해볼만 하겠죠??
☞참고로, 우수 밸리데이터 256명에게만 300만개가 나눠서 할당된다고 합니다.
해당 내용에 대한 자세한 내용은 아래의 미디엄 링크를 통해 확인하실 수 있습니다.
https://masafinance.medium.com/introducing-the-masa-bittensor-subnet-incentivized-testnet-in-partnership-with-coinlist-e9bf252c9b1c
※간단하게 해당 내용에 대해 정리하자면 이렇습니다.
- 리워드 대상자: 가장 높은 성과를 낸 256명
- 성과측정방식: 노드의 네트워크에 제공하는 데이터 양, 데이터 품질, 컴퓨팅능력 등
- 최종 보상 공개: 2024년 9월 3일에 Dune 대시보드에서
- 테넷 시기: 2024년 7월 9일 ~ 8월 20일까지
- 분배시기: 메인넷 출시(2024년 4분기 예정)시 분배
- 하드웨어 요구사항: 2 vCPU, 8GB RAM, 10GB Storage
그럼 이제 서버 설정부터 시작해보겠습니다!
0. Contabo 셋팅하기
권장사양이 8GB RAM이기 때문에 VPS 2로 가줍시다.
https://contabo.com/en/vps/
일단 위 사이트를 통해 Contabo 접속해주시구요.
가입해주신 뒤에
이 두번째껄 Select해줍니다.
기간은 1개월만 해주시면 되고, 지역은 무료인 독일로 설정하고(어차피 기간지나면 자동 결제됩니다.)
일반 VPS와 다른 점은 저장공간을 선택하는 부분이 없습니다.
이미지는 우분투 22.04를 선택해줍니다.(제일 최신꺼니깐)
Root의 비밀번호 설정한 뒤 우측의 Next를 눌러줍니다. 9.5유로네요.
결제까지 완료되셨다면, 시간이 좀 지나면
이런 메일이 오니까 거기에 있는 IP주소를 이용해서 cmd를 통해 로그인해줍시다.
☞cmd로 접속하는 방법은 아래 명령어대로 입력하신다음 비밀번호 입력하시면 됩니다.
ssh root@서버IP주소
그리고 비밀번호 입력하시면 되는데, 입력해도 아무것도 안나오는건 먹통된게 아니라 비밀번호는 원래 안보입니다.
제대로 입력하시고 엔터누르시면 아래 화면처럼 접속될거에요!
1. MASA를 위한 기본 세팅하기
이제 MASA를 위해 기본 환경설정을 설치해줘야겠죠?
sudo apt-get update
sudo apt update
sudo apt -qy install wget curl git jq lz4 build-essential nano unzip screen clang cmake cargo
☞마지막줄은 sudo apt -qy install wget 부터 cargo까지입니다.
위 명령어 입력해주시고
sudo apt -qy upgrade
설치 완료되면 기본적인 설치는 끝났고, 추후 MASA 테스트넷을 돌릴 때 먼저 필요조건으로
다음과 같이 도커, 도커 컴포즈, Git이 필요하다고 하니까 설치해줍시다.
sudo apt install docker.io
위 명령어 입력해주세요. 이건 복붙말고 직접 타이핑해주세요!!!
그럼 이렇게 뜰건데 Y입력해주시고
sudo apt install docker-compose
그 다음 위 명령어 입력하시고
docker version
그 다음 이거 입력해주셔서
이렇게 뜨면 도커 설치 완료입니다.
sudo apt install git
이번엔 위 명령어를 입력해서 git을 설치해줍니다.
암튼 설치됐으면 됩니다.
git --version
위 명령어 입력해서
이렇게 나오면 설치 완료!
이제 Go언어를 설치해줍시다.
Go 언어 컴파일러 설치
이번엔 Go 언어 컴파일러 설치하기부터 해봅시다.
sudo rm -rf /usr/local/go
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
그 다음
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
export PATH=$PATH:/usr/local/go/bin
위 명령어도 한 줄씩 입력해주세요.
go version
그 다음 go version을 입력하면
이렇게 나옵니다.
혹시
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
위 명령어를 입력해도 아무런 반응이 없다면 새로운 Go lang을 설치해줘야 돼요.
https://go.dev/dl/
위 사이트에 들어오셔서
네모친 부분을 마우스 오른쪽을 눌러 "링크 주소 복사"를 눌러줍시다.
그 다음
wget 복사한 링크 주소
위 내용처럼 입력해주시면 됩니다.
마지막으로
source ~/.profile
위 명령어를 입력해주시면 전부 끝납니다.
파이썬(Conda) 언어 컴파일러 설치
이번엔 파이썬(Conda) 컴파일러 설치하기부터 해봅시다.
사실 파이썬의 라이브러리를 활용한 아나콘다의 Conda를 설치하는건데, 이걸 위해선 파이썬도 필요하기 때문에 파이썬과 콘다 둘 다 설치한다고 보시면 되겠습니다.
https://www.anaconda.com/download/success
위 링크에서 다운받으실 수 있습니다.
일단 위에 go를 설치하셨다면 보셨을 텐데 버전은 우리는 amd64 cpu를 쓰고 있기 때문에 이쪽에 맞는 걸 다운받아주셔야 되는데요.
uname -m
위 명령어를 입력하시면 됩니다.
보이는 아키텍처에 맞는걸로 설치해주시면 되는데 콘타보는 아마 저와 같이 나올거니 저 따라오시면 됩니다.
동그라미 친게 x86_64로 나오는 분들이 사용하시면 되는거고, ARM64라고 뜨시는 분들은 가운데껄 이용해서 다운받아주시면 되는데요.
다운받는 방법은 마우스 오른쪽을 눌러
링크 주소 복사를 눌러주신 뒤
위 보이는 대로
wget을 입력한 뒤 복사한 링크주소를 붙여넣기해주시면 다운받아집니다.
다운이 완료되었다면
ls
를 한 번 입력해 주시면 다운 받은 파일들이 나오게 되는데
여기서
Anaconda3 뭐시기로 되어있는 것 전체를 복사해주시구요.
bash를 입력한 뒤 방금 복사한 파일명.sh를 붙여넣어서 실행해주세요.
그럼 아래와 같이 나올텐데 엔터를 쳐주세요.
그러면 이용약관 동의 내용이 나오니까 쭉 화살표 아래를 눌러서 내려주신 뒤
이렇게 나오면 yes를 입려해서 엔터를 눌러주세요.
그럼 이렇게 설정된 위치[root/anaconda3]에 파일이 설치된다는 거니까 확인하셨으면 엔터를 눌러주시구요.
만약 다른 경로를 원하시면 다른 경로를 입력하신 뒤 엔터를 눌러주시면 됩니다.
저는 바로 엔터누르겠습니다.
이제 설치가 다시 진행됩니다.
위 이미지처럼 설치가 다 되었다고 뜨면
source ~/.bashrc
를 입력해주시구요.
conda --version
을 입력해서 버전을 확인해주시면 됩니다.
만약 conda뒤에 명령어를 입력했는데
위 사진처럼 command not found가 나오면 제대로 설치가 안됐다는 것이기 때문에
vi ~/.bashrc
를 입력해주시구요.
export PATH="/root/anaconda3/bin:$PATH"
위 명령어를 복사해서
이렇게 빈 공간 아무데나 마우스 오른쪽을 눌러 추가해주시면 됩니다.
그 다음
:wq!
를 입력한 뒤 엔터를 눌러주신 뒤
conda --version
을 입력해주시면 됩니다.
그럼 이렇게 버전이 나오면서 conda 명령어가 제대로 먹히는 것을 확인할 수 있습니다.
여기까지 파이썬 설치 완료!
이제 MASA를 셋팅하러 가볼까요?
2. MASA 테스트넷 환경설정
일단
git clone https://github.com/masa-finance/masa-bittensor.git
위 명령어를 입력해주시구요.
설치가 완료되었다면
cd masa-bittensor
위 명령어로 경로를 이동하고
conda create --name bittensor python
위 명령어로 bittensor를 이제부터 파이썬으로 돌릴 명령어를 입력해주십시다.
☞이걸 위해 conda를 설치했다고 보면 됩니다.
이렇게 뜨면 당연히 y를 눌러주시고
이렇게 설치가 완료되었다면 이제
conda init
source ~/.bashrc
위 명령어를 순차적으로 입력해서 conda를 활성화해줍시다.
그럼 이렇게 앞에 (base)라고 나오게 될거구요.
이제 마지막으로
conda activate bittensor
를 입력해주시면
이렇게 나옵니다!
이제 그럼 python을 이용해 설치를 시작합니다.
pip install -r requirements.txt
위 명령어를 입력해서 필수프로그램들을 설치하구요.
export PYTHONPATH=$PYTHONPATH:$(pwd)
마찬가지로 다 되었다면 위 명령어를 입력해주면 됩니다.
이제 앞으로 파이썬의 환경변수는 저 PYTHONPATH라는 곳에서 설정됩니다.
☞무슨 뜻인지 모르면 그렇구나 하고 넘어가셔도 됩니다.
2. MASA 테스트넷 지갑 생성
이제 MASA 테스트넷을 위한 콜드지갑을 생성합니다.
btcli wallet new_coldkey --wallet.name miner
위 명령어를 입력해주시면 됩니다.
참고로 --wallet.name 뒤의 miner는 지갑의 이름이 됩니다.(변경은 하지 마세요)
그럼
이렇게 니모닉구문이 나오며 지갑의 비밀번호를 입력하라고 합니다.
두 번 입력해서 비밀번호를 설정해줍니다.
마찬가지로 핫지갑을 생성해줍니다.
btcli wallet new_hotkey --wallet.name miner --wallet.hotkey default
콜드월렛과 마찬가지로 --wallet.name 뒤의 miner는 지갑의 이름이 됩니다
이제
make list-wallets
를 입력하시면 지갑목록이 출력됩니다.
이제 지갑에 테스트넷 토큰을 받아야겠죠.
https://docs.google.com/forms/d/e/1FAIpQLScBXwJcx-Ke_AHuWr95JVvsF2JD0ryJYLXfKhOi3nC8sVHHtw/viewform
위 구글 폼 링크로 들어가셔서 이메일과 콜드지갑주소를 입력해줍니다.
콜드지갑주소는
밑줄 친 부분이라고 보시면 됩니다.
입력하시면 하루 이내에 tTAO가 들어온다고 보시면 됩니다.
☞저는 주말껴서 그런가.... 36시간 걸렸어요..ㅠㅠ
Faucet이 들어올 동안 지갑설정이 제대로 되어있는지 확인해줍시다.
ls
위 명령어를 입력하면
보이는 대로 Makefile이라는 파일이 있을겁니다.
nano Makefile
위 명령어를 입력해주시면
이렇게 나오는데요.
NETUID = 1
INCENTIVIZED_TESTNET_ENDPOINT = ws://100.28.51.29:9945
밑줄처럼 위 내용으로 되어있는지 확인해주세요. 틀리다면 변경해주시면 됩니다.
나머지는 건드리지 않으셔도 됩니다.
되셨다면 Ctrl+X, Y, 엔터를 순서대로 입력해 빠져나와주시고
make register-miner
위 명령어를 입력해주세요.
만약
이런 에러가 뜬다면
이렇다고 하니 한 시간 정도 기다렸다가 계속 다시 시도해주시면 되겠습니다.
이제 위와같이 제대로 뜨면 1을 입력하고 엔터를 눌러주시면 되구요.
y를 입력하고 비밀번호를 입력해주세요.
마찬가지로 이렇게 다시 뜰텐데 y 입력해주시면
이렇게 등록이 완료가 됩니다.
이제 지갑등록도 완료가 되었으니 동작시키러 가볼까요?
3. MASA 테스트넷 노드 작업돌리기
이제 MASA 테스트넷 노드를 돌리기 위한 작업을 셋팅해볼건데요.
git clone https://github.com/masa-finance/masa-oracle.git
위 명령어를 입력해주시구요.
☞ 폴더경로는 어디서 하든 상관없지만 저는 masa-bittensor 경로아래에서 실행했습니다.
설치가 완료되었다면
cd masa-oracle
를 입력해서 경로를 옮겨줍니다.
그 다음
nano .env
를 입력하면
이렇게 입력하라고 나올텐데요.
BOOTNODES=/ip4/35.223.224.220/udp/4001/quic-v1/p2p/16Uiu2HAmPxXXjR1XJEwckh6q1UStheMmGaGe8fyXdeRs3SejadSa
ENV=test
RPC_URL=https://ethereum-sepolia.publicnode.com
TWITTER_USER= 내 트위터 아이디
TWITTER_PASS= 내 트위터 비밀번호
TWITTER_SCRAPER=true
validator = true
#이건 있을경우에만
TWITTER_2FA_CODE= your twitter 2fa code
위 명령어 중 트위터에 대한 부분만 본인에 맞춰서 바꾼 뒤 복사해서 마우스 오른쪽을 눌러 입력해주시면 되겠습니다.
그리고 Ctrl+X, Y, 엔터 차례대로 눌러주면 저장됩니다.
※ 참고로, 트위터의 경우 자격증명(verification)이 완료가 되어야지만되기 때문에 체크해주시고, 2차인증을 입력하도록 만드셨다면 해당 코드도 트위터 설정에서 확인하셔서 입력해주셔야지만 되니까 해당 부분도 같이 체크해주세요. (없다면 넘어가셔도 됩니다. 저는 귀찮아서 2FA 해제했습니다.)
그 다음
ls -a
를 입력하시면
이렇게 파일이 있는걸 확인하실 수 있습니다.
이제 도커이미지를 생성하기 위해
docker-compose build
위 명령어를 입력해주시구요.
이렇게 완료가 되었다면 서버를 꺼도 잘 돌아갈 수 있게 스크린을 생성해줍시다.
screen -S masa
위 명령어를 입력해주시면
이렇게 나오구요.
이제 경로를 다시 확인해서 만약 masa-oracle 폴더가 아니라면
cd ~/masa-bittensor/masa-oracle
를 입력해서 이동해주시구요
docker-compose up -d
이제 위 명령어를 입력하신 뒤
docker-compose logs -f masa-node
이 명령어도 입력해주세요.
그럼 제대로 돌아가고 있는지 위 그림처럼 로그 확인이 가능합니다.
근데 만약 로그 중 내용이
이렇게 permission denied가 나타나면서 Error saving, Failed to initialize keys가 뜬다면 권한이 없어서 그런 것이므로
sudo chmod -R 777 .masa-keys
위 명령어를 입력해주고 다시
docker-compose up -d
실행해주면 됩니다.
자 이제 마지막으로
cd ~/masa-bittensor/
make run-miner
위 명령어를 순서대로 입력해주시면
채굴이 진행됩니다!
만약 돌리시는데
이렇게 No module named 'masa'가 뜬다면 Ctrl+C를 눌러서 빠져나온 뒤
sudo apt install libcairo2-dev pkg-config python3-dev
위 명령어를 입력해서 pycairo를 설치해주고
마찬가지로
sudo apt install libgirepository1.0-dev
위 명령어를 입력해서 pygobject 설치해주고
pip install masa
위 명령어를 입력해서 masa 모듈을 설치한 뒤 다시 해보세요.
그럼 이렇게 정상적으로 설치가 완료가 되었고
이제 다시
make run-miner
를 실행하시면 됩니다.
※ 만약 그래도 똑같이 이렇게 No module named 'masa'가 뜬다면 module의 경로때문인데요.
그 경우엔 pip install masa와 같은 명령어를 입력하시면
이렇게 어디에 설치가 되어있는지 경로가 나올겁니다.
그럼 이걸 이제 in 다음부터 (1.6)과 같은 버전 앞까지 마우스를 드래그해서 복사하시구요.
export PYTHONPATH="${PYTHONPATH}:masa모듈이 설치된 위치"
위 명령어를 입력해 주시고, 'masa모듈이 설치된 위치'에 방금 복사한 경로를 붙여넣고 엔터치시면
경로가 다시 설정되서 동작합니다.
make run-miner
그리고 다시 해주시면 됩니다.
아주 잘 돌아가요
▶ 그 외 추가내용들
그 외 참고로 보시면 좋을 내용들인데요.
그 중 스테이킹 토큰하면 나중에 위임시에도 좋을 수 있으니, 2번 항목까지는 가급적이면 해두시는 것을 추천드립니다!!
1. 노드에 tMASA 토큰을 스테이킹 하고 싶을 때 명령어
- 수도꼭지(Faucet 명령어)
docker-compose run --rm masa-node /usr/bin/masa-node --faucet
- 로그에서 노드 키, 지갑주소 획득
로그에서 지갑주소 확인할 때는
docker-compose down
하신 뒤
docker-compose up -d
위 명령어를 다시 입력하면 새로 재기동되는데요.
그 때
docker-compose logs -f masa-node
위 로그 보는 명령어를 빠르게 입력하셔서 보시면
이런 창이 지나갈겁니다.
이 때 Ctrl+C 를 눌러서 종료한 뒤 해당 public key를 획득해서 토큰을 요청하시면 됩니다.
- tMASA 획득
https://docs.google.com/forms/d/e/1FAIpQLSc344bmJfWYcjAEyDdfKTorDsylEyNU-YppmhQNV89f90RK0w/viewform
- sepoliaETH획득
https://www.alchemy.com/faucets/ethereum-sepolia
2. 노드에 tMASA 1천개 스테이킹하기
docker-compose run --build --rm masa-node /usr/bin/masa-node --stake 1000
3. 만약 노드가 꺼졌을 때 다시 실행하기
docker-compose down
docker-compose up -d
4. 노드 업데이트 됐을 때 업데이트 하기
cp ~/masa-bittensor/masa-oracle/.env ~/.env
cd ..
rm -rf masa-oracle
위 명령어를 차례차례 수행해주시구요.
git clone https://github.com/masa-finance/masa-oracle.git
위 명령어 그대로 입력해서 다시 masa-oracle의 깃을 다운받아줍시다.
그럼 이렇게 나타날테고
ls
위 명령어를 입력해서
위와 같이 masa-oracle이 나왔으면 정상입니다.
그리고
cp ~/.env ~/masa-bittensor/masa-oracle/.env
위 명령어를 다시 입력해주시면 환경설정파일까지 모두 복사 붙여넣기 완료!
그리고나서 스크린부터 다시 생성해서 해주시면 됩니다.
screen -r masa
입력하신 뒤 Ctrl+C로 종료한 번 해주시고
cd ~
cd ~/masa-bittensor/masa-oracle
위 경로로 이동한 뒤
docker-compose up -d
도커 실행 명령어를 입력하신 뒤
docker-compose logs -f masa-node
이 명령어도 입력해주세요.
그럼 제대로 돌아가고 있는지 위 그림처럼 로그 확인이 가능합니다.
근데 만약 로그 중 내용이
이렇게 permission denied가 나타나면서 Error saving, Failed to initialize keys가 뜬다면 권한이 없어서 그런 것이므로
sudo chmod -R 777 .masa-keys
위 명령어를 입력해주고 다시
docker-compose up -d
실행해주면 됩니다.
자 이제 마지막으로
cd ~/masa-bittensor/
make run-miner
위 명령어를 순서대로 입력해주시면
채굴이 진행됩니다!
만약 돌리시는데
이렇게 No module named 'masa'가 뜬다면 Ctrl+C를 눌러서 빠져나온 뒤, pip install masa와 같은 명령어를 입력하시면
이렇게 어디에 설치가 되어있는지 경로가 나올테니
그럼 이걸 이제 in 다음부터 (1.6)과 같은 버전 앞까지 마우스를 드래그해서 복사하시구요.
export PYTHONPATH="${PYTHONPATH}:masa모듈이 설치된 위치"
위 명령어를 입력해 주시고, 'masa모듈이 설치된 위치'에 방금 복사한 경로를 붙여넣고 엔터치시면 되는거 잊지마시구요!!
여기가지가 MASA의 bittensor 테스트넷 노드 작업방법이었습니다!
인센티브 테스트넷이지만, 우수 마이너 256명에게만 제공할 예정이니 꼭 성능 체크하면서 잘 돌리셔서 MASA 토큰 획득하시면 좋겠습니다!!
작업하다 막히거나 모르시는 부분이 발생한다면 댓글이나 텔레그램을 통해 질문주시면 알려드릴게요!
소식과 내용을 빠르고 다양하게 접하고 싶으시다면 아래 그림(텔레그램)을 클릭해주세요!!
'크립토 에어드랍 작업 > 노드 운용하기' 카테고리의 다른 글
(긴급!) 휴리스트 업데이트하기!! (해야만 채굴가능!) (0) | 2024.05.14 |
---|---|
0G 테스트넷 노드 돌려보자! (Validator - 리뉴얼 완료)+ (Storage 노드는 에러 발생) (7) | 2024.04.13 |
Vast.ai를 활용한 GPU서버 임대하는 방법!! Feat.AI Node (22) | 2024.04.02 |
휴리스트(Heurist) AI Incentivized Testnet(인센티브 테스트넷) 작업 시작! (29) | 2024.04.01 |
바이낸스가 투자한 Nimble, 노드 돌려보기! Feat. Vast.ai (4) | 2024.03.28 |