, May 25, 2022

0 kết quả được tìm thấy

LỘ TRÌNH ĐỂ TRỞ THÀNH WEB3 DEVELOPER


  •   12 min reads
LỘ TRÌNH ĐỂ TRỞ THÀNH WEB3 DEVELOPER

Hướng dẫn này dành cho người mới bắt đầu để tiếp cận được thế giới khó hiểu của web3. Nếu bạn vẫn chưa biết web3 là gì thì hãy tham khảo bài viết trước đó của 200Lab nhé.

WEB3 LÀ GÌ & TẠI SAO NÓ LẠI QUAN TRỌNG
Trong khi Web 2.0 được thúc đẩy bởi sự ra đời của di động, xã hội và đám mây, thì Web 3.0 được xây dựng chủ yếu dựa trên ba lớp đổi mới công nghệ mới: điện toán biên , mạng dữ liệu phi tập trung và trí tuệ nhân tạo.

Hiện nay, hầu hết mọi người đều nói về web3 và có rất nhiều tiền đang được chảy vào công nghệ này. Tham gia với tư cách là một developer vào công nghệ mới này là điều tốt nhất mà bạn nên bắt đầu ngay.

Vì công nghệ web3 tương đối mới nên không có nhiều tài nguyên và rất nhiều trong số đó chưa được cập nhật (outdated). Vì vậy, chúng tôi đã biên soạn một danh sách các tài nguyên và hướng dẫn để tạo ra lộ trình A-Z cho người mới bắt đầu để học web3 và Solidity tốt nhất.

Ảnh của Sai Kiran Anagani trên Unsplash

1. Các nguyên tắc cơ bản về Blockchain

Điều đầu tiên bạn cần tìm hiểu để trở thành một nhà phát triển web3 là blockchain. Điều này sẽ giúp bạn dễ dàng kiến ​​trúc được kiến thức và tối ưu hóa các smart contracts (chúng ta sẽ nói về vấn đề này sau). Hãy cùng xem blockchain là gì và nó hoạt động như thế nào.

Blockchain là một cơ sở dữ liệu bất biến, công khai và phi tập trung do người dùng sở hữu. Dữ liệu được lưu trữ dưới dạng khối, do đó nó có tên là “Blockchain”. Để liên kết các khối với nhau, mỗi khối cần chứa dữ liệu của nó, hàm băm của nó và hàm băm của khối trước đó.

Hàm băm (the hash) là một chuỗi duy nhất được tính toán từ dữ liệu. Hàm băm thay đổi dựa trên thông tin. Bạn có thể đã bắt gặp điều này khi triển khai token JWT trong NodeJS.

Nếu ai đó giả mạo một trong các khối, hàm băm sẽ tự thay đổi và các khối tiếp theo sẽ trở nên không hợp lệ vì chuỗi đã bị phá vỡ. Sau đó, người đó sẽ phải tính toán lại tất cả các khối trong chuỗi, điều này sẽ mất một khoảng thời gian rất dài (10 phút / khối).

Bản sao của các blockchain được lưu trữ trên các máy tính trên toàn thế giới, được gọi là các nút (nodes). Vì vậy, bạn cũng sẽ cần quyền truy cập vào phần lớn máy tính và lặp lại quá trình này. Rất khó để một máy tính có thể thực hiện tất cả những điều này đủ nhanh để mạng không nhận thấy được và không cố gắng loại bỏ kẻ gian lận khỏi chuỗi khối.

Đây là một khóa học Udemy ngắn hạn đào sâu hơn vào các nguyên tắc cơ bản của blockchain: https://www.udemy.com/course/blockchain-and-bitcoin-fundamentals/

Ngoài ra 200Lab cũng có đã có chia sẻ một bộ 18 videos các vấn đề cơ bản về Blockchain, DeFi, GameFi, NFT tại đây:

2. Tìm hiểu về các ứng dụng phi tập trung (DApps)

DApps hoặc ứng dụng phi tập trung là các ứng dụng được xây dựng trên nền tảng của blockchain. Các công nghệ chính được sử dụng trong DApps là:

Frontend: JavaScript frameworks như React, Vue, Angular

Backend: Rust và Solana hoặc Solidity và Ethereum

Bây giờ, có thể bạn đang thắc mắc DApp được sử dụng ở đâu? Dưới đây là một số ngành DApps có thể cách mạng hóa:

  1. Ký quỹ (escrow) - Bất cứ khi nào bạn mua / bán một ngôi nhà, bạn cần phải tin tưởng người mua để có thể thanh toán đúng hạn, hoặc tiền được giữ bởi một công ty bên thứ ba. Điều gì sẽ xảy ra nếu người mua không thanh toán, hoặc bên thứ ba ôm tiền bỏ chạy? do đó DApps có thể đảm bảo việc chuyển tiền này một cách an toàn.
  2. Record - Khi một thứ khác được thêm vào blockchain, thì nó không thể chỉnh sửa hoặc loại bỏ. Điều này rất tiện dụng đối với duy trì hồ sơ nhà, hồ sơ y tế, v.v.
  3. Thanh toán (payments) - Tiền điện tử có thể được sử dụng để thanh toán dễ dàng và an toàn khi chuyển giá trị. Mặc dù hiện tại phí xăng khá cao nhưng tôi chắc chắn rằng chúng sẽ giảm trong tương lai.

3. Kiến thức cơ bản về phát triển Frontend Web

Như đã được đề cập trước đó, DApps có thể được công nghệ blockchain cung cấp năng lượng cho phần backend, nhưng frontend phải là JavaScript. Đây là những gì bạn cần học:

  • HTML - Các tag HTML phổ biến
  • CSS - Thuộc tính cơ bản, Flex, Grid
  • CSS Frameworks [Tùy chọn] - Bootstrap, Semantic UI, Tailwind, v.v.
  • JavaScript - Biến, Hàm, Classes, ES6, v.v.
  • JavaScript Frameworks [Khuyến nghị] - React / Vue / Angular

Tôi cũng khuyên bạn nên học phần backend web2, như một phương án dự phòng trong trường hợp web3 không hoạt động. Đây là những gì bạn nên học cho chương trình backend:

  • Nguyên tắc cơ bản về NodeJS - Event loop, I / O
  • API Framework - Express
  • Cơ sở dữ liệu (database) - MongoDB, SQL, PostgreSQL

Đây là một khóa học tuyệt vời về phát triển web của Colt Steele: https://www.udemy.com/course/the-web-developer-bootcamp/

4. Các nguyên tắc cơ bản của Ethereum

Ethereum là một blockchain xử lý các hợp đồng thông minh (smart contracts). Ethereum cho đến nay là blockchain phổ biến nhất để tạo các smart contract trong năm 2022. Solidity là ngôn ngữ được sử dụng để phát triển các smart contract. Tài liệu chính thức dưới đây là một nơi tuyệt vời để bắt đầu tìm hiểu thêm về Ethereum.

Ethereum development documentation | ethereum.org
Introducing the ethereum.org developer documentation.

5. Smart contracts

Smart contracts là mã bất biến trên blockchain được thực thi trên hợp đồng. Smart contracts tương tự như các lớp trong JavaScript. Chúng được sử dụng để cung cấp cho DApps.

Chỉ hiểu khái niệm về smart conctract là không đủ, bạn còn phải phát triển chúng. Đây là nơi mà Solidity xuất hiện. Solidity là một ngôn ngữ lập trình hướng đối tượng (ish) cấp cao, được tạo ra đặc biệt để dễ dàng xây dựng các smart contract.

Tuy nhiên, vì Solidity còn rất mới nên có rất ít tài nguyên để tìm hiểu về nó. Cách tốt nhất để học là xây dựng các dự án và giải quyết các vấn đề bạn gặp phải bằng cách tham khảo tài liệu. Hãy xem xét một số tài nguyên theo mô hình tương tự.

5.1 Buildspace

Buildspace là một nền tảng học tập dựa trên flatform và nó là một trong những tài nguyên tốt nhất để học Web3. Bạn có thể xây dựng DApps, bộ sưu tập NFT, trò chơi trình duyệt NFT, DAO và hơn thế nữa là với Solana, Polygon và Ethereum.

Bạn cũng sẽ nhận được một NFT miễn phí khi hoàn thành một dự án, điều này thật tuyệt vời! Bạn có quyền truy cập vào bảng công việc độc quyền của họ, nơi mà các công ty Web3 lớn nhất đang tuyển dụng.

buildspace
Start building cool web3 projects, earn NFTs, access secret work opportunities in crypto.

5.2 LearnWeb3DAO

Tìm hiểu Web3 DAO là một tài nguyên tuyệt vời khác của Web3. Nó có 4 cấp độ khác nhau - Freshman, Sophomore, Junior, Senior dành cho các developer với các cấp độ kỹ năng khác nhau. Bạn học cách xây dựng DApps, bộ sưu tập NFT, token ICO, DAO, giao thức DeFi và hơn thế nữa.

Và tôi đã nói điều này vì chi phí cao $0/tháng? Không phải vậy, bạn sẽ phải xây dựng các dự án cùng với hàng nghìn developer khác, tham gia hackathons và có thể liên kết với nhau xuyên suốt!

LearnWeb3 DAO
Helping devs break into Web3

5.3 CryptoZombies

Bạn có thích trò chơi điện tử? Nếu có, bạn sẽ thích điều này. CrytoZombies là một khóa học lập trình trò chơi, nơi bạn có thể xây dựng một nhà máy sản xuất zombie bằng cách sử dụng các smart contract. Bạn nên học hỏi từ một trong những tài nguyên khác và thực hành các kỹ năng của mình bằng cách sử dụng CrytoZombies.

#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies
CryptoZombies is The Most Popular, Interactive Solidity Tutorial That Will Help You Learn Blockchain Programming on Ethereum by Building Your Own Fun Game with Zombies — Master Blockchain Development with Web3, Infura, Metamask & Ethereum Smart Contractsand Become a Blockchain Developer in Record Ti…

5.4 Nader Dabit

Nader Dabit gồm:

  1. React
  2. Web3
  3. Serverless
  4. Blockchain
  5. DeFi

Bạn nên đăng ký kênh youtube của kênh ở đây nếu bạn quan tâm đến việc phát triển web hoặc web3.

5.5 FreeCodeCamp

FreeCodeCamp đã phát hành khóa học MIỄN PHÍ 16 giờ về Solidity. Bạn sẽ được tìm hiểu tất cả về Solidity, Blockchain và các Smart contract.

Khóa học này sẽ cung cấp cho bạn phần giới thiệu đầy đủ về tất cả các khái niệm cốt lõi trong blockchain, smart contract, solidity, NFTs / ERC721s, ERC20s, Coding Decentralized Finance (DeFi), python và solidity, Chainlink, Ethereum, ngoài ra còn có smart contract có thể được nâng cấp và đầy đủ phát triển blockchain.

Learn Solidity, Blockchain, and Smart Contracts in a Free 16-Hour Course
Blockchain engineers are in extreme demand. Almost every day they are building billion dollar applications. We just released a full course on the freeCodeCamp.org YouTube channel that will teach you all about Solidity, the blockchain, and smart contracts. Solidity is an object-oriented programming l…

5.6 Kết nối giữa Smart Contract với Frontend

Có thể bây giờ bạn đã biết cách phát triển các smart contract, bạn cần thực sự sử dụng chúng. Có hai thư viện chính để thực hiện việc này - web3.js hoặc ethers.js. Hãy xem tại sao ethers.js lại tốt hơn web3:

  1. Kích thước nhỏ hơn
  2. Ít lỗi hơn
  3. Tài liệu tốt hơn
  4. Phổ biến hơn
  5. Dễ dàng hơn cho người mới
  6. Có các tính năng bổ sung

Đây là một trong những hướng dẫn tuyệt vời về ethers.js:

Ngoài ra, bạn cũng nên học thêm về web3.js, vì một số cơ sở mã có thể sử dụng nó. Đây là khóa học về sự cố trên web3.js:

Có thể xem thêm repo ở đây để biết thêm - https://github.com/adrianmcli/web3-vs-ethers

5.7 Alchemy

Alchemy là một bộ công cụ dành cho developer để tạo mẫu, gỡ lỗi và vận chuyển sản phẩm nhanh hơn. Alchemy hỗ trợ các chuỗi khác nhau như - Ethereum, Polygon, Starknet, Flow và hơn thế nữa. Nó có một API NFT tuyệt vời cho phép bạn thiết lập và chạy bộ sưu tập NFT của mình một cách dễ dàng. Ngoài ra, nó còn hỗ trợ thông báo đẩy web3.0 và có một api blockchain siêu tăng áp!

Alchemy - Blockchain API and Node Service | Ethereum, Polygon, Flow, Crypto.org + More
Whether you’re a beginner, working on a side project, or one of the largest teams in the blockchain space, Alchemy makes Ethereum development easy with enhanced APIs, node infrastructure, and developer tooling. Get started for free!

5.8 Remix

Remix là một IDE trình duyệt được tạo riêng để xây dựng Ethereum smart contract bằng Solidity. Không cần thiết lập, bạn cũng có thể bắt đầu viết mã ngay lập tức.

Nó biên dịch code của bạn cho bạn và giúp bạn dễ dàng kiểm tra được nó. Không chỉ vậy, bạn cũng có thể dễ dàng triển khai smart contract của mình.

Remix - Ethereum IDE & community
DEPLOY & RUN TRANSACTIONS IN THE CLOUD

5.9 Hardhat

Mặc dù Remix rất tuyệt vời nhưng đôi khi vẫn chưa đủ và bỏ lỡ thiết lập VS Code với tất cả 42 tiện ích mở rộng của mình. Bạn sẽ cần một môi trường Ethereum cục bộ nếu bạn đang sử dụng VS Code. Đây là lúc HardHat phát huy tác dụng.

Hardhat giúp bạn dễ dàng triển khai hợp đồng, chạy thử nghiệm và gỡ lỗi code Solidity. Bạn có thể triển khai hợp đồng của mình trên nhiều mạng khác nhau như Ropsten, Rinkeby, Mainnet,... và nó cũng hỗ trợ trên TypeScript 🤩

Tôi muốn xây dựng và kiểm tra chức năng của các smart contract của mình trên Remix, sau đó chuyển nó sang VS Code khi hoàn tất.

Đây sẽ là hướng dẫn về Hardhat:

5.10 Truffle

Truffle là công cụ phát triển sắp tới cho các smart contract. Nó giúp bạn dễ dàng biên dịch các smart contract của mình và sử dụng nó trong frontend code của bạn. Ganache cũng được đi kèm với Truffle, công cụ này mô phỏng một blockchain, thêm tài khoản thử nghiệm,... Nó thực sự hữu ích khi dùng cho việc tránh viết sẵn.

Bạn cũng có thể tham khảo thêm khoá học về lập trình Blockchain NFT, Web3 của 200Lab.

Bài viết liên quan

11 ĐIỀU MÀ WEB3 SCAMMERS KHÔNG MUỐN BẠN BIẾT

Giữ được tài sản NFT và tiền điện tử của bạn AN TOÀN dường như là điều không thể nếu bạn không biết những điều sau đây....

11 ĐIỀU MÀ WEB3 SCAMMERS KHÔNG MUỐN BẠN BIẾT
So sánh Hardhat vs Truffle, cái nào tốt nhất?

Là một developer, bạn luôn phải lựa chọn một framework hoặc một môi trường (environment) cung cấp cho bạn các tùy chọn tốt nhất để phát triển phần mềm và khi bạn lập trình Blockchain điều đó cũng như vậy....

So sánh Hardhat vs Truffle, cái nào tốt nhất?
Fungible & Nonfungible Token: Sự khác biệt là gì?

Sự quen thuộc với khái niệm về khả năng thay thế trong kinh tế học có thể giúp người ta hiểu rõ hơn về các fungible và nonfungible tokens. Sự khác biệt duy nhất là các token tiền điện tử thể hiện đặc tính thay thế của chúng thông qua một tập lệnh mã....

Fungible & Nonfungible Token: Sự khác biệt là gì?
SỰ KHÁC BIỆT GIỮA WEB2 VÀ WEB3

Web3, trong ngữ cảnh của Ethereum, đề cập đến các ứng dụng phi tập trung chạy trên blockchain. Đây là những ứng dụng cho phép mọi người tham gia mà không cần kiếm tiền từ dữ liệu cá nhân của họ....

SỰ KHÁC BIỆT GIỮA WEB2 VÀ WEB3
Hướng dẫn fix lỗi không thể connect Ganache với Remix IDE trên trình duyệt Brave

Bài viết này sẽ hướng dẫn cho mọi người cách fix lỗi không thể kết nối Ganache và Remix IDE trên trình duyệt Brave....

Hướng dẫn fix lỗi không thể connect Ganache với Remix IDE trên trình duyệt Brave
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.