⏰ Time:
🌡️ Temp:
Loading...
📌 จัดเต็มแบบ Step-by-Step สำหรับ Build LND + lncli ให้ poold รับรู้ build tags แบบแน่น ๆ ครบทุกขั้นตอน พร้อม tips กันลืม
โดย puk
•2025-09-10 02:50
จัดเต็มแบบ Step-by-Step สำหรับ Build LND + lncli ให้ poold รับรู้ build tags แบบแน่น ๆ ครบทุกขั้นตอน พร้อม tips กันลืม
1️⃣ ตรวจสอบว่าไม่มี LND รันอยู่
ก่อน build ใหม่ ต้องมั่นใจว่าไม่มี process ไหนใช้พอร์ต 10009 อยู่:
ps aux | grep lnd
# ถ้าเจอ process ให้ kill
pkill -f lnd
# หรือถ้า run ด้วย systemd
sudo systemctl stop lnd
ตรวจสอบพอร์ต 10009 ว่าง:
lsof -i :10009
2️⃣ ทำความสะอาด source
เข้าไปโฟลเดอร์ LND แล้ว clean ทุกอย่าง:
cd /mnt/newhdd/lnd
make clean
rm -f ./lnd-debug ./lncli-debug
rm -f ./lnd-itest ./lncli-itest
rm -f -r ./vendor .vendor-new
3️⃣ Build LND + lncli ด้วย Build Tags ถูกต้อง
poold ต้องการ build tags:
signrpc,walletrpc,chainrpc,invoicesrpc
Build LND
GOEXPERIMENT=loopvar go build -tags="signrpc,walletrpc,chainrpc,invoicesrpc" \
-ldflags="-s -w -buildid= -X github.com/lightningnetwork/lnd/build.Commit=v0.18.5-beta" \
-o ~/go/bin/lnd ./cmd/lnd
Build lncli
GOEXPERIMENT=loopvar go build -tags="signrpc,walletrpc,chainrpc,invoicesrpc" \
-ldflags="-s -w -buildid= -X github.com/lightningnetwork/lnd/build.Commit=v0.18.5-beta" \
-o ~/go/bin/lncli ./cmd/lncli
4️⃣ ตรวจสอบ Version + Build Tags
~/go/bin/lnd --version
~/go/bin/lncli version
ตัวอย่างผลลัพธ์:
{
"lncli": {
"version": "0.18.5-beta",
"build_tags": [
"signrpc",
"walletrpc",
"chainrpc",
"invoicesrpc"
]
},
"lnd": {
"version": "0.18.5-beta",
"build_tags": [
"signrpc",
"walletrpc",
"chainrpc",
"invoicesrpc"
]
}
}
⚠️ ถ้า lnd build_tags เป็น [] → poold จะ error ต้อง rebuild ใหม่ตาม Step 3
5️⃣ เริ่ม LND
~/go/bin/lnd --lnddir=/mnt/newhdd/LND
ถ้า wallet ถูกล็อก ให้ unlock ด้วย lncli:
~/go/bin/lncli --lnddir=/mnt/newhdd/LND unlock
ตรวจสอบสถานะ LND:
~/go/bin/lncli --lnddir=/mnt/newhdd/LND getinfo
ต้องขึ้นว่า:
synced_to_chain: true
synced_to_graph: true
num_peers > 0
และ version + build tags ถูกต้อง
6️⃣ เริ่ม PoolD
~/go/bin/poold --network=mainnet
ตรวจสอบ log:
ต้องขึ้นว่า lnd version: v0.18.5-beta, build tags 'signrpc,walletrpc,chainrpc,invoicesrpc'
RPC พร้อมใช้งาน → PoolD สามารถ connect กับ LND ได้
gRPC / REST ขึ้น listening:
RPC server listening on 127.0.0.1:12010
REST proxy listening on 127.0.0.1:8281
7️⃣ Tips & Troubleshooting
ถ้า build tags ยังไม่ขึ้น:
→ ลอง rm -f ~/go/bin/lnd ~/go/bin/lncli แล้ว rebuild ใหม่ Step 3
ถ้า port 10009 ใช้งานอยู่:
→ kill process หรือเปลี่ยนใน lnd.conf:
rpclisten=127.0.0.1:10009
restlisten=127.0.0.1:8080
ถ้า poold แจ้ง version mismatch:
→ สาเหตุส่วนใหญ่คือ LND ที่รันอยู่ไม่ใช่ binary ที่ build ด้วย tags ที่ถูกต้อง