Airchains เป็นแพลตฟอร์มโครงสร้าง zk-Rollup แบบโมดูลาร์ที่ออกแบบมาโดยเฉพาะเพื่อช่วยให้นักพัฒนาสร้างแอปพลิเคชันที่ครอบคลุมได้ด้วยความเร็วและความเป็นส่วนตัวที่ไม่มีใครเทียบได้ อีกทั้งยังมีความยืดหยุ่นในการเลือกเลเยอร์การประมวลผลและการจัดเก็บข้อมูล ที่เหลือไปไปอ่านต่อกันเองนะครับ
System: Ubuntu 22.04

sudo apt-get update && apt-get install jq build-essential -y
sudo apt install curl -y
curl https://dl.google.com/go/go1.22.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
cat <<'EOF' >>$HOME/.bashrc
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.bashrc
cd
git clone https://github.com/airchains-network/wasm-station.git
git clone https://github.com/airchains-network/tracks.git
cd wasm-station
go mod tidy
/bin/bash ./scripts/local-setup.sh
ถึงตรงนี้บางคนอาจจะรอนานหน่อยก็รอไปครับ
ถ้าถูกต้องมันจะขึ้นประมาณนี้

sudo tee <<EOF >/dev/null /etc/systemd/system/wasmstationd.service
[Unit]
Description=wasmstationd
After=network.target
[Service]
User=$USER
ExecStart=$HOME/wasm-station/build/wasmstationd start --api.enable
Restart=always
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload && \
sudo systemctl enable wasmstationd && \
sudo systemctl start wasmstationd
รอประมาณ 2 3 นาทีจับเวลาเอานะ
View logs
sudo journalctl -u wasmstationd -f
cd
wget https://github.com/airchains-network/tracks/releases/download/v0.0.2/eigenlayer
sudo chmod +x eigenlayer
sudo mv eigenlayer /usr/local/bin/eigenlayer
eigenlayer operator keys create -i=true --key-type ecdsa (ใส่ชื่อ wallet)
ทำตามขั้นตอนที่หน้า command Save the private key เอาออกมาเก็บไว้ แล้วกด q เพื่อออก

sudo rm -rf ~/.tracks
cd $HOME/tracks
go mod tidy
go run cmd/main.go init --daRpc "disperser-holesky.eigenda.xyz" --daKey "เอา key ข้างบนมาใส่ตรงนี้" --daType "eigen" --moniker "ใส่ชื่อของเรา" --stationRpc "http://127.0.0.1:26657" --stationAPI "http://127.0.0.1:1317" --stationType "wasm"
ถ้าถูกต้องจะขึ้นแบบนี้
[2024-06-26 09:50:08] » Track initialization successful
go run cmd/main.go keys junction --accountName airchainsตามด้วยชื่อเรา --accountPath $HOME/.tracks/junction-accounts/keys
จำไว้เสมอว่าเมื่อระบบสร้างอะไรให้เรามาให้เรา save เก็บเอาไว้ทั้งหมดเพราะมันจะถูกนำมาใช้ตอนหลัง ค่อยๆดูนะครับมันจะมี key ต่างๆมาให้เรา
https://airchains.faucetme.pro/?source=post_page-----4cb8b890807b--------------------------------

go run cmd/main.go prover v1WASM
nodeid=$(grep "node_id" ~/.tracks/config/sequencer.toml | awk -F '"' '{print $2}')
ip=$(curl -s4 ifconfig.me/ip)
bootstrapNode=/ip4/$ip/tcp/2300/p2p/$nodeid
echo $bootstrapNode
ถ้าถูกต้องมันจะ show ประมาณนี้ จดเอาไว้ด้วย
/ip4/<ip เครื่องเรา>/tcp/2300/p2p/และnodeid
go run cmd/main.go create-station --accountName airchainsจากข้างบน --accountPath $HOME/.tracks/junction-accounts/keys --jsonRPC "https://junction-testnet-rpc.synergynodes.com/" --info "WASM Track" --tracks เลขกระเป๋าขึ้นต้นด้วย air --bootstrapNode "bootstrapNode"
รอซักพักเช่นเคยมันจะขึ้นแบบนี้ คุณได้ไปต่อ
[2024-06-11 10:16:32] » tracks address: air1mcpx52vmr2nl75yppl0xw2w5htgnv
[2024-06-11 10:16:32] » Currently user have 2.000000AMF
[2024-06-11 10:16:44] » txHash: 3D7688A44BCDBED043380C5367B0B1320187B34E46B6C52E82BD16843D145FE3
[2024-06-11 10:16:44] » /root/.tracks/config/genesis.json created
[2024-06-11 10:16:44] » vrfPrivKey ID: 124014616c36ba23183504643d101a875c99531732bb83f6366
[2024-06-11 10:16:44] » vrfPubKey ID: 13223019114f6a1d4d2068bf2dd58982d63d5c914412976a5291372a51deb542
[2024-06-11 10:16:44] » Successfully Created VRF public and private Keys
[2024-06-11 10:16:44] » Successfully created station
อัดแกสเพื่อความแรง
sed -i 's/gasFees := fmt.Sprintf("%damf", gas)/gasFees := fmt.Sprintf("%damf", 2*gas)/' "$HOME/tracks/junction/verifyPod.go"
sed -i 's/gasFees := fmt.Sprintf("%damf", gas)/gasFees := fmt.Sprintf("%damf", 2*gas)/' "$HOME/tracks/junction/validateVRF.go"
sed -i 's/gasFees := fmt.Sprintf("%damf", gas)/gasFees := fmt.Sprintf("%damf", 3*gas)/' "$HOME/tracks/junction/submitPod.go"
sudo tee /etc/systemd/system/stationd.service > /dev/null << EOF
[Unit]
Description=station track service
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/tracks/
ExecStart=$(which go) run cmd/main.go start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable stationd
sudo systemctl restart stationd
นับเวลาในใจซัก 2-3 นาที check log
sudo journalctl -u stationd -f -o cat
ถ้ามันขยับๆก็ไปต่อ กด Ctrl + C เพื่อออกจาก log
Creating a Script
cd
addr=$($HOME/wasm-station/build/wasmstationd keys show node --keyring-backend test -a)
sudo tee spam.sh > /dev/null << EOF
#!/bin/bash
while true; do
$HOME/wasm-station/build/wasmstationd tx bank send node ${addr} 1stake --from node --chain-id station-1 --keyring-backend test -y
sleep 6 # Add a sleep to avoid overwhelming the system or network
done
EOF
nohup bash spam.sh &
มันจะดูนิ่งๆเรา กด enter ไปเลย
cat nohup.out
ต้องขึ้นแบบนี้คุณได้ไปต่อ
code: 0
codespace: ""
data: ""
events: []
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: ""
timestamp: ""
tx: null
txhash: F2F9C6911D3D48C98CAC47773E0B7B4C8E9AD23BFD10692177BA5C8C69980A3B
code: 0
codespace: ""
data: ""
events: []
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: ""
timestamp: ""
tx: null
txhash: ACB167A5B5E806B59497EA49B825106E1AB4C8FA7808AA89A726F4109E4E00FB
ดู log อีกรอบ
sudo journalctl -u stationd -f -o cat

####ถ้าขึ้นว่า RPC ERROR ไม่ขึ้นข้อนี้ไม่ต้องใส่นะผ่านได้เลย####
sudo systemctl daemon-reload
sudo systemctl enable stationd
sudo systemctl restart stationd
journalctl -u stationd -f -o cat
ผมใช้ของที่นี้


ไปนี้ต่อ เข้าไปแล้วเชื่อมกระเป๋ามันจะต่อ chain ให้

เข้า discord
หัวข้อ Validator >> Role-request

เอา URL ไปวางใน Discord เพื่อขอ Role Validator.
จบครับเหนือยจุง และอีกเช่นเคยนะครับ การ run node ไม่ได้แปลว่าเราจะได้เสมอไป สำหรับท่านที่ต้องเช้า VPS มา run นั้นถือเป็นต้นทุนและความเสี่ยง คำนวนกันดีๆนะครับ HAPPY NODE RUNNER !!

