Giới thiệu
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. Chúng ta có một số tùy chọn như Truffle, Hardhat, Brownie, Embark, v.v. Tuy nhiên, hiện tại chúng ta sẽ chỉ tập trung vào Truffle và Hardhat mà thôi.
Truffle và Hardhat - cả hai đều được phát triển dựa trên môi trường JavaScript, điều đó có nghĩa là bạn cần phải cài đặt chúng trên máy tính của mình vì bạn sẽ sử dụng npm rất nhiều trong quá trình phát triển Dapp hoặc bất kỳ loại ứng dụng nào dựa trên Blockchain.
Bây giờ, mình sẽ đưa ra một vài tiêu chí và đánh giá Truffle và Hardhat dựa trên các tiêu chí mà mình đã chọn nhé!
1. Tài liệu
Hardhat
Hardhat cung cấp cho chúng ta một bộ tài liệu rất rõ ràng và được cấu trúc rất tốt. Bạn có thể tìm thấy các hướng dẫn khác nhau về cách khởi động CLI hardhat và sử dụng các chức năng cốt lõi của Hardhat rất hiệu quả. Mọi thứ đã được sắp xếp gọn gàng và ngăn nắp để các developer bắt đầu hành trình khám phá & phát triển các ứng dụng blockchain của riêng mình.
Ngoài ra, phần tốt nhất của tài liệu hardhat là họ đã cung cấp các hướng dẫn cho các tác vụ và chức năng khác nhau có sẵn trong hardhat, cung cấp các phương pháp hay nhất để cho các developer sử dụng, không phải mất thời gian loay hoay. Vì vậy, nếu bạn là một lập trình viên mới và muốn đi sâu vào phát triển blockchain, hardhat sẽ trở thành lựa chọn đầu tiên của bạn để bắt đầu.
Truffle
Truffle cũng có tài liệu rõ ràng và có tổ chức để bạn dễ dàng bắt đầu hành trình phát triển của bạn với Truffle, Ganache, biên dịch (compile) hợp đồng thông minh (smart contract), testing,... Ngoài ra, Truffle còn cung cấp các ví dụ về cách kết nối Truffle với metamask.
Truffle là một "người chơi" lâu đời trên thị trường. Do đó, nó có lợi thế là có nhiều tài liệu tham khảo trên web, youtube và các blog để bạn có thể tiếp cận kiến thức từ nhiều nơi. Vì vậy nếu bạn bị mắc kẹt với một số khái niệm hoặc muốn tìm hiểu ý kiến của người khác về vấn đề mà bạn đang gặp phải, bạn sẽ tìm thấy nhiều tài nguyên hơn so với hardhat, vốn là điều hơi bất lợi tẹo cho hardhat.
2. Community
Hardhat
Hardhat có một cộng đồng rất sôi nổi bao gồm các nhà phát triển blockchain và các core member của framework (những người maintain & phát triển dự án) trên Discord. Bạn có thể tham gia vào cộng đồng đấy tuy nhiên hãy hạn chế đưa ra các câu hỏi "ngớ ngẩn" (chẳng hạn là Hardhat có performance tốt nhất không :v, vân vân và mây mây)
Nhưng ngoài cộng đồng chính thức, chúng ta còn có các tùy chọn như cộng đồng Stackoverflow và Stackexchange sẽ trở nên hữu ích khi bạn gặp một số lỗi phổ biến trong quá trình phát triển.
Truffle
Cộng đồng truffle rất hùng mạnh và tràn đầy nhiệt huyết. Bạn có thể tìm thấy nhóm cộng đồng ở đây và có thể đặt câu hỏi trên máy chủ Discord chính thức của họ.
Truffle có lợi thế vượt trội khi xét đến phương diện cộng đồng do Truffle ra đời sớm hơn. Truffle có nhiều tài nguyên trên web hơn hardhat nhưng khi hardhat ngày càng trở nên phổ biến, nó sẽ có nhiều cộng đồng hơn và nhiều tài nguyên hơn nên đừng lo lắng quá nếu bạn yêu thích Hardhat.
3. Libraries & Plugins
Hardhat
Hardhat có rất nhiều thư viện và plugin, chúng ta có thể nói rằng plugin cũng là xương sống của hardhat. Bạn có thể nâng cao (enhance) các chức năng của hardhat bằng các plugin mong muốn và bạn cũng có thể tự tạo plugin cho riêng mình, tham khảo thông tin tại đây.
Truffle
Truffle cũng có một cái gì đó tương tự nhưng được gọi là Box. Box là một loại plugin hoặc thư viện, bạn có thể tạo một Box riêng cho mình nhưng vấn đề là bạn phải sử dụng toàn bộ Box. Bạn không thể chỉ sử dụng một phần của Box, điều này khiến Truffle trở nên tẻ nhạt và phức tạp hơn Hardhat.
4. Testing
Hardhat
Hardhat đưa ra môi trường thử nghiệm (testing) linh hoạt hơn nhiều so với truffle. Lý do được đưa ra bởi vì bạn muốn có thể tương tác với các hợp đồng thông minh (smart contract) trong quá trình thử nghiệm, điều này cũng có thể thực hiện được với truffle nhưng hardhat làm cho nó dễ dàng hơn.
Chúng ta có thể lấy bất kỳ 1 file Smart Contract ra để thử nghiệm. Với Hardhat, bạn có thực hiện với ethers.js , mocha và waffle. Mọi thứ đều được viết bằng javascript. Bạn chỉ cần chạy câu lệnh để kiểm tra và bạn sẽ thấy kết quả kiểm tra rất nhanh.
Truffle
Truffle cũng có môi trường thử nghiệm được xây dựng dựa trên các thư viện như mocha , chai và web3.js.
Nhưng mặt trái của nó là bạn không thể tương tác trực tiếp với contract. Bạn cần phải cài đặt và khởi động thêm Ganache CLI hoặc Gahance UI, nơi cung cấp các free account và local blockchain để testing Smart contract nhưng hardhat đã cấu hình sẵn mọi thứ.
5. Các công ty lớn đang sử dụng công cụ nào?
Hardhat
OpenZeppelin cung cấp các sản phẩm bảo mật để xây dựng, tự động hóa và vận hành các ứng dụng phi tập trung. OpenZeppelin là công ty dịch vụ và công nghệ bảo mật không gian mạng hàng đầu, được các dự án DeFi và NFT sử dụng nhiều nhất cho các tổ chức tiền điện tử hàng đầu bao gồm Coinbase, Ethereum Foundation, v.v.
Optimism là một giải pháp mở rộng quy mô Layer 2 cho Ethereum. Nó dùng để hỗ trợ tất cả các Dapp. Thay vì chạy tất cả các tính toán và dữ liệu trên mạng Ethereum, Optimism lấy tất cả dữ liệu giao dịch trên on-chain và chạy tính toán trên off-chain. Nhờ đó mà có thể tăng giao dịch của Ethereum trên mỗi giây và giảm phí giao dịch.
Aave là một giao thức phi tập trung cung cấp thanh khoản cho thị trường, nơi người dùng có thể tham gia với tư cách là người gửi tiền (depositer) hoặc người đi vay (borrower). Người gửi tiền cung cấp tính thanh khoản cho thị trường để kiếm thu nhập thụ động, trong khi người đi vay có thể vay theo kiểu thế chấp quá mức hoặc không thế chấp.
Truffle
BitGo là công ty hàng đầu trong lĩnh vực tài chính, giao dịch và lưu ký tài sản kỹ thuật số của các tổ chức.
Giao thức của 1inch giúp lọc nhiều sàn DEX để tìm ra nền tảng rẻ nhất, tính theo phí và giá của chính tài sản mà mình giao dịch. Bộ tổng hợp này tự động xác định giao dịch rẻ nhất để thực hiện, làm cho nó trở thành một công cụ có giá trị cho bất kỳ nhà giao dịch nào. Thay vì dựa vào một giao thức DeFi duy nhất để mua tài sản tiền điện tử.
JPMorgan Chase & Co. là một ngân hàng đầu tư đa quốc gia của Mỹ và công ty cổ phần dịch vụ tài chính có trụ sở chính tại Thành phố New York. Công ty này là một nhà cung cấp chính của các dịch vụ tài chính và ngân hàng đầu tư khác nhau. Tính đến năm 2021, đây là nhà cho vay lớn nhất đối với ngành công nghiệp nhiên liệu hóa thạch trên thế giới.
Phần kết luận
Tôi đã đưa ra tất cả 5 thông số cho phép bạn quyết định cái nào phù hợp nhất với bạn, cá nhân tôi thích sử dụng Hardhat vì nó có vẻ dễ dàng đối với tôi nhưng bạn có thể tự do đưa ra lựa chọn của riêng mình. Happy Coding ^^
Obaotrinh
Thích ăn nho (nho xanh hoặc không hột)
Bài viết liên quan
Web2 là gì? Web3 là gì? So sánh Web 2.0 & Web 3.0
Sep 25, 2023 • 10 min read
DeFi là gì? Tìm hiểu về Tài Chính Phi Tập Trung
Sep 08, 2023 • 13 min read
STO là gì? Kiến thức cơ bản về Security Token Offering
Sep 08, 2023 • 15 min read
Ví Bitcoin là gì? 9 ví Bitcoin hàng đầu bạn cần biết
Sep 02, 2023 • 11 min read
Blockchain là gì? Ưu & nhược điểm của các ứng dụng Blockchain
Aug 23, 2023 • 17 min read
DAPP LÀ GÌ? DAPP HAY NHƯNG CÓ HOÀN HẢO
Apr 06, 2023 • 8 min read