- vừa được xem lúc

Nâng cấp từ Dev Frontend Web2 sang Web3

0 0 43

Người đăng: Thanh Le

Theo Viblo Asia

Tại sao nên đọc bài này?

  • Nâng cấp level của bản thân một cách ngắn gọn, hiệu quả
  • Người ta làm web3 được chả lẽ mình làm không được?

Trở thành Web3 Frontend developer

Giờ tao đang là Web2 developer, làm react, redux, nextjs mỗi ngày kiếm cơm, làm sao tao trở thành Web3 developer được?

Đây là check-list

  • [ ] Blockchain là gì
  • [ ] Cách mà wallet và block chain tương tác với frontend
  • [ ] Code thử, tương tác với blockchain (Đơn giản như call API)
  • [ ] Kiếm việc trong Web3

Blockchain là gì?

Đâu tiên thì nên hiểu khái niệm xem tụi Blockchain hay Web3 là gì nhỉ

Blockchain cho mọi người

Tương tác với Block-chain và Wallet

Về cơ bản khi code frontend, mọi chuyện không có gì thay đổi nhiều so với web2 cả. Thay vì call API để hiển thị data thì bạn call một bên khác để trả về data (Cụ thể là JSON RPC), nên cơ bản nó cũng chả khác gì call API lắm

Untitled

Về cơ bản, web3 sẽ chia ra 2 loại request riêng biệt:

  • Mutable API - Những API sẽ làm thay đổi trạng thái của hệ thống. Vd như chuyển tiền, swap token, lending,…
  • Read-only API - Những API thể hiện trạng thái của hệ thống. Ai cũng có thể call và lấy data được. VD như đang có bao nhiêu tiền trong ví, đang lending ở đâu, swap với rate bao nhiêu

Đã có 2 loại request rồi, bây giờ mình sẽ gọi vào đâu?

Thường chúng ta sẽ phải gọi qua một server trung gian - blockchain node, con server kết nối vào Block Chain để:

  • Nhận Read-only API, lấy data từ blockchain, trả về cho user
  • Nhận Mutable API, broadcast lên blockchain cho tụi validator

Các Node Provider thường thấy

  • Node provider mặc định của network đó (thường bị rate limit và khá chậm nên ít người dùng)
  • Infura
  • QuickNode
  • Alchemy, Moralis

Vậy tụi Wallet làm gì ở đây?

Có nhớ hồi nãy mình có nhắc tới về Mutable API không? Wallet giúp ta chứng minh được ai là đứa thực hiện Request đó, và cũng đồng thời nhắc nhở bạn là người chịu trách nhiệm cho cái request vừa rồi.

Đương nhiên là bạn không thể call Mutable API với nội dung: Thằng A gửi cho tui 10BTC được đúng không? Wallet giúp xác định chắc chắn, nếu thằng A gửi tiền thì chỉ có mình thằng A có thể gửi, mà không phải là một thằng hacker nào khác

Định danh ở Web 2 và Web 3

Đọc thêm bài viết của mình về việc định danh ở Web3 ở trên

Đó vậy khác biệt giữa Web2 và Web3 cho Frontend dev chỉ có nhiêu đây:

  • Thay vì tương tác với API thì tương tác với JSON RPC node
  • Thay vì gắn login, gắn auth token vào API thì bạn tương tác với Wallet để làm việc trên

Một số thư viện cho Frontend

wagmi: React Hooks for Ethereum

web3-react

RainbowKit

Documentation

web3.js - Ethereum JavaScript API - web3.js 1.0.0 documentation

Nói chung mình Highly recommend dùng Wagmi và ethers.js vì tụi này tiện và ok hơn mấy thằng còn lại. Mấy thằng khác nên học tùy tình huống kiểu như trong prj đang dùng sẵn thằng này cmnr.

Học thêm về web3

Đó frontend thì chỉ có vậy, nhưng mình nghĩ các bạn vẫn nên tìm hiểu thêm về phía backend, và một số thứ liên quan khác như:

  • Dùng explorer để inspect data
  • Hiểu sơ về code backend (Solidity, rust) để có thể biết được đâu rà Read function, đâu là Mutate function
  • Bảo mật

Một số khóa học về web3 phù hợp với frontend

#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies

buildspace

Web3 University - Your Guide to Blockchain Development

Learn NEAR Club

Khóa near học xong còn có tiền nữa, mình cũng quen một vài người build prj trong khóa học đó, sau đó được NEAR tại trợ để làm tiếp (khoảng hơn 5000$)

Khoe thành tích 😎

Khoe thành tích 😎

Học song nhớ thực hành nha, nghĩ ra problem gì phù hợp mà blockchain cần giải quyết rồi làm thử, như mình làm Morphling nè

Morphling - dApp Tham gia Binance Launchpad


😼 Nhân tiện, mình cũng rất muốn connect với các bạn đang làm trong Web3, mình cũng đang build product về Web3


Tìm việc web3

Thì có 2 cách, hoặc bạn xin vào làm trong một công ty về Web3, hoặc là bạn làm công việc freelance đến Web3

Công việc fulltime thì chỗ kiếm chắc khá nhiều, search Google đầy

Còn công việc freelance thì đây là một vài chỗ để tham khảo

Issue Explorer

Dework - The task manager for DAOs and decentralized work

Lời kết

So với backend, thì frontend tương tác với Blockchain khá đơn giản và dễ học. Tuy nhiên mình thấy benefit cho các bạn làm ở Web3 đang cao hơn hẳn nên cũng đáng để các bạn thử.

Mà dù Web2, Web3 hay Web4 thì hãy luôn nhớ trau dồi những thứ cơ bản nhất, đảm bảo không bị lỗi thời đâu.

Các bài viết “lan quyên”

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Blockchain] Road to Bitcoin

. Chắc mọi người hẳn đã không còn xa lạ gì với anh chàng tỷ phú đã ném vỡ cửa kính ô tô nhà mình cùng với siêu năng lực điều khiển vật giá chỉ bằng lời nói, người đã đẩy định giá Bitcoin trên thị trường vượt ngưỡng 50K dolar/coin với những bài twitter để đời . .

0 0 61

- vừa được xem lúc

Khi Ethereum có chi phí giao dịch quá đắt đỏ - Tương lai cho layer2 ?

Với sự phát triển như vũ bão của Blockchain, ETH dường như đang quá tải và hệ quả là chi phí Gas đã lên đến 1000Gwei, phí để tạo những transaction phức tạp đã xấp xỉ 500$ . Và một giải pháp cứu cánh cho các sản phẩm Defi trên ETH chính là Layer2, và trong nhiệm vụ lần này Matic đang thể hiện khả năn

0 0 89

- vừa được xem lúc

Blockchain với Java - Tại sao không?

Cuộc cách mạng công nghiệp 4.0 ra đời kéo theo nhiều sự thay đổi và xu hướng mới được hình thành. Riêng đối với lĩnh vực CNTT cũng không nằm ngoài vùng ảnh hưởng mạnh mẽ. Chính làn sóng 4.

0 0 92

- vừa được xem lúc

Phân loại và tầm quan trọng của các node trong mạng blockchain

Trước khi đi vào phân loại và nêu rõ được tầm quan trọng của các node trọng mạng blockchain thì mình xin được trích dẫn khái niệm về blockchain từ Wikipedia như sau:. .

0 1 65

- vừa được xem lúc

Code Smart Contract bằng Assembly ?

Introduction. Hồi còn học trong ghế nhà trường bộ môn lập trình tốn nhiều não nhất của mình là code assembly. Nôm na thì bất cứ ngôn ngữ bậc cao nào như C , Go, Java,... được sinh ra để người dễ hiểu và dễ code , tuy nhiên chúng đều sẽ được compiled down xuống assembly một ngôn ngữ bậc thấp để máy h

0 0 58

- vừa được xem lúc

Dextool - Công cụ phân tích Decentralized Exchange tuyệt vời

. Trend Defi mặc dù đã bớt nhiệt nhưng những sản phẩm nổi bật của làn sóng này mang lại thì vẫn rất được người dùng ưa chuộng. Đặc biệt là các nền tảng Decentralized Exchange, tiêu biểu là Uniswap, SushiSwap, 1inch Exchange, FalconSwap,... Nhưng khi đã sử dụng các nền tảng DEx này mà không biết đến

0 0 106