Tôi đã vật lộn với Ethers.js suốt vài tháng nay, và cho tôi nói bạn biết - nó là một con quái vật mạnh mẽ mà đôi khi cảm giác như nó cố tình làm tôi bối rối. Thư viện JavaScript này để tương tác với chuỗi khối Ethereum được cho là "toàn diện" và "mô-đun," nhưng thử giải thích điều đó cho tôi lúc 3 giờ sáng khi các giao dịch của tôi liên tục thất bại.
Thư viện cho phép bạn kết nối với Ethereum, ký giao dịch và thao tác với hợp đồng thông minh. Tuyệt vời về lý thuyết. Trong thực tế? Chà, đôi khi tôi tự hỏi liệu tôi có nên tự viết một triển khai từ đầu không!
Điều khiến tôi thực sự bực bội là cách mọi người ca ngợi bản chất "nhẹ" của nó. Chắc chắn, so với một số lựa chọn cồng kềnh thì có thể, nhưng bạn đã thử sử dụng nó trong một DApp thực tế chưa? Tài liệu tuyên bố rằng nó hoàn hảo cho các nhà phát triển web, nhưng đôi khi tôi cảm thấy như mình cần một bằng tiến sĩ về mật mã chỉ để thực hiện một kết nối ví đơn giản.
Đừng hiểu lầm tôi - khi nó hoạt động, nó HOẠT ĐỘNG. Tôi đã sử dụng nó để xây dựng giao diện cho quản lý token và thậm chí triển khai một số chức năng giao dịch. Việc tạo ví thực sự rất mượt mà, và cách nó xử lý ký giao dịch thì an toàn ( khi nó quyết định hợp tác ).
Thị trường cứ đẩy mạnh thư viện này như thể nó là thánh tích của phát triển Ethereum. Mọi người đều nói "Việc áp dụng Ethereum đang gia tăng!" và "DeFi là tương lai!" - trong khi tôi chỉ đang cố gắng để cuộc gọi hợp đồng thông minh của mình ngừng hoàn trả mà không có bất kỳ thông điệp lỗi hữu ích nào.
Những người chơi lớn này tiếp tục xây dựng các giao thức DeFi đẹp mắt của họ trên những công cụ như Ethers.js, và các nhà đầu tư bán lẻ đổ tiền vào chúng mà không hiểu được cấu trúc kỹ thuật mà mọi thứ được xây dựng lên. Tôi đã thấy một số triển khai đáng ngờ mà bằng cách nào đó quản lý hàng triệu trong tổng giá trị bị khóa (TVL).
Điều khiến tôi khó chịu nhất là chứng kiến các lập trình viên junior ca ngợi Ethers.js như thể nó hoàn hảo khi họ chỉ mới chạm đến bề mặt. Hãy chờ cho đến khi họ cần xử lý việc ước lượng gas trong thời gian tắc nghẽn mạng hoặc xử lý mã ABI tùy chỉnh cho một tương tác hợp đồng phức tạp.
Tôi đã sử dụng Ethers.js cho mọi thứ, từ chuyển token đơn giản đến các giao thức phức tạp, và mỗi lần tôi lại phát hiện ra những điều kỳ quặc và hạn chế mới. Sự hỗ trợ từ cộng đồng là khá ổn, tôi sẽ công nhận điều đó, nhưng đôi khi những câu trả lời cảm giác như được viết bởi cùng một người đã tạo ra những thông báo lỗi khó hiểu không cần thiết đó.
Mặc dù có nhiều phàn nàn, nhưng tôi vẫn luôn tìm đến nó mỗi khi bắt đầu một dự án Ethereum mới. Có thể tôi là một người thích chịu đựng, hoặc có thể nó thực sự là công cụ tốt nhất mà chúng ta có vào lúc này. Không gian chuỗi khối thay đổi quá nhanh đến nỗi khi bạn thành thạo một thư viện, ba lựa chọn "tốt hơn" mới đã xuất hiện.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Ethers.js: Mối Quan Hệ Yêu-Thích Không Thích của Tôi Với Thư Viện JavaScript Này
Tôi đã vật lộn với Ethers.js suốt vài tháng nay, và cho tôi nói bạn biết - nó là một con quái vật mạnh mẽ mà đôi khi cảm giác như nó cố tình làm tôi bối rối. Thư viện JavaScript này để tương tác với chuỗi khối Ethereum được cho là "toàn diện" và "mô-đun," nhưng thử giải thích điều đó cho tôi lúc 3 giờ sáng khi các giao dịch của tôi liên tục thất bại.
Thư viện cho phép bạn kết nối với Ethereum, ký giao dịch và thao tác với hợp đồng thông minh. Tuyệt vời về lý thuyết. Trong thực tế? Chà, đôi khi tôi tự hỏi liệu tôi có nên tự viết một triển khai từ đầu không!
Điều khiến tôi thực sự bực bội là cách mọi người ca ngợi bản chất "nhẹ" của nó. Chắc chắn, so với một số lựa chọn cồng kềnh thì có thể, nhưng bạn đã thử sử dụng nó trong một DApp thực tế chưa? Tài liệu tuyên bố rằng nó hoàn hảo cho các nhà phát triển web, nhưng đôi khi tôi cảm thấy như mình cần một bằng tiến sĩ về mật mã chỉ để thực hiện một kết nối ví đơn giản.
Đừng hiểu lầm tôi - khi nó hoạt động, nó HOẠT ĐỘNG. Tôi đã sử dụng nó để xây dựng giao diện cho quản lý token và thậm chí triển khai một số chức năng giao dịch. Việc tạo ví thực sự rất mượt mà, và cách nó xử lý ký giao dịch thì an toàn ( khi nó quyết định hợp tác ).
Thị trường cứ đẩy mạnh thư viện này như thể nó là thánh tích của phát triển Ethereum. Mọi người đều nói "Việc áp dụng Ethereum đang gia tăng!" và "DeFi là tương lai!" - trong khi tôi chỉ đang cố gắng để cuộc gọi hợp đồng thông minh của mình ngừng hoàn trả mà không có bất kỳ thông điệp lỗi hữu ích nào.
Những người chơi lớn này tiếp tục xây dựng các giao thức DeFi đẹp mắt của họ trên những công cụ như Ethers.js, và các nhà đầu tư bán lẻ đổ tiền vào chúng mà không hiểu được cấu trúc kỹ thuật mà mọi thứ được xây dựng lên. Tôi đã thấy một số triển khai đáng ngờ mà bằng cách nào đó quản lý hàng triệu trong tổng giá trị bị khóa (TVL).
Điều khiến tôi khó chịu nhất là chứng kiến các lập trình viên junior ca ngợi Ethers.js như thể nó hoàn hảo khi họ chỉ mới chạm đến bề mặt. Hãy chờ cho đến khi họ cần xử lý việc ước lượng gas trong thời gian tắc nghẽn mạng hoặc xử lý mã ABI tùy chỉnh cho một tương tác hợp đồng phức tạp.
Tôi đã sử dụng Ethers.js cho mọi thứ, từ chuyển token đơn giản đến các giao thức phức tạp, và mỗi lần tôi lại phát hiện ra những điều kỳ quặc và hạn chế mới. Sự hỗ trợ từ cộng đồng là khá ổn, tôi sẽ công nhận điều đó, nhưng đôi khi những câu trả lời cảm giác như được viết bởi cùng một người đã tạo ra những thông báo lỗi khó hiểu không cần thiết đó.
Mặc dù có nhiều phàn nàn, nhưng tôi vẫn luôn tìm đến nó mỗi khi bắt đầu một dự án Ethereum mới. Có thể tôi là một người thích chịu đựng, hoặc có thể nó thực sự là công cụ tốt nhất mà chúng ta có vào lúc này. Không gian chuỗi khối thay đổi quá nhanh đến nỗi khi bạn thành thạo một thư viện, ba lựa chọn "tốt hơn" mới đã xuất hiện.