Setup Master Node Hyperledger Cello — #HLC Part 2
มาเริ่มติดตั้ง Hyperledger Cello กันเลยสำหรับ part นี้จะเป็นติดตั้ง Master Node นะครับ
ก่อนจะเริ่ม มารู้จักกับ คำศัพท์ ต่างๆกัน ก่อน
Master Node
- เป็นตัวที่รัน Cello service
Worker Node
- เป็นโฮสสำหรับตัว Blockchain ที่ควบคุมโดย Master Node มี Platform ให้เลือกหลายแบบด้วยกัน เช่น Docker, Swarm, Kubernetes, vSphere Cloud และ Baremetal
คำเตือน: บทความเรื่อง HLC นี้สำหรับคนที่พอจะรู้ หรือเคยลองเล่น Hyperledger Fabric มาบ้างแล้ว เนื่องจากในบทความเกี่ยวกับ HLC นี้ผมจะไม่อธิบายการสร้าง Network ต่างๆของ Hyperledger Fabric แต่จะบอกเพียงว่ามันเรียกใช้อย่างไรบ้างเท่านั้น
อันดับแรก ผมลองเล่นที่ HLC ที่ gcloud โดยผมมี instance ที่ลง Debian9, Docker CE และ docker-compose ไว้
ทำตามขั้นตอนเลยครับ ตามที่ตัวอย่างของ Cello บอกไว้
ทำการ Clone repo มาก่อน
git clone http://gerrit.hyperledger.org/r/cello && cd cello
จากนั้นรันสคริปเพื่อ Setup Master Node
make setup-master
จากนั้นรันสคริป Start Master Node แต่ในการลองเล่นครั้งนี้ ผมขอใช้เป็น Mode dev นะครับ เพราะมีเหตุผลบางอย่าง เดี๋ยวจะอธิบายใน part ต่อๆไป
MODE=dev make start
อธิบายเพิ่มเติม: ในการรัน Mode dev นั้น เมื่อเข้าไปดูที่ Repo การรันจะต่างการดังนี้
ถ้ารัน make start
ธรรมดาจะไปรัน docker-compse.yml แต่ถ้ารัน Mode=dev make start
จะไปรันที่ docker-compose-dev.yml
เมื่อรันเสดแล้ว เราจะได้ service ที่อยู่บน Docker ดังนี้
- itsthenetwork — จะเป็นตัวสำหรับแชร์ไฟล์
- user-dashboard — สำหรับหน้าจัดการ Chain ซึ่งสามารถ install ChainCode หรือ instantiate ChainCode ได้
- operator-dashboard — สำหรับสร้าง network หรือ Chain
- mongo — มีสองตัว สำหรับ user-dashboard และ operator-dashboard
- watchdog — สำหรับ Health check
จากนั้นให้เราเข้าไปที่ operator ที่พอร์ต 8080 แล้ว login ด้วย admin:pass จะได้หน้าตาแบบนี้
ปัญหาที่เจอ เมื่อทำการรัน Mode dev จะไม่สามารถ เปิดหน้า User Dashboard ได้ ให้เราลองเข้าไปที่ port 8081 จะเห็นเป็นหน้าว่างๆ
ให้เรา exec เข้าไปที่ Service docker ของ user-dashboard แล้วสั่ง npm run build:dev
จากนั้นให้ลองเข้าใหม่ดู จะได้หน้าตาแบบนี้
และนี่คือปัญหาที่ผมเจอเมื่อรัน Mode dev แต่ถ้ารันธรรมดาจะไม่เป็น
เป็นยังไงกันบ้างครับ การ Setup Master Node ง่ายหรือป่าว อย่างที่บอกครับ ผมยกตัวอย่างนี้เป็นการรัน Mode dev เพราะผมติดปัญหาหลายอย่างกับการลองเซ็ตตัว Production เดี๋ยวจะอธิบายใน part ต่อๆไปนะครับ ว่าติดส่วนไหนบ้าง และใครที่มีความเห็น หรือข้อเสนอแนะ หรือ ข้อสงสัยต่างๆ สอบถามมาได้ทาง comment เลยนะครับ มาช่วยกันแชร์ประสบการณ์ในการเล่น hyperledger กัน ❤