มารับความรู้ฝั่ง web3 developer กับงาน Sui Workshop

Blockchain & Cryptocurrency May 5, 2024

สรุปงาน Sui Workshop ปรับพื้นฐาน blockchain 101 และเรียนรู้ภาษาใหม่ ๆ อย่าง Rust และ Move ที่จัดโดย Contribution DAO ร่วมกันกับทาง Sui และมีวิทยากรสุดพิเศษอย่างพี่หนูเนยด้วย

งานนี้จัดขึ้นที่ Contribution DAO hacker house G floor, CP Tower 3 ตึก A (ตึกที่มี KFC) มาได้โดยลง BTS พญาไท ทางออก 3

สถานที่เรียกว่าเปิดได้ไม่นาน เป็น office ของทาง Contribution DAO เขา เหมาะกับการจัดงานสเกลไม่ใหญ่มาก และนํ้าขนมไม่อั้น พร้อมพิซซ่าและไก่ทอดด้วยจ้า

ทางเราก็เป็น developer ฝั่ง web2 ที่ก็อยากเรียนรู้ฝั่ง web3 บ้าง แล้วงานนี้มีอะไร ไปดูกัน

Introduction to Sui network

ในวันนี้เป็นการปูพื้นฐานให้กับ web2 developer และคนที่จะมาเป็น web3 developer โดย objective คือสอนเรื่อง fundamental และการหาโอกาสในการทำเงิน

Blockchain 101

เข้าใจ fundamental ของ web3 และ role blockchain developer มีแต่ senior dev เพราะความผิดพลาดที่เกิดขึ้น ทำให้เสียเงินหลัก 100 ล้านเลยทีเดียว!

  • distributed database: เช่น SQL, MongoDB ซึ่งเป็น database กลาง ซึ่งตัว blockchain เป็น database ที่เกิดจากความ decentralize ที่ไม่มี database ตรงกลาง เช่น เราฝากเงิน 100 บาท แต่ละคนในระบบช่วยถือ database กันคนละตัว พอต้องการ confirm ธุรกรรม หรือ transaction ทุกคนรับรู้ และมีการ update บน blockchain
  • แล้วเก็บ data ยังไง? หลายคนทำ transaction ในเวลาเดียวกัน เลยต้องมายืนยันธุรกรรมพร้อมกัน ทำให้ 1 block ประกอบด้วยหลาย ๆ transaction อยู่ภายใน และต่อกันไปเรื่อย ๆ จนเป็น blockchain นั่นเอง
  • ซึ่งอันนี้มีนิยามเปลี่ยนไปเรื่อย ๆ ตามเวลา ในยุคนี้ก็มี consensus ฉันทามติร่วมกัน และ network ต่าง ๆ

Smart Contract 101

ถ้าเราทำอะไรมากกว่านี้บน blockchain ล่ะ คำถามนี้ Vitalik Buterin คิดอยู่ในใจ จนสุดท้ายเป็นเชน Etheruem ขึ้นมา จึงเกิดขึ้นในรูปแบบเดียวกัน แต่มี code อยู่ใน blockchain ด้วย มีการโอน และ exesute program และ state ต่าง ๆ ที่เกิดขึ้น ก็จะถูกเก็บไว้ใน block แต่ละตัวด้วย

The evaluation of Distributed Leader Technology

หรือเรียกสั้น ๆ ว่า DLT

ช่วงแรกจะเริ่มจาก Btcoin ที่โอนเงินได้อย่างเดียว สู่ EVM ที่ฝังโค้ดลงไปใน block และสามารถเก็บ state ได้ด้วย ถึงทำได้หลายอย่างขึ้น แต่มันช้า และ scale ยาก จึงมาเป็น Another EVM ที่หลาย ๆ เชนชอบพูดว่า ฉันคือ Etheruem Killer นะ แต่ยังไม่ได้เห็นว่าฆ่าได้จริง ๆ (ฮี่ฮี่) และมาสู่ non-EVM parallel เน้นที่การ execution อย่าง Sui

Sequential vs Parallel execution

แบบ Sequential เป็นการยืนยันธุรกรรมแบบ traditional รอยืนยันเสร็จทีละอัน เช่น Bitcoin

ส่วน Parallel มาหลัง non-EVM เป็นการแบ่งการยืนยันธุรกรรมที่มีกันคนละครึ่ง ทำให้ไวขึ้น ไม่ต้องรอนาน ทำให้ยืนยันได้หลักหมื่นถึงแสนธุรกรรม แต่ไม่ใช่เรื่องง่ายที่จะทำง่าย เลยมีภาษาการเขียนโปรแกรมใหม่ ๆ ออกมา

Blockchain Scalability

  • Sequential - vertical เครื่องเดียวเพิ่มของไปเรื่อย ๆ
  • Parallel - horizontal ใส่เครื่องเพิ่ม เอามาทำงานร่วมกัน รองรับ traffic ได้เยอะ รองรับธุรกรรมในอนาคตได้ยาว ๆ ได้

Introduction to Sui

  • เป็นเชน Layer 1 ที่เป็นแบบ DAG-base
  • สร้างโดย Mysten Labs
  • base จาก Diem Blockchain
  • สามารถ scale ได้เยอะ
  • แถมเป็นแบบ Parallel execution ด้วย
  • DPOS Consensus มี validator node
  • smart contract ใช้ภาษา Move ที่เป็น Rust ที่เปลี่ยนไปนิดเดียว ดังนั้นคนที่เขียน Rust ได้ จะเขียน Move ได้ ใน 3 2 1 ...
  • มีค่า fee ที่ถูกมากกกกกกก
  • จริง ๆ ทุกเชนทำได้ทุกอย่าง แต่ก็ต้องมีจุดเด่นที่เป็น marketing นิดนุง คือ Sui เขา focus เกี่ยวกับ game

Performance สามารถทำธุรกรรมเสร็จใน 3 2 1 เสร็จแล้วใน 3 วินาที! และใน 1 วินาที ได้ทั้งหมด 125,000 transactions ขึ้นไป แล้วค่า fee 0.0015 USD เท่ากับ เอ่ออออประมาณ 0.05 บาทเท่านั้น!

DAG หรือ Directed Acyclic Graph คือข้อมูลที่ไม่เกี่ยวข้อง สามารถทำข้ามไปข้ามมาได้ ไม่จำเป็นต้องต่อไปเรื่อย ๆ

หรือเราอาจจะมองเป็น node ก็ได้ ทำให้โยนไปมาจนได้ data มากสุด

และทั้งตัว Blockchain และ DAG มีคุณสมบัตินึงเหมือนกัน คือ ยืนยันแล้ว ไม่สามารถย้อนกลับได้นะจ๊ะ อย่าลืมข้อนี้เชียว

Solidity vs Rust

แน่นอนว่า Rust ถูกนำมาใช้ในโลก web3 เยอะมาก

ปัญหาของ Solidity คือ สร้างมาแบบใหม่มาก และโดน attrack แบบยังไม่ได้ติดล่วงหน้าว่าจะเกิดอะไรขึ้นเยอะมาก และค่อย ๆ improve มัน มี learning มากขึ้น

New VM เกิดจาก demand ต่าง ๆ ไม่ว่าจะเป็น low-level, memory safe, types safe ซึ่ง Solidity ไม่ตอบโจทย์นี้เท่ากับ Rust

และ Rust เป็น high-level of smart contract เหมาะกับเรื่องเงิน ๆ ทอง ๆ เพราะมีเรื่องของ typed safe

Rust and Move

ความเหมือน: Move ได้แรงบันดาลใจจาก Rust

ความต่าง: Move มองทุกอย่างเป็น object เช่น มี module ของ BasicCoin เป็น object ตัวนึง และคนอื่น ๆ สามารถใช้ module นี้ในการสร้าง coin ได้ด้วยเช่นกัน

Move code example

ในส่วนนี้เป็นการ live coding แบบเบา ๆ เป็นการทำ NFT บน ERC-721 ปกติแหละ เอ้อออ ไม่ต้อง coding ตามตอนที่คุณแก๊งอธิบายนะ ดูก่อนเดี๋ยวค่อยทำตามหลังน้า

ก่อนอื่นเลย setup sui กันก่อน มีหลากวิธีเลย

แบบ brew ชาว macos น่าจะใช้ตัวนี้กันเยอะ

brew install sui

และแบบ cargo

cargo install --locked --git https://github.com/MystenLabs/sui.git --branch testnet sui

อื่นใดดูที่ Github ของ Sui ได้เลย

GitHub - MystenLabs/sui: Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language
Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language - MystenLabs/sui
https://github.com/mystenlabs/sui

อันนี้ document ของทาง sui เอามาอ้างอิงได้นะ

Install Sui | Sui Documentation
Install the Sui framework and required prerequisites on your system, including the Sui command line interface to interact with the Sui network.
https://docs.sui.io/guides/developer/getting-started/sui-install

จากนั้นทำการสร้าง folder

sui move new sui_workshop

มันจะพาเราไปสู่ VS Code ที่เรารัก เอ้อมันมีไฟล์ toml เหมือน Android project ใหม่ ๆ ด้วยแหะ

ไปที่ sui_workshop.move อันนี้เป็น module ข้างในมี standard package ต่าง ๆ และสร้าง function mint_to_sender() เพื่อสร้าง NFT ใหม่ขึ้นมา

ตัวโค้ดลอกได้ที่นี่เลยยยย

sui/docs/content/guides/developer/sui-101/create-nft.mdx at c1dfdcdb3d8a80aa7706701920bb6307fb62a1dc · MystenLabs/sui
Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language - MystenLabs/sui
https://github.com/MystenLabs/sui/blob/c1dfdcdb3d8a80aa7706701920bb6307fb62a1dc/docs/content/guides/developer/sui-101/create-nft.mdx

เมื่ออะไรเรียกร้อยแล้ว พิมพ์ command นี้ เพื่อ compile และ build project

sui move build --skip-fetch-lastest-git-deps

โครงสร้างหลัก ๆ ของโปรเจกต์

Let's Deploy and Test!

เราจะมา deploy ลง testnet ของ Sui และ mint NFT กัน

โดยใช้ command นี้ในการ deploy ขึ้น testnet โดยการสร้าง transaction และฝังโค้ดกัน

sui client publish --gas-budget 50000000

และเราสามารถดูผลได้จาก suiscan นะ (รบกวนอ่านชื่อดี ๆ อย่าสะกดผิด555)

ตัว transaction data ที่ได้ เราจะเห็นว่าเราสร้างอะไรขึ้นมาบ้าง มี objet อะไรบ้าง และ MIST อันนี้คือตัวค่า gas เป็น 10^9 decimal ก็คือ 0.01 Sui นั่นเอง

จากนั้น mint NFT โดยตรงผ่าน command line

sui client ptb \
  --move-call {PackageID}::devnet_nft::mint_to_sender \
  --gas-budget 20000000

เจ้า PackageID เอามาจากตอน deploy มะกี้

เป็นการ transfer object อันนี้มองว่าเป็น object ของเจ้าของเดิม ซึ่งเจ้าของเดิมคือไม่มีเจ้าของแต่แรก เลย transfer

ผลที่ทำไปในวันนี้ แต่ใด ๆ ก่อนทำ สิ่งที่อย่าลืม คือไปเอา gas testnet ด้วยแหละ ไม่งั้นมันน่าจะทำ transaction ไม่ได้ป้ะ เขาน่าจะลืมบอกแหละ55555555

ปล. ตอนแรกเหมือนติดปัญหาตอน demo ซึ่งก็คลาสสิก ตอนซ้อมไม่เจอ เจอตอน demo เลยมา show หลัง session ที่ 2 ก่อนพักเบรก แต่เราเขียนรวบไปก้อนเดียว จะได้ไม่งง

Q and A

จดเท่าที่ได้

  • Rust design เป็น general ภาษา และ Move design เพื่อ blockchain และนำเอาความสามารถของ Rust มา และทั้งสองมี syntax, ชื่อ library, ชื่อ class ต่างกันนิดหน่อย และ Rust ทำบางอย่างบน Diam ไม่ได้
  • ตัว Sui มี local mode หรือ devnet ด้วยนะ

Making money as a Rust Developer on Sui

ในส่วนนี้คุณ Henry จากทาง Sui foundation เป็น Developer Relationship หรือเรียกสั้น ๆ ว่า DevRel กล่าวถึง developer ecosystem คร่าว ๆ โดยก่อนเข้าเนื้อหามีการทำแบบสอบถามเกี่ยวกับ Sui กันก่อน

ส่วนใหญ่ทราบ workshop นี้จาก Contribution DAO ละมีคนตอบพี่หนูเนยด้วย55555 ได้ยินผ่านงานนี้ช่องทาง Facebook เป็นหลัก คนที่มาส่วนใหญ่ไม่เคยมางาน hackathon มาก่อน อายุส่วนใหญ่เป็น first-jobber และทำงานมาสักพักแล้ว ประชากรส่วนใหญ่เป็น backend developer รองมาคือ frontend developer และทำงาน full-time กัน

จากนั้นเปิด video แนะนำตัว Sui คร่าว ๆ

https://www.youtube.com/watch?v=60dwcV8Xogg
https://www.youtube.com/watch?v=wbjJn2uUBX0

และมี developer conference มีเปิดตัว SuiPlayOX1 อุปกรณ์การเล่นเกมส์

https://twitter.com/SuiNetwork/status/1777990298385219986

โดยรวมจุดเด่นคือเน้นไปที่ game และมีการ log-in ผ่าน social account ต่าง ๆ เรียกว่า zkLogin

Sui overflow intro

  • Sui overflow เป็นกิจกรรม online hackathon ของทาง Sui ซึ่งจะจัดแข่งบน online 6 สัปดาห์ มีเงินรางวัลรวม 700,000 USD
  • กำหนดการงานคร่าว ๆ ตอนนี้เปิดรับสมัครแล้ว ปิด 31 พฤษภาคมนี้
  • สามารถเลือก track ที่เป็น product ไม่ว่าจะเป็น DeFi, Gaming, Infrastructure & Tools และ Mobile & Consumer และ technology ไม่ว่าจะเป็น Advenced Move Feature, Multichain, Randomness และ zkLogin
  • นอกจากรางวัลจะให้ผู้ชนะในแต่ละ track แล้ว นังมีฝั่ง ecosystem และมีรางวัลพิเศษเพิ่มด้วยน้า

ส่วนคนที่ได้ฝั่ง ecosystem มาแล้ว มาส่อง ที่นี่เลย

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
A new tool that blends your everyday work apps into one. It’s the all-in-one workspace for you and your team
https://suifoundation.notion.site/Sui-Overflow-Hackathon-Ecosystem-Project-Prize-Information-49c2049ecdf445c6aae2d8ff2417006f
  • เขามี roadshow ของกิจกรรมนี้ ชื่อว่า "Road to Overflow" เป็นกิจกรรมมาพบปะตามงาน dev meetup ใน 9 เมือง โดยกรุงเทพ ประเทศไทย คืองานวันนี้แหละ5555555
  • สามารถเข้าไปดูรายละเอียด และสมัครได้ที่
Sui Overflow | Sui’s First Global Hackathon
Join Sui Overflow, Sui’s first global hackathon. Builders from around the world will explore innovation on Sui across 8 tracks and compete for prizes.
https://sui.io/overflow

ส่วนอันนี้ Discord

Join the Sui Overflow Discord Server!
Check out the Sui Overflow community on Discord - hang out with 1145 other members and enjoy free voice and text chat.
https://discord.com/invite/SHwntaC4Up

จากนั้นเปิด video success story จากทีมที่แข่ง hackathon

https://www.youtube.com/watch?v=rQSoAY7RKkk

Grants

Sui Grants | Apply to Receive Funding for Your Project
Apply for a Sui grant, proudly supporting developers, educators, researchers, and dedicated community members driving the adoption and advancement of Sui.
https://sui.io/grants-hub
  • มี guideline ในการเขียน proposal ส่ง
  • application process
  • ตอนนี้ได้กันไป 80 project รวมเป็นเงิน 4.72 ล้านดอลล่า!

จากนั้นพักเบรก และหยิบพิซซ่ามากิน ตอนกินก็ฟัง session ถัดไปด้วย พิซซ่าแบบเราชอบด้วยล่ะ แบบอบหม้อดินเผางี้

Success story

เน้นเรื่อง career เกี่ยวกับโอกาสการทำงาน และประสบการณ์การทำงานในระดับโลก

เริ่มมาที่สาย non-tech ก่อนอย่างคุณ England เป็น moderator ของ Sui มีหน้าที่ในการตอบคำถามของ community เป็นหลัก รวมถึงการกระจายข่าวประชาสัมพันธ์ในคอมมู

งานนี้ flexible สุด ๆ เพราะสามารถทำจากที่ไหนก็ได้ ทำตอนไหนก็ได้ แต่ก็ต้องมีผลลัพธ์ให้เห็นด้วยนะ การทำงานคุยกับทีม Sui บ่อย

ส่วนเงินเดือนจะตามผลงาน และมี bonus ด้วย มี range อยู่ที่ 800 - 1,500 USD ต่อเดือน นอกจากเงินเดือนแล้วยังมี benefit อื่น ๆ อย่างการไปงาน blockchain ที่ Paris เขาก็ support ให้

และ Sui เองมี ambassador program สำหรับสาย contribute ด้วยนะ ทางนี้แอบไปดูแล้วรอบแรกปิดไปล่ะ รอบต่อไปก็ติดตามข่าวเอาเอง

ส่วนสาย tech แน่นอนว่าเป็นงาน developer มีโอกาสข้างนอกเยอะมาก อย่างฝั่ง Sui คนชนะงาน hackathon เขาได้ grants ถ้าทำได้จริง และมีความจริงจัง อีกทั้งยังได้พบ angle และ vc ด้วย

และอันนี้คือโปรเจกต์ที่ได้ grants

เมื่อวานนี้ Sui มีอายุครบ 1 ขวบพอดี แล้วทำอะไรไปบ้างนะ?

  • ตอนนี้มี DEX Volume รองจาก Solana ในสาย non-EVM
https://twitter.com/Torero_Romero/status/1784937578468090187
  • TVL โตมาก จาก liquid staking
  • project บน Sui ที่ raise fund คร่าว ๆ

สำหรับ career สาย developer นั้น

  • เงินเดือนแบบเฉลี่ยของแต่ละสายงาน ฝั่ง Mobile Developer ดูเงินน้อยจุง  แต่เอาจริง ๆ มันก็ห่างกันไม่เยอะ ยังพอมีกำลังใจ555555 Flutter คือน้อยสุดในนี้ เดฟสาย AI ได้เงินเยอะก็ไม่น่าแปลกอะไรมั้ง ช่วงนี้กำลังมา
  • ปีที่แล้วงานใหม่มาแบบ build-on-bear จึงมีการ recruit เยอะในปีที่แล้ว ในปีนี้ลดลง ทำให้คู่แข่งของเราลดลงด้วย
  • ถ้าดูตามทวีป เอเชียแทบจะน้อยสุดเลย แต่ถ้ามาทำ remote คือเงินเดือนจะสูงขึ้นเยอะ

ข้อมูลสถิติเกี่ยวกับงาน developer สาย web3 สามารถดูได้ที่นี่เลย

Web3 Developer Salary - May 2024
How much do Web3 Developers get paid? The average Web3 developer salary is $135k - $200k per year.
https://web3.career/web3-salaries

แล้วของ Sui เองเขาก็มี job board เช่นกัน ไปส่องได้ที่นี่เลย

Sui Job Board
Search job openings across the Sui network.
https://jobs.sui.io/jobs

skill ที่เกี่ยวข้อง นอกจาก programming แล้ว ภาษาอังกฤษสำคัญมากกกกก ๆๆๆๆ

แนะนำให้มองหาโอกาสต่าง ๆ ทั้งมาร่วมงาน community tech base และ hackathon รวมถึงการเข้าสังคม ในเรื่อง culture ก็สำคัญ เขาจะเริ่มแนะนำเราเมื่อทำกิจกรรมด้วยกัน 4 ครั้ง

ถ้าจากประสบการณ์ของนี่เองไม่ค่อยมี connection สายเดฟขนาดนั้นแหละ เราสร้าง connection ไม่ค่อยเก่ง อาศัยไปงานแล้วเขียนบล็อกบ่อย55555555 ได้พี่ ๆ เพื่อน ๆ น้อง ๆ ในวงการที่น่ารัก นิสัยดี เป็นสัมพันธไมติ๊ดที่ดี ถึงอยู่กันแบบคนละคอมมูเดฟ แต่ก็มีอะไรก็ช่วยกัน ถาม ๆ กันได้ ไม่ได้แบ่งพรรคพวกเหมือนบางวงการนะ แบบกลุ่มใครกลุ่มมันอะไรงี้

Networking

ก่อน networking ถ่ายรูปกันก่อน ซึ่งรูปเซลฟี่นี้พี่เนยถ่ายแล้วตั้งถ่ายแบบอเมซิ่งมาก แบบถือชิดกำแพงเลยล่ะ และนี่คือภาพที่ได้ อย่างเท่ค้าบบ

https://twitter.com/contributedao/status/1786747626396021186

ไม่มีอะไรมาก ก็ปรึกษาปัญหาชีวิตกับพี่เนย แล้ววงเม้าเริ่มขยาย หลัก ๆ ก็เกี่ยวกับ career path และสายงานในอนาคตอะไรงี้แหละ สายเดฟ burn-out ได้ง่าย และหาลู่ทางใหม่ทุก 6 - 7 ปี ตอนนี้เทคอัพเดตทุกอาทิตย์จนตามกันไม่ทันล่ะ

เอ้อออคอมมูเดฟในไทยบางสายคือคนไม่รวมตัวกัน เลยไม่เกิด community ที่ทำกิจกรรมต่าง ๆ แบบนี้ขึ้นมา ถ้าอย่างที่ success เช่น ของฝั่ง Android Developer ที่มีอินฟูเอนเซอร์อย่างพี่เอก ที่เป็น Android GDE ที่ทำแอพรวมมิจอ่ะ เป็นแกนนำ แล้วเราเองก็เป็น Android Developer ในคอมมูนี้ด้วย คอมมูมีงานอะไรก็ช่วย ๆ กันรัน อิอิ จริง ๆ อีกสาเหตุนึงที่มันเกิด community ขึ้นมาได้ก็อินฟูด้วยส่วนนึง ที่ lead คนมารวมตัวกัน

จากนั้นเราก็ขอตัวกลับก่อน แหะ ๆ ในเมื่อยังพอมีเวลาเหลือเลยไปเดินงานน้องอาเนีย แล้วค่อยกลับบ้าน เพื่อพบว่าเลื่อนประชุม555

ทั้งหมดก็จะประมาณนี้เนอะ เราได้รู้จักภาษา Move มากขึ้นคืออะไร Sui เขียนด้วยภาษา Move ที่มีรากฐานจาก Rust และต่างคนต่างเติบโตในทางของตัวเอง แน่นอนว่าได้ความรู้มากมาย พิซซ่าแสนอร่อย แอร์เย็น ๆ แต่เก้าอี้นั่งนานอาจจะไม่ไหวฮับ


ติดตามข่าวสารตามช่องทางต่าง ๆ และทุกช่องทางโดเนทกันไว้ที่นี่เลย แนะนำให้ใช้ tipme เน้อ ผ่าน promptpay ได้เต็มไม่หักจ้า

ติดตามข่าวสารแบบไว ๆ มาที่ Twitter เลย บางอย่างไม่มีในบล็อก และหน้าเพจนะ

Tags

Minseo Chayabanjonglerd

I am a full-time Android Developer and part-time contributor with developer community and web3 world, who believe people have hard skills and soft skills to up-skill to da moon.