ชื่อเดิม: "การกำหนดสแต็ก web3"
ผู้เขียนต้นฉบับ: Nader Dabit
การรวบรวมข้อความต้นฉบับ: สมาชิกของชุมชนกราฟ
ต้องการสร้างบน web3 หรือไม่ Nader Dabit ชี้ให้เห็นองค์ประกอบพื้นฐานของเทคโนโลยี web3 ในคำแนะนำเบื้องต้น
ในบทต่อไปของ "การสร้างบน web3" วิศวกรความสัมพันธ์ของนักพัฒนา Edge & Node Nader Dabit จะอธิบายถึงสแต็กของ web3 และวิธีที่นักพัฒนาสร้างแนวคิดในการสร้างชั้นต่างๆ ของการสร้างบน web3
ฉันเปลี่ยนไปใช้ web3 ในเดือนเมษายน 2021 หลังจากเป็นนักพัฒนาฟูลสแต็กแบบดั้งเดิมมาประมาณ 10 ปี ในขณะที่ดำดิ่งสู่เทคโนโลยีและแนวคิดใหม่ๆ เหล่านี้ สิ่งแรกที่ฉันสงสัยคือ "web3 stack คืออะไร"
เมื่อสร้างเว็บแบบดั้งเดิมหรือแอปบนอุปกรณ์เคลื่อนที่ ฉันมักจะพึ่งพาองค์ประกอบการสร้างบางอย่างเพื่อให้งานสำเร็จลุล่วง:
- API/เซิร์ฟเวอร์แอปพลิเคชัน (REST หรือ GraphQL)
- ชั้นการรับรองความถูกต้อง (จัดการหรือด้วยตนเอง)
- ฐานข้อมูล
- กรอบไคลเอ็นต์ แพลตฟอร์ม และไลบรารี
- ที่เก็บไฟล์
เมื่อใช้ส่วนประกอบหลักเหล่านี้ ฉันสามารถสร้างแอปพลิเคชันได้เกือบทุกประเภทตามต้องการ หรืออย่างน้อยก็บรรลุวัตถุประสงค์ส่วนใหญ่ของฉัน ดังนั้นสิ่งนี้มีลักษณะอย่างไรใน web3
ปรากฎว่า คำตอบสำหรับคำถามนี้ไม่ตรงไปตรงมานัก เนื่องจาก:
- กระบวนทัศน์นี้มีความแตกต่างอย่างสิ้นเชิงในหลายๆ ด้าน
- เครื่องมือ เทคโนโลยี และระบบนิเวศของ web3 ยังไม่พัฒนาเท่า web2
นอกจากนี้ ยังยากสำหรับฉันที่จะเข้าใจวิธีเริ่มต้นใช้งาน และสร้างแอปพลิเคชัน web3 เพราะฉันเข้าถึงสิ่งต่างๆ แบบเดียวกับที่ฉันทำในโลกของ web2
หลังจากทำงาน ค้นคว้า ทดลอง และสร้างในช่วง 8 เดือนที่ผ่านมา ผมอยากแบ่งปันสิ่งที่คุณได้รับรู้มา
web3 คืออะไร?
Web3 เป็นโปรโตคอลสแต็กสำหรับแอปพลิเคชันที่กระจายอำนาจอย่างสมบูรณ์
Web3 เป็นโปรโตคอลสแต็กสำหรับแอปพลิเคชันที่กระจายอำนาจอย่างสมบูรณ์
ด้วยชุดเทคโนโลยีแบบกระจายอำนาจนี้ เราสามารถเริ่มสร้างแอปพลิเคชันแบบกระจายอำนาจ ซึ่งมีความหมายและลักษณะเฉพาะของตนเอง
คุณสมบัติบางอย่างของ web3 คือ:
- โครงสร้างพื้นฐานเครือข่ายแบบกระจายอำนาจ
- ความเป็นเจ้าของ (ข้อมูล เนื้อหา และแพลตฟอร์ม)
- การชำระเงินดิจิทัลในท้องถิ่น
- อัตลักษณ์ที่มีอำนาจอธิปไตยในตนเอง
- โครงสร้างพื้นฐานแบบกระจาย เชื่อถือได้ และแข็งแกร่ง
- แบ็กเอนด์แบบเปิด สาธารณะ และประกอบได้
ในขณะที่บางแอปพลิเคชันที่สร้างขึ้นบนสแต็กเทคโนโลยีแบบกระจายศูนย์จะแทนที่รุ่นก่อนหน้า แต่ภาษาถิ่นใหม่ที่เปิดใช้งานโดยบล็อกเชนยังเปิดใช้งานกระบวนทัศน์แอปพลิเคชันใหม่อีกด้วย
การชำระเงินแบบดิจิทัลแบบเนทีฟและโครงสร้างพื้นฐานส่วนหลังทั่วไป เช่น การเรียนรู้ของเครื่อง อุปกรณ์พกพา ความจริงเสมือน และเทคโนโลยีดั้งเดิมอื่นๆ แพลตฟอร์ม และบล็อกการสร้าง ช่วยให้สามารถสร้างแอปพลิเคชันประเภทใหม่ๆ ได้ทั้งหมด ซึ่งบางประเภทยังไม่มีใครจินตนาการถึง
นี่หมายความว่าทุกอย่างจะถูกแทนที่ด้วย web3 หรือไม่ ไม่แน่นอน ในขณะที่ฉันคิดว่าสำหรับแอปพลิเคชันบางประเภท การสร้างกลุ่มเทคโนโลยีแบบกระจายอำนาจเป็นตัวเลือกที่ดีกว่า เช่นเดียวกับการตัดสินใจด้านเทคโนโลยีเกือบทุกชนิด แต่ขึ้นอยู่กับสิ่งที่คุณกำลังสร้าง
ตอนนี้เรามาเริ่มขุดลงในสแต็คของ web3 โดยแบ่งออกเป็นหมวดหมู่ต่อไปนี้:
- บล็อกเชน
- สภาพแวดล้อมการพัฒนา Blockchain
- ที่เก็บไฟล์
- ฐานข้อมูล P2P
- API (ดัชนีและแบบสอบถาม)
- ตัวตน
- ลูกค้า (เฟรมเวิร์กและไลบรารี)
บล็อกเชน
บล็อกเชน
มีบล็อคเชนนับไม่ถ้วนที่คุณสามารถเลือกสร้างได้ ไม่มีใครอยู่"ที่สุด"คุณควรพิจารณาการแลกเปลี่ยนระหว่างกัน
สิ่งหนึ่งที่มักสำคัญสำหรับฉันเมื่อเรียนรู้สิ่งใหม่ๆ คือการใช้หลักการพาเรโตกับสิ่งที่ฉันกำลังเรียนรู้ นั่นคือ วิธีที่มีประสิทธิภาพที่สุดในการได้รับผลลัพธ์ตามระยะเวลาและความพยายามนั้นคืออะไร ตามแนวคิดนี้ ฉันสามารถเรียนรู้สิ่งใหม่ๆ ในระยะเวลาที่สั้นที่สุด ในขณะที่ได้รับแรงผลักดันและแรงจูงใจมากที่สุด
ในพื้นที่บล็อกเชน การเรียนรู้ Solidity และ EVM (หรือ Ethereum Virtual Machine) น่าจะเป็นสิ่งที่ดีที่สุดเมื่อเริ่มต้นเป็นนักพัฒนาบล็อกเชน การใช้ชุดทักษะนี้ (และสแต็คเทคโนโลยี) คุณสามารถสร้างไม่เพียงแต่สำหรับ Ethereum เท่านั้น แต่ยังสำหรับ Ethereum ชั้นที่สอง, sidechains และแม้แต่บล็อกเชนอื่น ๆ เช่น Avalanche, Fantom และ Celo
ที่กล่าวว่า Rust กำลังเริ่มเป็นที่นิยมมากขึ้นในพื้นที่บล็อกเชน ด้วยการสนับสนุน Rust ที่ยอดเยี่ยมจาก Solana, NEAR, Polkadot และอื่น ๆ คุณอาจจะคิดไม่ผิดที่จะเรียนภาษาใดภาษาหนึ่ง แต่สำหรับผู้เริ่มต้น หากมีคนถามฉันในวันนี้ ฉันจะบอกว่า Solidity ยังคงเป็นตัวเลือกที่ดีกว่า
นอกเหนือจากคำแนะนำเหล่านี้แล้ว ต่อไปนี้คือตัวอย่างที่ไม่ครอบคลุมของบล็อกเชนที่มีการผสมผสานอย่างลงตัวของเทคโนโลยี ยูทิลิตี้ ชุมชน โมเมนตัม และศักยภาพในอนาคต:
- Ethereum - แพลตฟอร์มสัญญาอัจฉริยะดั้งเดิม
- ZKrollups:ZKSync, Starknet,Hermez - ปริมาณงานสูง Ethereum เลเยอร์ 2 แต่เข้ากันไม่ได้กับ EVM
- การยกเลิกในแง่ดี: Arbitrum & Optimism - Ethereum เลเยอร์ 2 เข้ากันได้กับ EVM (อ่านเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างการยกเลิกในแง่ดีและ ZKrollups ที่นี่)
- รูปหลายเหลี่ยม - Ethereum sidechain
- Solana - ปริมาณงานสูง ต้นทุนการทำธุรกรรมต่ำ เวลาบล็อกที่รวดเร็ว แต่เรียนรู้ได้ยากกว่า EVM (Rust)
- ใกล้ - บล็อกเชนพื้นฐาน สัญญาอัจฉริยะสามารถเขียนใน Rust หรือ Assemblyscript
- Cosmos - ระบบนิเวศของบล็อกเชนที่ทำงานร่วมกันได้
- Polkadot - แพลตฟอร์มคอมพิวเตอร์ที่ใช้บล็อกเชนซึ่งช่วยให้บล็อกเชนที่สร้างขึ้นด้านบนสามารถดำเนินธุรกรรมระหว่างกัน สร้างอินเทอร์เน็ตของบล็อกเชนที่เชื่อมต่อถึงกัน
- Fantom - บล็อกเชนพื้นฐานที่เข้ากันได้กับ EVM
- หิมะถล่ม - บล็อกเชนพื้นฐานที่เข้ากันได้กับ EVM
- Celo - บล็อกเชนพื้นฐานที่เข้ากันได้กับ EVM ออกแบบมาเพื่อให้ทุกคนที่มีสมาร์ทโฟนสามารถส่ง รับ และจัดเก็บ cryptocurrencies ได้ง่าย
- Tezos - บล็อกเชนพื้นฐานที่ไม่รองรับ EVM โครงการ NFT จำนวนมากกำลังใช้งานอยู่
สภาพแวดล้อมการพัฒนา Blockchain
สำหรับการพัฒนา EVM มีสภาพแวดล้อมการพัฒนาที่ดีหลายประการ:
- หมวกนิรภัย (JavaScript) เป็นตัวเลือกที่ใหม่กว่า แต่ก็ได้รับความนิยม เอกสารของพวกเขานั้นยอดเยี่ยม เครื่องมือและประสบการณ์ของนักพัฒนาก็ยอดเยี่ยม และโดยส่วนตัวแล้วฉันใช้มันตลอดเวลาเพื่อสร้างแอปพลิเคชันแบบกระจายศูนย์
- Truffle (JavaScript) เป็นชุดเครื่องมือสำหรับสร้างและพัฒนาแอปพลิเคชันบน EVM มันโตเต็มวัย ผ่านการทดสอบและจัดทำเป็นเอกสารอย่างดี มันมีมาระยะหนึ่งแล้วและนักพัฒนาหลายคนก็ใช้มัน
- Foundry เป็นสภาพแวดล้อมการพัฒนา Solidity ใหม่จาก Paradigm ซึ่งแสดงให้เห็นถึงคำมั่นสัญญาที่ยอดเยี่ยม คุณสมบัติหลักคือความสามารถในการเขียนการทดสอบใน Solidity รองรับ fuzzing และความเร็ว (เขียนด้วย Rust) ฉันเขียนคำแนะนำแยกต่างหากที่นี่
- Brownie เป็นกรอบการพัฒนาและทดสอบสัญญาอัจฉริยะที่ใช้ Python สำหรับการพัฒนา Solidity/EVM
ที่เก็บไฟล์
ที่เก็บไฟล์
เราจัดเก็บรูปภาพ วิดีโอ และไฟล์อื่นๆ ใน web3 ไว้ที่ไหน? การจัดเก็บไฟล์ขนาดใหญ่บนเครือข่ายมักจะมีราคาแพงมาก ดังนั้นเราอาจไม่ต้องการเก็บไฟล์เหล่านั้นไว้ที่นั่น
เราสามารถใช้หนึ่งในโปรโตคอลการจัดเก็บไฟล์จำนวนหนึ่งแทน:
- IPFS - โปรโตคอลระบบไฟล์แบบเพียร์ทูเพียร์
- ข้อดี: มีความน่าเชื่อถือ มีเอกสารที่ดี มีระบบนิเวศขนาดใหญ่
- ข้อเสีย: หากไม่ได้รับการแก้ไข ข้อมูลจะสูญหาย
- Arweave - อนุญาตให้คุณจัดเก็บข้อมูลอย่างถาวรโดยมีค่าธรรมเนียมการทำธุรกรรมหนึ่งครั้ง ฉันเป็นแฟนของ Arweave และเขียนบล็อกโพสต์เกี่ยวกับเรื่องนี้ที่นี่
- Filecoin - จาก Protocol Labs ซึ่งเป็นทีมเดียวกับที่สร้าง IPFS ซึ่งเป็นโปรโตคอลที่ออกแบบมาเพื่อจัดเตรียมระบบการจัดเก็บข้อมูลถาวร เป็นเรื่องดีที่มีวิธีการสำหรับนักพัฒนาในการสร้าง Filecoin รวมถึง web3.storage
- Skynet - ฉันยังไม่ได้ใช้สิ่งนี้ในการผลิต แต่ได้ลองใช้แล้วและดูเหมือนว่าจะทำงานได้ดี API ที่นี่ดูดี ฉันมีคำถามบางอย่าง เช่น ความคงอยู่ของข้อมูลนานแค่ไหน และการทำงานร่วมกันของ Skynet กับโปรโตคอลอื่นๆ
ฐานข้อมูล P2P
นอกจากพื้นที่จัดเก็บไฟล์และพื้นที่จัดเก็บแบบออนไลน์แล้ว คุณอาจต้องจัดเก็บข้อมูลแบบออฟไลน์ด้วย คุณสามารถใช้โซลูชันประเภทนี้ได้คล้ายกับวิธีที่คุณใช้ฐานข้อมูลใน tech Stack แบบดั้งเดิม แต่จะถูกจำลองแบบข้ามโหนด N บนเครือข่ายแบบกระจายศูนย์ และทำให้มีความน่าเชื่อถือมากกว่า (อย่างน้อยก็ในทางทฤษฎี)
ตัวเลือกบางอย่างคือ:
- Ceramic Network - แพลตฟอร์มโอเพ่นซอร์สแบบกระจายอำนาจสำหรับการสร้าง โฮสต์ และแบ่งปันข้อมูล เซรามิกยังมีโปรโตคอลการระบุตัวตนที่ดี ซึ่งฉันจะกล่าวถึงในภายหลัง อาจเป็นโซลูชันการจัดเก็บข้อมูลแบบออฟไลน์ที่ฉันชื่นชอบในปัจจุบัน นี่คือตัวอย่างที่ดีทีเดียว
- Textile ThreadDB - ฐานข้อมูลหลายฝ่ายที่สร้างขึ้นบน IPFS และ Libp2p หากฉันเข้าใจถูกต้อง อาจมีการเปลี่ยนแปลง API ครั้งใหญ่ในขณะนี้ ฉันลองใช้แล้วและแสดงโอกาสบางอย่าง แต่เอกสารประกอบและ DX จำเป็นต้องได้รับการปรับปรุง
- GunDB - ฐานข้อมูลแบบ peer-to-peer แบบกระจายศูนย์ ปืนมีมาระยะหนึ่งแล้วและมีแอปพลิเคชั่นที่น่าสนใจบางตัวถูกสร้างขึ้นมาด้วย
ในแง่ของความเป็นผู้ใหญ่ ฉันมองว่าระบบนิเวศของโซลูชันการจัดเก็บข้อมูลแบบออฟไลน์ยังไม่ถึงระดับที่จำเป็นในการสร้างกรณีการใช้งานขั้นสูงที่นักพัฒนาบางรายอาจต้องการ ความท้าทายบางประการที่นี่คือข้อมูลสด การตรวจจับและแก้ไขความขัดแย้ง การอนุญาตการเขียน เอกสารประกอบ และประสบการณ์ทั่วไปของนักพัฒนา
การรวมโซลูชันข้อมูลนอกเชนเข้ากับโปรโตคอลบล็อกเชนเป็นหนึ่งในอุปสรรคใหญ่สุดท้ายที่เราต้องข้ามไปก่อนที่เราจะมีสแต็กโปรโตคอลที่กระจายอำนาจอย่างสมบูรณ์ซึ่งสามารถรองรับแอปพลิเคชันประเภทใดก็ได้
API (ดัชนีและข้อความค้นหา)
วิธีที่เราโต้ตอบและสร้างบนบล็อกเชนนั้นแตกต่างอย่างมากจากฐานข้อมูลในกองเทคโนโลยีแบบดั้งเดิม ด้วยบล็อกเชน ข้อมูลจะไม่ถูกจัดเก็บในรูปแบบที่สามารถใช้งานโดยตรงจากแอปพลิเคชันอื่นหรือฟรอนต์เอนด์ได้อย่างมีประสิทธิภาพหรือง่ายดาย
Blockchains ได้รับการปรับให้เหมาะสมสำหรับการดำเนินการเขียน คุณมักจะได้ยินเกี่ยวกับนวัตกรรมที่เน้นการทำธุรกรรมต่อวินาที เวลาบล็อก และต้นทุนการทำธุรกรรม ข้อมูลบล็อกเชนถูกเขียนในบล็อกในช่วงเวลาหนึ่ง ทำให้การดำเนินการอ่านทั้งหมดยกเว้นขั้นพื้นฐานเป็นไปไม่ได้
ในแอปพลิเคชันส่วนใหญ่ คุณจำเป็นต้องมีฟังก์ชัน เช่น ข้อมูลเชิงสัมพันธ์ การเรียงลำดับ การกรอง การค้นหาข้อความแบบเต็ม การแบ่งหน้า และการสืบค้นประเภทอื่นๆ อีกมากมาย ในการทำเช่นนี้ ข้อมูลจำเป็นต้องได้รับการจัดทำดัชนีและจัดระเบียบเพื่อการดึงข้อมูลที่มีประสิทธิภาพ
ตามเนื้อผ้า นี่คือสิ่งที่ฐานข้อมูลทำในสแต็กเทคโนโลยีแบบรวมศูนย์ แต่เลเยอร์การทำดัชนีหายไปในสแต็ก web3
Graph ซึ่งเป็นโปรโตคอลสำหรับการจัดทำดัชนีและการสืบค้นข้อมูลบล็อกเชน ทำให้กระบวนการนี้ง่ายขึ้นและมอบโซลูชันแบบกระจายศูนย์สำหรับการทำเช่นนั้น ทุกคนสามารถสร้างและเผยแพร่ GraphQL API แบบเปิดที่เรียกว่ากราฟย่อย ซึ่งทำให้สืบค้นข้อมูลบล็อกเชนได้ง่าย
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับกราฟ โปรดดูเอกสารที่นี่ (https://thegraph.com/docs/) หรือบทช่วยสอนของฉันที่นี่ (https://dev.to/dabit3/building-graphql-apis- on-ethereum-4poa ).
การรับรองความถูกต้อง
ใน web3 การรับรองความถูกต้องเป็นกระบวนทัศน์ที่แตกต่างไปจากเดิมอย่างสิ้นเชิง ใน web2 การรับรองความถูกต้องจะขึ้นอยู่กับข้อมูลส่วนบุคคลของผู้ใช้แทบทุกครั้ง โดยปกติข้อมูลนี้จะถูกรวบรวมผ่านแบบฟอร์มหรือผู้ให้บริการ OAuth และผู้ใช้จะต้องยอมจำนนข้อมูลนี้เพื่อแลกกับการเข้าถึงแอปพลิเคชัน
ใน web3 ข้อมูลประจำตัวจะหมุนรอบแนวคิดของกระเป๋าเงินและการเข้ารหัสรหัสสาธารณะทั้งหมด
กระเป๋าสตางค์"กระเป๋าสตางค์"ชื่อนี้มีจุดประสงค์ แต่ฉันพบว่าคำนี้สับสนสำหรับผู้ที่เพิ่งเริ่มใช้ web3 เนื่องจากเกี่ยวข้องกับการรับรองความถูกต้องและตัวตน ฉันหวังว่าในอนาคตเราจะสามารถหาวิธีอื่นในการแสดงว่ากระเป๋าเงินคืออะไร เพราะมันไม่ได้รวมเฉพาะแง่มุมของการเงินเท่านั้น แต่ยังรวมถึงตัวตนและชื่อเสียงด้วย
ในฐานะนักพัฒนา คุณจะต้องเข้าใจวิธีการเข้าถึงและโต้ตอบกับกระเป๋าเงินและที่อยู่ของผู้ใช้ในรูปแบบต่างๆ
ในระดับพื้นฐาน (และเป็นข้อกำหนดทั่วไป) คุณอาจต้องการขอการเข้าถึงกระเป๋าเงินของผู้ใช้ ในการทำเช่นนี้ โดยปกติคุณสามารถเข้าถึงกระเป๋าเงินของผู้ใช้ในสภาพแวดล้อมของ Windows (เว็บเบราว์เซอร์) หรือใช้อะแดปเตอร์กระเป๋าเงิน เช่น WalletConnect หรือ Solana
ตัวอย่างเช่น หากพวกเขามีกระเป๋าเงิน Ethereum คุณจะสามารถเข้าถึง window.ethereum ได้ เช่นเดียวกับ Solana (window.solana), Arweave (window.arweaveWallet) และกระเป๋าเงินอื่นๆ อีกจำนวนหนึ่ง WalletConnect นั้นยอดเยี่ยมสำหรับเว็บมือถือและ React Native เพราะอนุญาตให้ผู้ใช้อนุญาตด้วยกระเป๋าเงินมือถือโดยตรงจากอุปกรณ์
หากคุณต้องการจัดการการรับรองความถูกต้องด้วยตนเอง คุณสามารถให้ผู้ใช้ลงนามในธุรกรรม จากนั้นถอดรหัสที่ใดที่หนึ่งเพื่อรับรองความถูกต้องของผู้ใช้ แต่โดยทั่วไปแล้ว การดำเนินการนี้ต้องใช้เซิร์ฟเวอร์ นี่คือตัวอย่างการใช้กระเป๋าเงิน EVM และนี่คือตัวอย่างการใช้ Solana/Phantom
แล้วการจัดการโปรไฟล์ผู้ใช้ในลักษณะกระจายอำนาจล่ะ? Ceramic Network มีชุดโปรโตคอลและเครื่องมือที่ทรงพลังที่สุดสำหรับการจัดการข้อมูลประจำตัวแบบกระจายอำนาจ พวกเขาเพิ่งเผยแพร่บล็อกโพสต์สรุปการอัปเดตล่าสุดบางส่วนและให้คำแนะนำเกี่ยวกับการทำงานร่วมกันของเครื่องมือทั้งหมด ฉันต้องการเริ่มต้นที่นั่น จากนั้นสำรวจเอกสารของพวกเขาเพื่อทำความเข้าใจเกี่ยวกับวิธีเริ่มสร้าง และลองดูตัวอย่างโครงการของฉันที่นี่โดยใช้ Ceramic self.id
หากคุณต้องการรับบันทึกข้อความ ENS ของผู้ใช้ ไลบรารี ensjs จัดเตรียม API ที่ดีเพื่อรับข้อมูลผู้ใช้:
SpruceID เป็นสิ่งที่ดูดี แต่ฉันยังไม่ได้ลอง
ทั้ง Ceramic และ Spruce ใช้ข้อกำหนด DID ของ W3C ซึ่งเป็นสิ่งที่ฉันคิดว่าเป็นส่วนหนึ่งของ web3 ในกรณีนี้ การนำ DID ไปใช้แบบรวมศูนย์จะขัดกับข้อกำหนดที่พยายามบรรลุ
ลูกค้า
ตราบใดที่เฟรมเวิร์ก JavaScript ดำเนินไป คุณสามารถสร้างด้วยสิ่งที่คุณต้องการจริงๆ เนื่องจาก SDK บล็อกเชนฝั่งไคลเอ็นต์นั้นส่วนใหญ่ไม่เชื่อเรื่องเฟรมเวิร์ก ที่กล่าวว่าโครงการและตัวอย่างส่วนใหญ่สร้างขึ้นใน React นอกจากนี้ยังมีไลบรารี เช่น Solana Wallet Adapter ที่มีเครื่องมือเพิ่มเติมสำหรับ React ดังนั้นฉันว่าการเรียนรู้หรือทำความคุ้นเคยกับ React อาจเป็นการดำเนินการที่ชาญฉลาด
สำหรับไคลเอนต์ SDK ของ Ethereum มี web3.js และ ethers.js สำหรับฉัน Ethers สามารถเข้าถึงได้มากกว่าและมีเอกสารประกอบที่ดีกว่า แม้ว่า web3.js จะมีอายุนานกว่าก็ตาม
ใน Solana คุณอาจใช้ @solana/web3.js และ/หรือ Anchor ฉันพบว่าไลบรารี่ไคลเอนต์ Anchor เป็นตัวเลือกแรกของฉันสำหรับการสร้างโปรแกรม Solana เนื่องจากฉันใช้เฟรมเวิร์ก Anchor อยู่ และฉันพบว่ามันเข้าใจง่ายกว่า @solana/web3.js
ข้อตกลงอื่น ๆ
Radicle เป็นโปรโตคอลการทำงานร่วมกันของโค้ดแบบกระจายศูนย์ที่สร้างขึ้นบน Git เรียกได้ว่าเป็น GitHub เวอร์ชันกระจายอำนาจ
Livepeer เป็นเครือข่ายสตรีมมิ่งวิดีโอแบบกระจายอำนาจ เป็นผู้ใหญ่และใช้กันอย่างแพร่หลายโดยมี GPU มากกว่า 70,000 ตัวอยู่บนเว็บ
สรุป
สรุป
โพสต์นี้จะเป็นเอกสารที่มีชีวิตที่ฉันติดตามในขณะที่ฉันเรียนรู้ ทดลอง และรวบรวมคำติชมจากนักพัฒนา web3
หากคุณมีข้อเสนอแนะหรือความคิดเห็นเกี่ยวกับสิ่งที่ฉันพลาดไป โปรดแบ่งปันความคิดของคุณกับฉัน เป็นเรื่องน่าตื่นเต้นที่ได้เห็นกิจกรรมทั้งหมดที่เกิดขึ้นใน web3 เนื่องจากนักพัฒนากระตือรือร้นที่จะมีส่วนร่วม ในขณะที่โครงสร้างพื้นฐานยังคงพัฒนาอยู่ วิสัยทัศน์ของการสร้างโปรโตคอลและแอปพลิเคชันแบบกระจายอำนาจอย่างแท้จริง ซึ่งช่วยให้ผู้คนสามารถประสานงานกันได้โดยไม่ต้องสละอำนาจและการควบคุมให้กับองค์กรขนาดใหญ่นั้นมีความสำคัญ และเรากำลังเข้าใกล้การบรรลุวิสัยทัศน์นั้นมากขึ้น


