Intro
Coinlist 시드 프로젝트에서 선정되었던 Masa Finance는 런칭 전 테스트넷을 운영하고 있습니다. 테스트넷 노드를 설치하면 $CORN 토큰으로 인센티브 보상을 해주는데요. Testnet 2.0의 Phase 1은 종료되었고(노드 운영을 잘하면 Masa에서 토큰 보상 안내 메일을 줍니다.) 이제 Phase 2 신청을 받고 있으니 같이 노드 설치 후 등록해보세요.
레퍼런스: GitHub - masa-finance/masa-node-v1.0
설치 환경
Ubuntu 20.04.4 LTS
go1.17.5 linux/amd64
Prerequites
# 패키지 업데이트 확인
sudo apt-get update && sudo apt-get upgrade -y
# 필요 소프트웨어 설치
sudo apt install apt-transport-https net-tools git mc sysstat atop curl tar wget clang pkg-config libssl-dev jq build-essential make ncdu -y
# go 설치
export ver="1.17.5"
cd ~
wget --inet4-only "<https://golang.org/dl/go$ver.linux-amd64.tar.gz>"
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' >> ~/.profile
source ~/.profile
build
# 소스코드 빌드
cd ~
git clone <https://github.com/masa-finance/masa-node-v1.0>
cd masa-node-v1.0/src
make all
exit
# 바이너리 복사
sudo cp /home/$USER/masa-node-v1.0/src/build/bin/* /usr/local/bin
masa-node 초기화
cd $HOME/masa-node-v1.0
geth --datadir data init ./network/testnet/genesis.json
# 환경변수 설정 (사용자가 원하는 이름으로 지정)
export NODE_NAME="bhlee"
# 설정 확인
export | grep NODE_NAME
declare -x NODE_NAME="bhlee"
데몬 등록
sudo tee /etc/systemd/system/masad.service > /dev/null <<EOF
[Unit]
Description=MASA
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=/usr/local/bin/geth \\\\
--identity ${NODE_NAME} \\\\
--datadir /home/$USER/masa-node-v1.0/data \\\\
--bootnodes enode://ac6b1096ca56b9f6d004b779ae3728bf83f8e22453404cc3cef16a3d9b96608bc67c4b30db88e0a5a6c6390213f7acbe1153ff6d23ce57380104288ae19373ef@54.146.254.245:21000,enode://91a3c3d5e76b0acf05d9abddee959f1bcbc7c91537d2629288a9edd7a3df90acaa46ffba0e0e5d49a20598e0960ac458d76eb8fa92a1d64938c0a3a3d60f8be4@54.158.188.182:21000,enode://d87c03855093a39dced2af54d39b827e4e841fd0ca98673b2e94681d9d52d2f1b6a6d42754da86fa8f53d8105896fda44f3012be0ceb6342e114b0f01456924c@34.225.220.240:21000,enode://fcb5a1a8d65eb167cd3030ca9ae35aa8e290b9add3eb46481d0fbd1eb10065aeea40059f48314c88816aab2af9303e193becc511b1035c9fd8dbe97d21f913b9@52.1.125.71:21000 \\\\
--emitcheckpoints \\\\
--istanbul.blockperiod 10 \\\\
--mine \\\\
--miner.threads 1 \\\\
--syncmode full \\\\
--verbosity 5 \\\\
--networkid 190260 \\\\
--rpc \\\\
--rpccorsdomain "*" \\\\
--rpcvhosts "*" \\\\
--rpcaddr 127.0.0.1 \\\\
--rpcport 8545 \\\\
--rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum,istanbul \\\\
--port 30300
Restart=on-failure
RestartSec=10
LimitNOFILE=4096
Environment="PRIVATE_CONFIG=ignore"
[Install]
WantedBy=multi-user.target
EOF
노드 추가
# 노드 추가 스크립트 실행
. <(wget -qO- <https://raw.githubusercontent.com/usrbad/masa-node-v1.0/main/addbootnode.sh>)
1) input your node name
2) input enode://136ae18de4e57e15e7dc70b03d59db11e77ae45de8ba89a243734b911b94477a3fa515d8a494c1ea79b97e134a17f04db9ff4e90e09e1c2bdba3e9aa061bf6ae@185.167.120.159:30300 or any other bootnode
데몬 실행
sudo systemctl daemon-reload
sudo systemctl enable masad
sudo systemctl restart masad
# 데몬 상태 확인
sudo systemctl status masad
# 정상이라면 Active: active 라고 표시됨
● masad.service - MASA
Loaded: loaded (/etc/systemd/system/masad.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-06-20 23:43:18 KST; 1 weeks 4 days ago
Main PID: 683 (geth)
Tasks: 11 (limit: 9458)
Memory: 726.7M
CGroup: /system.slice/masad.service
└─683 /usr/local/bin/geth --identity bhlee --datadir /home/bhlee/masa-node-v1.0/data --bootnodes enode:>
# 데몬 중지
sudo systemctl stop masad
# 로그 확인
sudo journalctl -f -u masad
데몬 접속
geth attach ipc:/home/$USER/masa-node-v1.0/data/geth.ipc
geth 명령어
# 네트워크 연결 여부 확인
net.listening
# 연결된 피어 수
net.peerCount
# 동기화 상태 확인
# 노드의 상태를 확인하기 위해 difficulty 변수값을 확인 -> 0보다 크고 블록 수에 가까워야 함
eth.syncing
# 노드 정보 확인
admin.nodeInfo
{
enode: "enode://aaf136ec1d53d0980294c838deb4492414e220f0cc60bb62b54bdb6eade1d314afbcbd7257d88e73135e63c07413e8fb538f64e047bea9e9b8ae394d84fc345d@49.161.210.223:30300",
enr: "enr:-J24QM_--DPVllzb6ZB77FCUoiIH_PVwmmjLCKkxfgczT1HhOg8pDThVtBlX3gpr_zP0wbgACDRDcLt7TkBk-M8eNTwMg2V0aMfGhHxO0qmAgmlkgnY0gmlwhDGh0t-Jc2VjcDI1NmsxoQOq8TbsHVPQmAKUyDjetEkkFOIg8Mxgu2K1S9tureHTFIRzbmFwwIN0Y3CCdlyDdWRwgnZc",
id: "ea8ea8eaf70e426d0d12f371b92377d7d12edd33f2bc8e7bae42b523971cf4f2",
ip: "49.161.210.223",
listenAddr: "[::]:30300",
name: "Geth/bhlee/v1.10.0-stable(quorum-v22.1.0)/linux-amd64/go1.17.5",
plugins: {},
ports: {
discovery: 30300,
listener: 30300
},
protocols: {
eth: {
config: {
byzantiumBlock: 0,
chainId: 190260,
constantinopleBlock: 0,
eip150Block: 0,
eip150Hash: "0x0000000000000000000000000000000000000000000000000000000000000000",
eip155Block: 0,
eip158Block: 0,
homesteadBlock: 0,
isMPS: false,
isQuorum: true,
istanbul: {...},
istanbulBlock: 0,
maxCodeSize: 64,
maxCodeSizeConfig: [...],
petersburgBlock: 0,
privacyPrecompileBlock: 0,
qip714Block: 50,
txnSizeLimit: 64
},
difficulty: 1,
genesis: "0x64e6bbbf3eeb9b6d8295172b985c79f372b65e8f0c19b08d601cd59605287eaa",
head: "0x64e6bbbf3eeb9b6d8295172b985c79f372b65e8f0c19b08d601cd59605287eaa",
network: 190260
},
istanbul: {
config: {
byzantiumBlock: 0,
chainId: 190260,
constantinopleBlock: 0,
eip150Block: 0,
eip150Hash: "0x0000000000000000000000000000000000000000000000000000000000000000",
eip155Block: 0,
eip158Block: 0,
homesteadBlock: 0,
isMPS: false,
isQuorum: true,
istanbul: {...},
istanbulBlock: 0,
maxCodeSize: 64,
maxCodeSizeConfig: [...],
petersburgBlock: 0,
privacyPrecompileBlock: 0,
qip714Block: 50,
txnSizeLimit: 64
},
consensus: "istanbul",
difficulty: 1,
genesis: "0x64e6bbbf3eeb9b6d8295172b985c79f372b65e8f0c19b08d601cd59605287eaa",
head: "0x64e6bbbf3eeb9b6d8295172b985c79f372b65e8f0c19b08d601cd59605287eaa",
network: 190260
},
snap: {}
}
}
# enode만 확인
admin.nodeInfo.enode
enode://aaf136ec1d53d0980294c838deb4492414e220f0cc60bb62b54bdb6eade1d314afbcbd7257d88e73135e63c07413e8fb538f64e047bea9e9b8ae394d84fc345d@49.161.210.223:30300
# 노드 추가
# net.peerCount 결과가 0으로 나올 경우 노드를 수동으로 추가할 것
admin.addPeer("enode://dbd0cf5e9630e2b1fa08b208d9fd4959027a73c65fe40822dd1cf4fb07158328a82e8fd107107b5f109b59337e0d0f8533d07ac3b70bd2e12c02ced6844a97e1@127.0.0.1:21000")
admin.addPeer("enode://bafa353e8e8c7d11fa659bbf9fc168319e572f6d338874e214d25bfef82b2c0779bae338fcc8d6ca98a37f019176f5c02deaa13c1a5481c9600b6200f0370c36@127.0.0.1:21000")
admin.addPeer("enode://34ec7b2427494928b53e9f1a9bc8fbc62ebbafc1a465a888514569d8c022c8a6f4724c32991a11abd81bb9bf8573131ebf86c023da680389ddccd26b292746ca@127.0.0.1:21000")
Testnet 2.0 Phase 2: Validator Node 등록 페이지
'Blockchain > Testnet' 카테고리의 다른 글
Aptos 테스트넷 페이즈3 (AIT-3) 관련 정보 및 등록 방법 (7) | 2022.08.22 |
---|---|
Sui 인센티브 테스트넷 Validator 등록을 위한 Fullnode 구축해보기 (2) | 2022.08.13 |
Espresso Systems 테스트넷 참여하기(Create a new asset in CAPE) (3) | 2022.07.08 |
OpenLeverage "More, before" Trading Reward 참여하기 (0) | 2022.07.04 |
Aptos AIT2 Validator 노드 등록 가이드 (0) | 2022.07.01 |