Khoá học này được phát triển bởi OpenEdu101 và được tài trợ bởi Near Foundation.
Trình bày, cập nhật nội dung bởi terrancrypt.
Chào mừng bạn đến với BOS Bootcamp, nơi bạn sẽ khám phá cách phát triển giao diện người dùng (GUI) thông qua Blockchain Operating System (BOS).
Trong khoá học, bạn sẽ học về ý nghĩa của BOS và cách nó hoạt động trong hệ thống Web3. Bạn sẽ tìm hiểu về BOS Component - một khái niệm quan trọng của NEAR Blockchain - và cách nó đóng góp vào sự phát triển của Web3.
Ngoài ra, bạn sẽ được hướng dẫn cách xây dựng BOS Component đầu tiên, tương tác với smart contract trên NEAR Blockchain và các blockchain tương thích với EVM. Khoá học cũng tập trung vào thiết kế component đẹp mắt và chức năng thông qua CSS, cùng với việc áp dụng mẫu thiết kế component đa blockchain.
Đối tượng của khoá học này là những ai quan tâm đến phát triển giao diện người dùng và blockchain, cũng như muốn hiểu sâu hơn về cách BOS có thể thay đổi cách chúng ta tương tác trực tiếp với công nghệ.
Nếu bạn muốn khám phá cơ hội mới trong thế giới phức tạp của blockchain và Web3, hãy tham gia ngay vào BOS Bootcamp!
- Tài nguyên
- Yêu cầu
- Section 1: Xây dựng BOS Component đầu tiên
- Section 2: Tương tác với smart contract
- Section 3: Design Component
- Section 4: Chain-Agnostic Component Design Pattern
-
Wallet
-
Faucet
-
Documentation
- HTML, CSS, JavaScript
- React
⭐️ Video #1: Xây dựng BOS Component đầu tiên
Video giới thiệu về ý nghĩa của BOS, cách nó hoạt động trong hệ thống Web3, và tại sao nó quan trọng trong việc giải quyết những thách thức của Web2. Hướng dẫn chi tiết cách xây dựng BOS Component, với yêu cầu kiến thức cơ bản về HTML, CSS, JavaScript và React.
Video chia thành các phần WHY, WHAT, WHERE, và HOW để giải thích mục đích, khái niệm, vị trí, và cách xây dựng BOS Component.
Cuối cùng, mình khuyến khích bạn tự nghiên cứu các ngôn ngữ và công cụ liên quan để tham gia vào việc xây dựng một hệ sinh thái front-end phi tập trung kết nối với nhiều blockchain khác nhau. Khám phá những cơ hội mới trong thế giới phức tạp của blockchain và Web3!
-
BOS (Blockchain Operating System): Một khái niệm của NEAR Blockchain, còn được gọi là NEAR Components.
-
Component: Là một thành phần trong lập trình front-end, trong trường hợp này, được xây dựng để tương tác với nhiều blockchain khác nhau.
- Lịch sử Phát triển Web: So sánh giữa Web1, Web2, và Web3.
- Web3: Tập trung vào sự phi tập trung, ẩn danh và sự tương tác trực tiếp với blockchain.
- Yếu tố của BOS Component:
- Tổng hợp: Có thể truy cập tất cả các component thông qua gateway.
- Tái sử dụng: Có thể sử dụng lại các component đã xây dựng.
- Phi tập trung: Mã nguồn của component được lưu trữ trên blockchain.
- Web3 và vấn đề của Web2:
- Web2 tập trung dữ liệu và có thể gây mất an toàn thông tin cá nhân.
- Web3 giải quyết vấn đề này thông qua ẩn danh và phi tập trung.
- Mô hình hoạt động của dApps trong Web3:
- Sử dụng smart contract và blockchain để xử lý logic.
- Sử dụng mạng lưới lưu trữ phi tập trung như IPFS để lưu trữ dữ liệu lớn.
- Sử dụng server tập trung lưu trữ code front-end.
- Vai trò của BOS trong hệ thống:
- Smart contract xử lý logic + code front-end.
- IPFS lưu trữ dữ liệu lớn.
- Gateway và Modules:
- Mô tả cách gateway tổng hợp các module và thư viện hỗ trợ các component.
- Mô tả module Wallet Library và thư viện hỗ trợ kết nối với blockchain.
- BOS Application:
- BOS Application là tập hợp của tất cả các component, được bao bọc bởi môi trường BOS.
- Mỗi component được xem như một widget.
Potlock | Potlock Github Repository
- Mục tiêu của BOS là tạo ra một hệ sinh thái front-end có thể tương tác với nhiều blockchain và được xây dựng với tính phi tập trung.
- Video chỉ là bắt đầu, sẽ có nhiều phần khác với nhiều yếu tố và công cụ khác nhau.
- Tự tìm hiểu HTML, CSS, JavaScript và React là quan trọng trước khi bắt đầu.
⭐️ Video #2: Tương tác với Smart Contracts
Phần này tập trung vào việc tạo các BOS component để giao tiếp với các blockchain khác nhau. Sử dụng near-api-js
để tương tác với NEAR blockchain và ethers.js
để tương tác với các blockchain tương thích với EVM.
Contract dùng để tương tác: guest-book.terrancrypt.testnet
Component hoàn thiện trong phần này: GuestBook
Contract dùng để tương tác: 0xc5b16a21c3ceca9a43898886d4d075612c6c917d
Component hoàn thiện trong phần này: EVM Factory
Trong phần trước, chúng ta đã tìm hiểu về cách các component tương tác với các smart contract như thế nào. Trong phần này, chúng ta sẽ tìm hiểu làm sao để design các component đó, hay là css trong các BOS component.
Nếu như HTML là một bộ khung xương, phần logic chúng ta viết bằng Javascript là một bộ não, thì bây giờ chúng ta còn thiếu phần làm đẹp cho một component.
Cần component đẹp hơn thì chúng ta cần phải css cho nó, NEAR cung cấp cho cho chúng ta các cách để chúng ta có thể thiết kế được component của chúng ta.
Component hoàn thiện trong phần này: StyledEVMFactory
Contract address để sử dụng trong phần này:
- Polygon Mumbai: 0xc5b16a21c3ceca9a43898886d4d075612c6c917d
- Arbitrum Sepolia: 0x7DFdCaE1e6a90be0b3CD10e949cE30b137Da58f4
- Base Sepolia: 0xF4F18A60Af4E5fe47c193CF9603bF82544C0B617
Phần này chúng ta sẽ nói về Chain-Agnostic Component Design Patterns, hay là mẫu thiết kế component theo kiểu blockchain bất khả tri.
Mẫu thiết kế (Design pattern) là một kỹ thuật lập trình được sử dụng để giải quyết các vấn đề phổ biến trong thiết kế phần mềm. Chúng cung cấp một cách tiếp cận cấu trúc hợp lý và linh hoạt để xây dựng các hệ thống phức tạp. Mỗi mẫu thiết kế đều mô tả một vấn đề cụ thể cùng với cách giải quyết cho vấn đề đó.
Chain Agnostic hay Blockchain Agnostic là một khái niệm còn khá mới. Khái niệm này nói về việc xây dựng hạ tầng cho một blockchain, ở đây chúng ta có thể gọi là các giải pháp về Blockchain-Agnostic hoặc cách để xây dựng một cơ sở hạ tầng Blockchain-Agnostic. Điều này đơn giản là đề cập đến một cách xây dựng cơ sợ hạ tầng không phụ thuộc vào một blockchain duy nhất mà có thể hoạt động và hỗ trợ nhiều blockchain khác nhau. Bạn có thể thấy những ứng dụng Web3 như Aave hay Metamask có thể hoạt động trên nhiều blockchain khác nhau tương thích với EVM.
- Đầu tiên là giúp các dự án có thể truy cập được thị trường cryptocurrency trên toàn bộ hệ sinh thái web3.
- Thứ hai là giúp bảo vệ dự án trong tương lai.
- Cuối cùng là để chúng ta có thể tận dụng được những ưu điểm của các blockchain khác nhau.
- Modularity & Reusauble - Tính Mô-đun và Tái Sử Dụng: Các component được thiết kế để độc lập và có thể sử dụng lại. Thay vì phải xây dựng lại từ đầu, các component có thể được sử dụng lại trong nhiều phần của ứng dụng hoặc thậm chí trong các dự án khác. Điều này giúp giảm thiểu thời gian và công sức cần thiết cho việc phát triển và bảo trì các dự án BOS.
- Maintainability and Readability, Dễ Bảo Trì và Dễ Đọc: Mỗi component tập trung vào một chức năng cụ thể của application, làm cho quá trình bảo trì trở nên dễ dàng hơn. Khi cần thay đổi hoặc cập nhật một tính năng cụ thể, chỉ cần tập trung vào component đó mà không ảnh hưởng đến các phần khác của hệ thống. Điều này giảm thiểu nguy cơ gây ra lỗi hoặc tác động không mong muốn lên toàn bộ ứng dụng.
- Collaboration - Sự Hợp Tác: Tư duy về component design pattern cho phép các nhóm phát triển làm việc độc lập trên các component khác nhau của ứng dụng. Các nhóm có thể phát triển và kiểm tra các thành phần một cách độc lập trước khi tích hợp chúng lại với nhau. Điều này tạo điều kiện cho sự linh hoạt và hiệu suất trong quá trình phát triển.
- Disverabitily - Khả Năng Khám Phá: Các component sẽ được tổ chức một cách logic và có tài liệu rõ ràng, giúp cho việc tìm kiếm và hiểu được chúng trở nên dễ dàng hơn. Khi cần thiết, các nhà phát triển có thể dễ dàng tìm kiếm và tái sử dụng các thành phần đã được phát triển trước đó thay vì phải xây dựng lại từ đầu.
Component hoàn thiện trong phần này: StorageFactoryMultiEVM
(Updating...)