สามารถทำตามขั้นตอนด้านล่างได้เลย Step-By-Step ตัวผู้เขียนเองก็มือใหม่ เพิ่งหัดทำด้วยตนเอง สร้างเป็น docker ไม่เป็นเลยอาจจะยาวหน่อยนะครับ (อัพเดท 6 ส.ค. 65 แก้ไขปัญหาเชื่อม Node ไม่ได้)
สร้าง Virtual Machine ฟรี บน Google หรือใครมี VM อื่นอยู่แล้วก็ใช้ของตัวเองได้เลย (Virtual Machine คือ การเช่าเครื่องคอมพิวเตอร์เพื่อรัน Ubuntu คล้ายกับเช่า server )
1.1 ไปที่ https://cloud.google.com/vm
1.2 กดปุ่ม Get started for free แล้วสมัครบัญชี, ยืนยันทางโทรศัพท์, ใส่รายละเอียดการชำระเงิน (ใช้ได้ฟรี 90 วัน เครดิต 300$ ถ้าไม่ใช้ก็กดลบ VM ออก)
1.3 เมื่อสมัครบัญชีเสร็จแล้ว ไปสร้าง VM ที่ เมนู 3 ขีดด้านซ้ายบน > Compute Engine > VM instances
1.4 ที่เมนูด้านบน VM instances แล้วเลือก CREATE INSTANCE (ถ้าไม่มีให้กดที่จุด 3 จุด เมนูจะขึ้นมา)
1.5 จะขึ้นหน้าสร้าง VM ให้เลื่อนไปข้างล่าง ตรงคำว่า Boot disk ให้กดปุ่ม CHANGE แล้วเลือก
1.6 ลงไปด้านล่างสุด กดปุ่ม CREATE จะกลับมาหน้า VM instances รอให้ status ขึ้นเป็นเครื่องหมายถูกสีเขียว แสดงว่า VM ของเราพร้อมทำงานแล้ว
1.7 กดที่ SSH ของ VM instance ที่เราเพิ่งสร้างมา จะเปิดหน้าต่าง browser ใหม่ เพื่อรันคำสั่งทำงานให้กับ VM ของเรา
2.1 ที่เมนู 3 ขีด ซ้ายบนสุดของ Google Cloud กดเลือก VPC network > Firewall
2.2 เลือก CREATE FIREWALL RULE
3.1 คัดลอก code ตามด้านล่าง ทีละบรรทัด แล้วนำไปวางบน Terminal แล้วกด Enter
sudo -i
apt update && apt upgrade -y
apt install build-essential git curl gcc make jq -y
wget -c https://go.dev/dl/go1.18.3.linux-amd64.tar.gz && rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz && rm -rf go1.18.3.linux-amd64.tar.gz
echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile echo 'export GO111MODULE=on' >> $HOME/.bash_profile echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && . $HOME/.bash_profile
wget -O teritori.sh https://raw.githubusercontent.com/kj89/testnet_manuals/main/teritori/teritori.sh && chmod +x teritori.sh && ./teritori.sh
source $HOME/.bash_profile
teritorid status 2>&1 | jq .SyncInfo
SNAP_RPC="http://teritori.stake-take.com:26657" LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \ BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \ TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \ s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \ s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \ s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ; \ s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.teritorid/config/config.toml teritorid tendermint unsafe-reset-all --home $HOME/.teritorid sudo systemctl restart teritorid && journalctl -fu teritorid -o cat
3.3 สร้างกระเป๋า wallet และขอ Faucet
สร้างกระเป๋าโดยใช้คำสั่ง
teritorid keys add $WALLET
ให้จด nmemonic key สำหรับกู้กระเป๋าไว้ด้วย(บรรทัดล่างสุด) และคัดลอกเลข wallet เรา ที่อยู่หลังคำว่า address : ( จะขึ้นด้วยคำว่า tori )
ไปที่ TERITORI Discord https://discord.gg/RmEqwXybr3 ห้อง #┃💦ㆍfaucet แล้วพิมพ์ $request ตามเลขกระเป๋าของเรา เช่น $request tori1xxxxxxxxxxxxxxxxxxxxxxxxxxxx
3.4 สร้าง Validator
คัดลอกคำสั่งไปวาง และ enter
TERITORI_WALLET_ADDRESS=$(teritorid keys show $WALLET -a) TERITORI_VALOPER_ADDRESS=$(teritorid keys show $WALLET --bech val -a) echo 'export TERITORI_WALLET_ADDRESS='${TERITORI_WALLET_ADDRESS} >> $HOME/.bash_profile echo 'export TERITORI_VALOPER_ADDRESS='${TERITORI_VALOPER_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
เช็คยอดว่าเหรียญ utori ที่ขอทาง faucet ไปได้มาหรือยัง (ถ้ามาแล้วจะขึ้นเลข 1000000)
teritorid query bank balances $TERITORI_WALLET_ADDRESS
ถ้าได้เหรียญทดสอบมาแล้วให้ใช้คำสั่งนี้
teritorid tx staking create-validator --amount 1000000utori --from $WALLET --commission-max-change-rate "0.01" --commission-max-rate "0.2" --commission-rate "0.07" --min-self-delegation "1" --pubkey $(teritorid tendermint show-validator) --moniker $NODENAME --chain-id $TERITORI_CHAIN_ID
จะขึ้นมาถามว่า (y/N) ให้ตอบ y
ถ้าสำเร็จแล้วจะขึ้น txhash บรรทัดสุดท้าย
3.5 ไปที่เว็บ https://teritori.explorers.guru/ ด้านบนใส่เลข wallet ของเราที่ได้มาจากข้อ 2.3
ถ้าติดปัญหาใด ส่งข้อความมาสอบถามได้ที่
Twitter Discord Link3 Lenster Debank profile
อ้างอิงข้อมูลจาก : https://github.com/StakeTake/guidecosmos/tree/main/teritori/teritori-testnet-v2 และ Discord Teritori https://discord.gg/RmEqwXybr3
เพิ่มเติม VDO รัน Node ภาษาอังกฤษจาก kjnodes วิธีอาจจะแตกต่างไปบ้างนะครับ ถ้าทำตามวิธีด้านบนไม่สำเร็จลองทำตามวิธีนี้ดู