ทำเว็บให้กระจายศูนย์ด้วย Walrus 🚀 คู่มือสำหรับมือใหม่
คู่มือเบื้องต้นสำหรับนักพัฒนา ที่อยากลองเก็บและรันเว็บไซต์บน Walrus อย่างง่ายๆ

ช่วงหลังมานี้ โลกบล็อกเชนไม่ได้มีแค่เรื่องการโอนเหรียญหรือทำ DeFi อีกต่อไป แต่ยังมีความพยายามที่จะขยายขอบเขตไปถึงการเก็บไฟล์และข้อมูลขนาดใหญ่ด้วย เพราะบล็อกเชนแบบดั้งเดิมถูกออกแบบมาเพื่อเก็บ state และ transaction เป็นหลัก ไม่ได้เหมาะสำหรับข้อมูลขนาดใหญ่เท่าไหร่นัก จึงเป็นที่มาของ Walrus 😎
อ่าวละ Walrus คืออะไร?
Walrus เป็น decentralized storage & data availability protocol ที่ถูกออกแบบมาโดยเฉพาะเพื่อเก็บไฟล์ขนาดใหญ่ (หรือที่เรียกว่า blobs) เช่น รูปภาพ วิดีโอ ไฟล์เว็บ หรือ binary files อื่น ๆ
คุณสมบัติหลักของ Walrus คือ:
Decentralized Storage – ไม่มี server กลาง ข้อมูลจะถูกกระจายไปเก็บตาม node ในเครือข่าย
Data Availability Layer – การันตีว่าไฟล์ที่ถูกเก็บไว้จะ “หาเจอและโหลดได้จริง” ไม่หายไปกลางทาง
Optimized for Blobs – ปรับแต่งให้เหมาะสมกับไฟล์ขนาดใหญ่ ต่างจาก blockchain ปกติที่เก็บข้อมูลแบบ state/transaction ซึ่งมีข้อจำกัดด้านขนาด
Economic Incentives – ผู้ที่เก็บไฟล์ (storage node) จะได้ค่าตอบแทนเป็น incentive ทำให้ระบบมีแรงจูงใจให้ข้อมูลคงอยู่เสมอ
อ่าวแล้ว Walrus กับ Sui (Mysten Labs) เกี่ยวข้องกันยังไงหละ?
Walrus ถูกพัฒนาโดย Mysten Labs ทีมเดียวกับที่สร้าง Sui นั้นเอง โดยทั้งสองโปรเจกต์ออกแบบมาให้ ส่งเสริม กัน
Sui → เป็น blockchain ที่ทำหน้าที่เก็บ state และ logic ของ smart contract (ข้อมูลที่ต้องการความถูกต้องและ consensus สูง)
Walrus → เป็น Decentralized Storage ไว้เก็บไฟล์ข้อมูลขนาดใหญ่ ที่ไม่เหมาะจะยัดลง blockchain โดยตรง โดย walrus ต่างจากที่เก็บข้อมูลแบบอื่นตรงที่มีคุณสมบัติ availability และ verifiability
สรุปง่ายๆคือ
Walrus = Decentralized hosting/storage layer
Sui = Smart contract & ownership layer
ตอนนี้เรารู้แล้วว่า Walrus คืออะไร และมันทำงานคู่กับ Sui ยังไง ทีนี้ก็ถึงเวลาลอง ลงมือทำจริง กันบ้าง 🎉 Use case ง่ายที่สุดคือการเอา เว็บไซต์เล็ก ๆ ของเราไปฝากบน Walrus แบบไม่ง้อเซิร์ฟเวอร์ และที่สำคัญคือ ไม่มีใครมาลบหรือปิดเว็บเราได้ 🔒
ถือเป็นโอกาสทองสำหรับใครที่อยากลองเล่นของใหม่ในโลกบล็อกเชน พร้อมแล้วไปดูกันว่า ขั้นตอนทำเว็บแรกของเราบน Walrus Site ต้องทำยังไงบ้าง 🚀
วิธีทำเว็บของตัวเองบน Walrus Site แบบง่าย ๆ 🚀
โลก Web3 ตอนนี้มาแรงสุด ๆ หนึ่งในของเล่นใหม่ที่น่าสนใจก็คือ Walrus Site ✨ มันคือการเอาเว็บไปฝากไว้บน เครือข่าย Walrus + Sui โดยไม่ต้องง้อเซิร์ฟเวอร์เอง พูดง่าย ๆ ก็คือ เราได้ โฮสติ้งแบบกระจายศูนย์ (decentralized hosting) ที่เข้าถึงได้ตลอดเวลา และไม่มีใครมาลบหรือปิดเว็บเราได้
ทำไม Walrus Site ถึงน่าสนใจ? 🤔
Serverless Deployment — อัปโหลดไฟล์เว็บตรงไปบน blockchain ไม่ต้องมีเซิร์ฟเวอร์
Ownership & Flexibility – เว็บเป็นของคุณโดยสมบูรณ์ สามารถโอนหรืออัปเดตได้ตลอด
NFT Integration – ผูกเว็บกับ Sui objects เช่น เว็บเฉพาะ NFT หรือโชว์คอลเลกชัน NFT ได้
High Availability — เพราะอยู่บนระบบกระจายศูนย์
SuiNS Domain — จดโดเมนผ่าน SuiNS
พร้อมไหม… มาเริ่มกันเลย (คำสั่งอาจจะแตกต่างกันไปแต่ละ OS นะ ในที่นี้เราใช้ Ubuntu ในการติดตั้ง)
เตรียมเครื่องมือที่จำเป็น
ติดตั้ง Rust
brew install rustup rustup-initติดตั้ง SUI CLI
brew install sui sui --version #ตรวจสอบว่าติดตั้งถูกต้องใหมสร้าง SUI wallet (เลือก ed25519 นะ)
sui client new-env --alias mainnet --rpc https://fullnode.sui.io:443 #เพื่อ activate clientขั้นตอนนี้สำคัญมากคือต้องเก็บ Secret Recovery Phrase ไว้นะห้ามหายเด็ดขาด และต้องมั่นใจว่าเก็บในสถานที่ ที่ปลอดภัยด้วย ซึ่งเราสามารถนำ Secret Phrase ไป import เข้ากระเป๋าได้ ซึ่งในที่นี้เเนะนำตัวนี้เลย Slush — A Sui wallet เป็นกระเป๋าหลักของ SUI
ติดตั้ง Walrus cli (https://docs.wal.app/usage/setup.html)
curl -sSf https://install.wal.app | sh walrus --help #ตรวจสอบว่าลงสำเร็จแล้วติดตั้ง site-builder
สำหรับ platform อื่นสามารถดูวิธีการติดตั้งเพิ่มเติมได้ที่ https://docs.wal.app/walrus-sites/tutorial-install.html
SYSTEM=macos-x86_64 # เปลี่ยนตาม OS ของคุณ curl https://storage.googleapis.com/mysten-walrus-binaries/site-builder-testnet-latest-$SYSTEM -o site-builder mv site-builder /usr/local/bin/ตรวจสอบว่าติดตั้งถูกต้องไหม
site-builder --helpเตรียม walrus site config
mkdir -p ~/.config/walrus/ curl https://raw.githubusercontent.com/MystenLabs/walrus-sites/refs/heads/mainnet/sites-config.yaml -o ~/.config/walrus/sites-config.yaml
เตรียมเว็บที่จะ deploy
เว็บต้องมี index.html เป็น entry point
ตัวอย่าง repo ของ Walrus โดยเราจะใช้เว็บตัวอย่าง walrus-snake สำหรับฝึก deploy กัน
git clone https://github.com/MystenLabs/example-walrus-sites.git cd example-walrus-sites
เตรียมเหรียญเพื่อใช้เป็นค่าใช้จ่ายสำหรับ Deploy
ก่อนอื่นเลยเราต้องมีเหรียญ SUI และ Warlus ก่อนสามารถเข้าไปหาซื้อได้ตาม exchange ต่างๆ ดูข้อมูลได้จากที่นี้ https://coinmarketcap.com/currencies/sui/ และ https://coinmarketcap.com/currencies/walrus-xyz/
หลังจากนั้นให้ดาวโหลด wallet extension ซึ่งในที่เราเลือกใช้ Slush — A Sui wallet (https://slush.app/) เมื่อติดตั้ง wallet extension เสร็จเรียบร้อยแล้ว ให้ import ค่า Secret Recovery Phrase จากขั้นตอนก่อนหน้า เเล้วทำการโอนเงินจาก exchange ไปที่กระเป๋าของเรานั้นเอง
(ส่วนนี้สำหรับมือใหม่ อาจจะ งงๆ นิดหน่อย เเต่โดยหลักการคือ เราต้องหาซื้อ token เพื่อมาใช้สำหรับการทำธุรกรรมเเละค่าธรรมเนียมนั้นเอง แนะนำว่าให้ซื้อประมาณ 1 SUI และ 2 Warlus tokens น่าจะเพียงพอละ หรือใครไม่มีก็ comment กระเป๋ามาเลย เดียวเราโอนให้เพื่อการเรียนรู้ :P )
อัปเว็บขึ้น Walrus
ใช้คำสั่งด้านล่างนี้เพื่อ upload เว็บไซด์ขึ้นไปเก็บยัง walrus (ใช้ SUI และ Walrus เล็กน้อยสำหรับค่าธรรมเนียม)
site-builder publish ./walrus-snake --epochs 1(epochs คืออายุของการเก็บรักษา object นั้น โดย 1 epoch จะมีค่าประมาณ 14 วัน)
หลังเสร็จ คุณจะได้ site object ID + URL ในขั้นตอนการทดสอบนั้นเราจะทำไป 2 แบบคือ ทดสอบผ่าน local host หรือทำการผูก site object id กับ SuiNs ซึ่งเราจะไปกันให้สุด นั้นคือไปจด Domain Name กันต่อ สำหรับใครอยากทดสอบผ่าน local host สามารถดูขั้นตอนได้ที่นี้นะ https://docs.wal.app/walrus-sites/portal.html#running-a-local-portal
การต่ออายุการใช้งาน
แน่นอนว่าเมื่อครบตามจำนวน epoch ที่กำหนดไว้ เราก็ต้องไม่ลืมต่ออายุการใช้งาน ซึ่งสามารถทำโดยเรียกใช้คำสั่งต่อไปนี้
site-builder update --epochs 1 ./walrus-snake 0xYourSiteObjectIDซึ่งก่อนทำการต่ออายุ จำเป็นจะต้องมีการเเก้ไขไฟล์ ก่อนที่จะทำการต่ออายุด้วยนะครับ หรือสามารถใช้ parameter
--force หากต้องการต่ออายุโดยไม่เปลี่ยนเนื้อหา ซึ่งเราสามารถต่ออายุได้สูงสุด 53 epochs (~2 ปี)
ผูกชื่อเว็บให้อ่านง่ายด้วย SuiNS
SuiNS คือ (Sui Name Service) คือ ระบบ Domain Name Service บนเครือข่าย Sui เปรียบเทียบได้เหมือน Domain name ที่เราคุ้นชินกันอยู่แล้วนั้นเอง พร้อมแล้วไปเริ่มกันเลย
ไป https://suins.io/ แล้วเชื่อมกับ wallet extension ที่ได้ทำการติดตั้งก่อนหน้า หลังจากนั้นค้นหา domain name ที่เราต้องการ

ในกรณีที่ Domain name ว่างเราก็สามารถที่จะเลือกซื้อ Domain เหล่านั้นได้ ทำการจ่ายเงินให้เรียบร้อย
ไปที่หน้า https://suins.io/account/my-names#your_name ทำการผูก site object ID เข้ากับ Domain name เป็นอันเสร็จสิ้น

เป็นไงครับ เหนื่อยกันไหมขั้นตอนอาจจะเยอะเพราะมีการติดตั้งหลายอย่างในครั้งแรก เเละนี้คือผลลัพธ์ที่เราได้มา https://onthemove.wal.app/ เว็บไซด์ที่จะไม่มีวันล่มอีกต่อไป ใครลองแล้วได้เว็บอะไรกันบ้าง เอามาแชร์ในคอมเมนต์ได้นะ
นี้เป็นเพียงตัวอย่างเริ่มต้นเท่านั้นนะ เดียวเจอกันใหม่รอบหน้า มาดูกันว่าเราจะพัฒนา dApp อะไรดี เพื่อดึงความสามารถของเจ้าสิงโตทะเล ให้ทำงานได้อย่างเต็มประสิทธิภาพ เจอกันนนน
By Tee | ContributionDAO





