Ethers.js Là Gì? Một Sâu Rộng Vào Thư Viện JavaScript Của Ethereum

Người mới bắt đầu3/18/2024, 8:47:39 AM
Ethereum là một giao thức blockchain nổi tiếng với bộ công cụ, hợp đồng thông minh và hệ sinh thái được căn chỉnh mã nguồn, dựa nặng vào ethers.js (một thư viện Javascript) để cung cấp sức mạnh cần thiết cho phương pháp phát triển dành cho các nhà phát triển của nó.

Nếu bạn đang quan tâm đến Ether (ETH) hơn các đối thủ khác trong lĩnh vực tiền điện tử, bạn nên dành chút thời gian để hiểu về Ethereum từ một góc độ kỹ thuật hơn. Một giao thức blockchain nổi tiếng với bộ công cụ, hợp đồng thông minh và hệ sinh thái được điều chỉnh bằng mã nguồn, Ethereum phụ thuộc nhiều vào ethers.js - một thư viện Javascript - để mang lại sức mạnh cần thiết cho cách tiếp cận hướng tới các nhà phát triển.

Mặc dù ethers.js không phải là thư viện JavaScript native Ethereum duy nhất, nhưng đó là lựa chọn tốt hơn cho các ứng dụng phi tập trung nhỏ hơn. Trong hướng dẫn này, chúng tôi sẽ đi sâu vào các khía cạnh của ethers.js, giúp bạn hiểu rõ hơn về khái niệm kỹ thuật này.

Trong hướng dẫn này:

  1. Giải nén ethers.js
  2. Tại sao ethers.js quan trọng?
  3. Giải thích tất cả các phiên bản Ethers.js
  4. Bắt đầu với ethers.js
  5. Tính năng cốt lõi
  6. Làm thế nào các báo cáo về tiền điện tử có thể tận dụng Ethers.js
  7. Ứng dụng thực tế của Ethers.js
  8. Xem xét về an ninh
  9. Ethers.js: một công cụ linh hoạt
  10. Câu hỏi thường gặp

Mở gói ethers.js

ethers.js là một thư viện JavaScript — một tập hợp mã đã được viết trước để tự động hóa một số chức năng. Sử dụng thư viện JavaScript cho việc phát triển có thể giảm thiểu nỗ lực viết mã. Quá trình trở nên thân thiện hơn với người dùng, và đối với các nhà phát triển DApp, những thư viện này giúp cung cấp các chức năng cụ thể cho blockchain cơ bản dưới dạng bản gói.

Ethers.js và chu kỳ phát triển: BeInCrypto

Đây là GitHubkho lưu trữcho thư viện.

JavaScript libraries là gì?

Trước khi chúng ta đào sâu vào ethers.js, hãy xem xét kỹ hơn về các thư viện JavaScript. Các thư viện này là bộ mã JavaScript được viết sẵn có thể tự động hóa các công việc phổ biến cụ thể. Sử dụng các thư viện như ethers.js có thể tăng tốc quá trình tạo DApp và thậm chí tăng tốc các tương tác cụ thể trên blockchain khác.

Tại sao chúng ta cần các thư viện JavaScript trong Ethereum?

Ethereum đã phát triển thành một nền tảng phát triển phần mềm phi tập trung.hợp đồng thông minhđểDeTừ ứng dụng tài chính đến DApps, việc lập trình là không thể thiếu trong hệ sinh thái Ethereum. Đó chính là lý do tại sao các thư viện JavaScript được tinh chỉnh cho Ethereum như ethers.js tồn tại. Sử dụng những thư viện này, các nhà phát triển có thể kết nối với mạng, triển khai và tương tác với các hợp đồng thông minh, và quản lý dễ dàng blockchaindữ liệu.

Bạn có biết không? Ethers.js không phải là thư viện Javascript Ethereum duy nhất được biết đến. Một thư viện đáng chú ý khác là Web3.js, được thành lập bởi Ethereum Foundation. Web3.js nổi tiếng với bộ tài liệu đầy đủ và được thiết kế cho các ứng dụng phi tập trung phức tạp hơn.

Tại sao ethers.js quan trọng?

Như đã đề cập trước đó, ethers.js nhằm mục đích hướng tới các nhà phát triển tương tác với blockchain Ethereum. Về mức độ quan trọng, thư viện này được phát triển bởi Richard Moore, được tiếp thị dưới tên gọi "Ether," hữu ích cho các công việc sau:

  1. Đơn giản hóa một số giao dịch Ethereum
  2. Cung cấp truy cập vào tài liệu và nguồn lực toàn diện
  3. Hỗ trợ phát triển DApp


Hệ sinh thái Ethers.js và các vai trò mà nó có thể đảm nhận: BeInCrypto

Đây là một ví dụ nhanh về đoạn mã được sử dụng để lấy số dư hiện tại của một tài khoản Ethereum. Hãy đọc mã trước và hiểu cách mà ethers.js giúp cuộc sống dễ dàng hơn:

const { ethers } = require('ethers');

// Kết nối với mạng Ethereum

const provider = new ethers.providers.JsonRpcProvider(‘https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’);

// Chỉ định địa chỉ tài khoản

const accountAddress = ‘0xABC123…’;

// Fetch and display the balance

provider.getBalance(accountAddress).then((balance) => {

// Chuyển đổi số dư từ Wei sang Etherconst balanceInEther = ethers.utils.formatEther(balance);console.log(`Số dư: ${balanceInEther} ETH`);

});

Trong ví dụ này, bạn có thể thấy rõ cách lệnh - ethers.providers.JsonRpcProvider - gọi một điểm cuối Infura, và getBalance truy xuất số dư. Bạn không cần phải đối mặt trực tiếp với JSON RPC của Ethereum hoặc cuộc gọi thủ tục từ xa. Trong trường hợp này, bạn có thể nghĩ về ethers.js như một bộ phiên dịch giúp Ethereum trở nên dễ dàng và quen thuộc hơn với bạn.

Vẫn chưa chắc chắn về ý nghĩa của ethers.js? Đây là một ví dụ nhanh.

Hãy nghĩ về ethers.js như một thẻ thư viện cũ. Hãy nhớ rằng những thẻ đó có danh mục, cho phép bạn tìm cuốn sách đúng bằng cách xác định dãy và sau đó là số giá. Đó là mục tiêu mà ethers.js hướng đến. Nó giúp đơn giản hóa và tổ chức các khả năng rộng lớn của Ethereum, giúp cho các nhà phát triển tìm chính xác những gì họ cần.

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Giải thích tất cả các phiên bản Ethers.js

Trong những năm qua, đã xuất hiện một số phiên bản Ethers.js, mỗi phiên bản giới thiệu một tính năng mới hoặc một sửa lỗi. Ngoài ra, việc đánh số phiên bản tuân theo cú pháp chuẩn, như v1.2.3, trong đó số đầu tiên biểu thị phiên bản chính và số thứ hai và ba biểu thị phiên bản phụ và sửa lỗi. Chúng ta chỉ xem xét việc nâng cấp phiên bản chính cho đến nay - những thay đổi có thể không tương thích ngược.

  1. Phiên bản 1.x (Kế thừa): Đây là bản phát hành ban đầu, tiếp theo là các tính năng liên quan đến việc ký giao dịch, quản lý ví và nhiều hơn nữa.
  2. Phiên bản 2.x (Ví Ethers): Tập trung vào tiện ích và tính năng của ví, bao gồm việc lưu trữ an toàn của khóa riêng.
  3. Phiên bản 3.x (nhà cung cấp Ethers): Giới thiệu các trừng phạm để kết nối với các nút Ethereum. Đã tiếp nhận nhiều loại người chơi khác nhau, bao gồm Infura, WebSockets, và nhiều hơn nữa.
  4. Phiên bản 4.x (hợp đồng Ethers): Các thuộc tính được điều chỉnh bởi hợp đồng thông minh đã được mở rộng, với nhiều tiện ích hơn cho việc mã hóa và giải mã dữ liệu, bộ lọc sự kiện, và nhiều hơn nữa.
  5. Phiên bản 5.x: Cung cấp một kiến trúc modular, hỗ trợ nâng cao cho ENS, xử lý lỗi toàn diện và nhiều tính năng khác.
  6. Phiên bản 6.x: Bao gồm các tính năng ES6, giới thiệu BigInt, quyền truy cập quá tải, và nhiều hơn nữa.


Kiến trúc và các thành phần của Ethers.js: BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Bạn có thể tìm thêm chi tiết về mỗi phiên bản bằng cách xem Ethers.js’tài liệu gốc.

“Ethers.js tỏa sáng với khả năng tương tác blockchain vượt trội, hỗ trợ TypeScript nguyên bản và các công cụ debug tiên tiến. Đó là một thư viện nhẹ nhàng mà tích hợp một cách mượt mà vào các framework phổ biến như React, Vue, Angular v.v.”

Redbelly Intern, Builder: X

Bắt đầu với ethers.js

Trước khi bạn dự định tận dụng tiềm năng của ethers.js, cần phải biết ở giai đoạn nào của việc phát triển DApp hoặc hợp đồng thông minh nó được gọi. Đây là một phân tách nhanh chóng cho những người cần biết và hiểu rõ những yếu tố này từ đầu.

“Web3.js là dễ sử dụng cho người mới bắt đầu và ngắn gọn hơn ethers.js.

Ethers.js, on the other hand, gives more options and is new; it is a little bit more complex than Web3.js.”

degenBRo, nhà phát triển blockchain và người sáng lập của Solidity Finance: Đã nói với BeInCrypto

Để bắt đầu, bạn cần mở máy tính và thiết lập môi trường phát triển. Điều này bao gồm Node.js và Môi trường Phát triển Tích Hợp. Lưu ý rằng JavaScript thường chạy trên trình duyệt, nhưng với Node.js, cùng một code có thể chạy trên máy tính. Đó là môi trường thực thi Node.js cài đặt thư viện Javascript như ethers.js.

Về IDE, mà một nhà phát triển phần mềm cần để thử nghiệm, bạn có thể xem xét VS Code, Sublime Text, hoặc bất cứ thứ gì khác.

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Cài đặt hỗ trợ của ethers.js

Bước tiếp theo là cài đặt Ethers, thư viện chứa ethers.js.

npm cài đặt ethers

Sau đó, bạn cần sử dụng Ether để kết nối với Ví Ethereum, vì việc tương tác với blockchain sẽ yêu cầu bước này để xác thực thông tin. Bạn có thể sử dụng thư viện Ethers đã cài đặt cho việc này. Đây là lệnh mẫu:

/Related

BÀI VIẾT KHÁC

Ethereum ETF Explained: What It Is and How It Works

14 phút Mar 15, 2024 3 ngày trước

Cách Nhận Thanh Toán Bằng Bitcoin (BTC): Tất Cả Mọi Thứ Bạn Cần Biết

25 phút Mar 15, 2024 2 ngày trước

const { ethers } = require(‘ethers’);

// Kết nối với MetaMask

const provider = new ethers.providers.Web3Provider(window.ethereum);

Sau khi hoàn thành, bạn có thể sử dụng IDE để viết mã solidity và tạo hợp đồng thông minh cho DApps. Ethers.js sẽ được sử dụng để triển khai mã. Bạn cũng có thể kiểm tra DApp hoặc hợp đồng một cách địa phương, sử dụng môi trường như Trufflevà Hardhat. Sau đó, bạn triển khai các hợp đồng lên mạng lưới Ethereum, cho đó cần ethers.js.

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = chờ contract.deploy();

Đối với những người không rành về, Bytecode, Signer là những thuật ngữ cần thiết cho việc phát triển hợp đồng thông minh mượt mà. Abi hoặc giao diện nhị phân ứng dụng cũng giống như nhãn giúp mạng nhận dạng hợp đồng thông minh của bạn. Bytecode là phiên bản đã biên dịch hoặc chuẩn bị sẵn sàng cho mạng của hợp đồng thông minh và người ký là thực thể tạo chữ ký.

Ethers.js cho phía trước

Khi hợp đồng thông minh được triển khai, bạn cần xây dựng giao diện người dùng hoặc giao diện người dùng của DApp. Đối với điều này, bạn có thể sử dụng Angular hoặc React. Bạn thậm chí có thể tích hợp Ethers.js vào phía trước để đảm bảo rằng nó có thể tương tác với hợp đồng thông minh Ethereum. Đây là mã mẫu cho việc đó:

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

Sau đó, bạn cần thử nghiệm DApp trên mạng thử nghiệm, ví dụ như Rinkeby hoặc Ropsten. Khi bạn hài lòng, bạn có thể triển khai DApp trên mainnet. Chú ý xem có bao nhiêu lần trong quá trình bạn cần tương tác với Ether hoặc ethers.js.

Tính năng cốt lõi

Ethers.js được coi là một thư viện Ethereum toàn diện. Dưới đây là một số ưu đãi độc quyền có thể giúp cuộc sống của các nhà phát triển trở nên dễ dàng:

Nhà cung cấp

Các nhà cung cấp Ethers.js hoạt động như cầu nối giữa mạng lưới Ethereum và ứng dụng phi tập trung (DApp) mà bạn đang làm việc. Điều này bao gồm việc đơn giản hóa việc truy vấn dữ liệu blockchain và cũng giúp phát sóng giao dịch. Infura là một trong những nhà cung cấp mà Ethers.js sử dụng.

Đây là mã mẫu cho cùng một điều:

const { ethers } = require('ethers');

// Kết nối bằng cách sử dụng Infura

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

// Kiểm tra số block hiện tại

provider.getBlockNumber().then((blockNumber) => {

console.log(“Số block hiện tại:”, blockNumber);

});

Ethers.js cho phép bạn quản lý ví, cho phép bạn tạo tài khoản mới, nhập tài khoản hiện có, quản lý an toàn các khóa riêng để ký giao dịch, và thực hiện nhiều chức năng khác.

Hợp đồng

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Phần này của sự tồn tại của Ethers.js hỗ trợ việc khởi tạo đối tượng. Điều này giúp việc gọi các chức năng hợp đồng cụ thể dễ dàng hơn, giống như các phương thức Javascript nguyên bản hơn.


Ethers.js và tương tác hợp đồng thông minh: BeInCrypto

Tích hợp ENS

Ethers.js có thể giải quyết tên ENS thành địa chỉ Ethereum tương ứng và ngược lại. Tính năng này giảm thiểu rủi ro sai sót.

Dưới đây là một đoạn mã mẫu cho điều này:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

const ensName = ‘alice.eth’;

provider.resolveName(ensName).then((address) => {

console.log(`${ensName} được giải quyết thành ${address}`);

});

Bên cạnh các tính năng đã đề cập, Ethers.js cũng tự hào có các khía cạnh hoặc tính năng sau, giúp các nhà phát triển có quyền truy cập trực tiếp dành riêng cho Ethereum:

  1. Người ký
  2. Tiện ích
  3. Nghe sự kiện và bộ lọc (dành cho việc kích hoạt phản ứng trong thời gian thực đối với các hành động trên blockchain)
  4. Giao dịch
  5. Hỗ trợ cuộc gọi đa nhiệm
  6. Hỗ trợ TypeScript (nhằm mục đích cải thiện độ tin cậy của mã và trải nghiệm phát triển tổng thể)

Một số lợi ích khi sử dụng Ethers.js:

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Làm cách nào các báo xuất bản về tiền điện tử có thể tận dụng Ethers.js

Các ấn phẩm truyền thông như BeInCrypto có thể tận dụng Ethers.js để tạo ra các công cụ web3 tiên tiến và hữu ích từ đầu. Như vậy, trở thành có thể sử dụng các tính năng được hỗ trợ bởi Ethereum để tăng cường tính sử dụng. Dưới đây là các lựa chọn mà mọi người có thể xem xét:

Dữ liệu cung cấp

Các tính năng của Ethers.js có thể được sử dụng để tích hợp dữ liệu tiền điện tử thời gian thực thực tế, như thống kê mạng, phí gas, và nhiều hơn nữa, để bài viết và tài nguyên luôn mới. Đây là một đoạn mã mẫu để truy xuất số block mới nhất, ví dụ cho Bitcoin, để theo dõi sự kiện halving trong thời gian thực.

const { ethers } = require('ethers');

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

provider.getBlockNumber().then((blockNumber) => {

console.log(“Số block hiện tại:”, blockNumber);// Tích hợp dữ liệu này vào nền tảng xuất bản của bạn để có nguồn cấp dữ liệu thời gian thực

});

Nội dung tương tác

Các bài viết có thể tạo ra các phần nội dung tương tác, cho phép người dùng tương tác trực tiếp với hợp đồng thông minh, tham gia bình chọn, hoặc thậm chí chơi những trò chơi nhỏ nếu cần thiết.

Đây là một đoạn mã mẫu để lấy một lời chào cụ thể từ một hợp đồng thông minh:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

“hàm getGreeting() xem trả về (chuỗi)”

];

const contract = new ethers.Contract(contractAddress, contractABI, provider);

hàm không đồng bộ hiển thịLời chào mừng() {

const greeting = await contract.getGreeting();document.getElementById('greeting').innerText = greeting;

}

Mở tài khoản trên KuCoin & nhận ngay thưởng đảm bảo lên đến 700 USDT.

  1. Bắt đầu hành trình giao dịch tiền điện tử của bạn với KuCoin và nhận lợi thế từ đầu!
  2. Giao dịch một cách tự tin trên KuCoin! Nền tảng của chúng tôi ưu tiên bảo mật của bạn, cung cấp bảo vệ cấp cao nhất cho tài sản kỹ thuật số của bạn.
  3. Khám phá thế giới rộng lớn của tiền điện tử với KuCoin!

Đăng ký ngay!

Một ví dụ thực tế về cách Ethers.js được triển khai:

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Xuất bản phi tập trung

Các báo chí cũng có thể xem xét việc xuất bản phi tập trung, nơi một phần của bài viết được xuất bản trên mạng lưới blockchain. Điều này có thể giúp chống lại sự kiểm duyệt và thậm chí giữ nguyên tính chất của nội dung.

Đây là một đoạn mã mẫu nơi mà băm bài viết được lưu trữ trực tuyến như là bằng chứng của việc xuất bản:

const { ethers } = require('ethers');

const ví = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id(“Nội dung bài viết ở đây”);

const tx = await wallet.sendTransaction({

to: ‘0xSomeStorageContractAddress’,data: contentHash // Giả sử hợp đồng chấp nhận và lưu trữ dữ liệu này

});

console.log("Mã giao dịch (bằng chứng của việc xuất bản):", tx.hash);

Đây chỉ là một số trường hợp sử dụng cho các bản tin truyền thông. Nhưng cũng có các lĩnh vực khác có thể tận dụng sức mạnh của ethers.js. Các lĩnh vực này bao gồm:

  1. Nhà phát triển Blockchain (dự kiến)
  2. Các nhà phân tích tài chính đang làm việc với DeFisố liệu đo lường
  3. Nhà phát triển trò chơi
  4. Người sáng tạo nội dung
  5. Quản lý chuỗi cung ứng

Và hơn nữa.

Các ứng dụng thực tế của Ethers.js

Ngoài việc hữu ích trong DeFi, NFT và các dự án game, có một số ứng dụng phi tập trung (DApps) hiện có hỗ trợ việc sử dụng Ethers.js. Các ứng dụng này bao gồm:

  1. Uniswap: Ether.js tương tác với các hợp đồng thông minh tích hợp của Uniswap để thực hiện giao dịch, thêm thanh khoản và thậm chí truy vấn thống kê hồ bơi. Trong trường hợp này, các nhà phát triển DApp dự định xây dựng các công cụ tương tác với Uniswap, như bot giao dịch, công cụ quản lý danh mục và nhiều hơn nữa.
  2. Aave: Nhà phát triển DApp và các bên liên quan khác có thể tận dụng các chức năng của Ether.js để tương tác với các hợp đồng thông minh cụ thể của Aave. Điều này giúp họ chuẩn bị sẵn sàng cho giao diện trước để vay tài sản, gửi tài sản đóng cọc và thực hiện các hoạt động khác.

Phá vỡ một số điều huyền thoại về Ethers.js:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765558806291894739%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Bảo mật considerations

Sử dụng Ethers.js đi kèm với một bộ sưu tập khá phong phú của bảo mậtnhững yếu tố cần xem xét. Dưới đây là một số điều cần tuân theo:

  1. Khuyến nghị không nên đặt sẵn khóa riêng tư bên trong mã nguồn của ứng dụng của bạn.
  2. Mọi tương tác hợp đồng thông minh nên được tiền đề bằng việc kiểm thử và kiểm toán kỹ lưỡng các hợp đồng.
  3. Khi bạn tương tác với các hợp đồng thông minh, hãy sử dụng các mẫu an toàn như 'gọi' cho các nhiệm vụ chỉ đọc.
  4. Để tối ưu hóa việc sử dụng ethers.js, bạn có thể xem xét việc gom nhóm yêu cầu. Đây là nơi bạn có thể gom nhóm các yêu cầu chỉ đọc, nhằm giảm thiểu số lượt gọi mạng. Không cần phải nói rằng những kỹ thuật tối ưu hóa này có thể làm cho ứng dụng trở nên có khả năng mở rộng cao và tiết kiệm chi phí.

Đây là một ví dụ về cách nó hoạt động:

// Mã giả cho việc gộp cuộc gọi hợp đồng với Ethers.js (ví dụ khái niệm)

const contract = new ethers.Contract(address, abi, provider);

const [giá trị1, giá trị2, giá trị3] = await Promise.all([

contract.viewFunction1(), contract.viewFunction2(), contract.viewFunction3()

];

Ethers.js: một công cụ linh hoạt

Được tài trợ

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Như được thể hiện trong hướng dẫn này, Ethers.js là một công cụ linh hoạt. Trong khi chúng tôi đã xem qua khả năng của nó một cách nhanh chóng, cách tốt nhất để hiểu rõ hoàn toàn về Ethers.js là nghiên cứu sâu hơn vào thế giới của hợp đồng thông minh, JavaScript, IDEs, DApps và nhiều hơn nữa. Ngoài ra, tham gia cộng đồng Ethereum và Ethers cũng có thể hữu ích.

Câu hỏi thường gặp

Làm thế nào các nhà phát triển có thể sử dụng các sự kiện Ethers.js?

Các tiện ích chính được cung cấp bởi Ethers.js là gì?

Liên kết giữa Ethers.js và Web3.js là gì?

Disclaimer:

  1. Bài viết này được in lại từ [ beincrypto], Tất cả bản quyền thuộc về tác giả gốc [Ananda Banerjee]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ với Gate Họcđội của chúng tôi và họ sẽ xử lý nhanh chóng.
  2. Tuyên bố miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn bản dịch là không được phép.

Ethers.js Là Gì? Một Sâu Rộng Vào Thư Viện JavaScript Của Ethereum

Người mới bắt đầu3/18/2024, 8:47:39 AM
Ethereum là một giao thức blockchain nổi tiếng với bộ công cụ, hợp đồng thông minh và hệ sinh thái được căn chỉnh mã nguồn, dựa nặng vào ethers.js (một thư viện Javascript) để cung cấp sức mạnh cần thiết cho phương pháp phát triển dành cho các nhà phát triển của nó.

Nếu bạn đang quan tâm đến Ether (ETH) hơn các đối thủ khác trong lĩnh vực tiền điện tử, bạn nên dành chút thời gian để hiểu về Ethereum từ một góc độ kỹ thuật hơn. Một giao thức blockchain nổi tiếng với bộ công cụ, hợp đồng thông minh và hệ sinh thái được điều chỉnh bằng mã nguồn, Ethereum phụ thuộc nhiều vào ethers.js - một thư viện Javascript - để mang lại sức mạnh cần thiết cho cách tiếp cận hướng tới các nhà phát triển.

Mặc dù ethers.js không phải là thư viện JavaScript native Ethereum duy nhất, nhưng đó là lựa chọn tốt hơn cho các ứng dụng phi tập trung nhỏ hơn. Trong hướng dẫn này, chúng tôi sẽ đi sâu vào các khía cạnh của ethers.js, giúp bạn hiểu rõ hơn về khái niệm kỹ thuật này.

Trong hướng dẫn này:

  1. Giải nén ethers.js
  2. Tại sao ethers.js quan trọng?
  3. Giải thích tất cả các phiên bản Ethers.js
  4. Bắt đầu với ethers.js
  5. Tính năng cốt lõi
  6. Làm thế nào các báo cáo về tiền điện tử có thể tận dụng Ethers.js
  7. Ứng dụng thực tế của Ethers.js
  8. Xem xét về an ninh
  9. Ethers.js: một công cụ linh hoạt
  10. Câu hỏi thường gặp

Mở gói ethers.js

ethers.js là một thư viện JavaScript — một tập hợp mã đã được viết trước để tự động hóa một số chức năng. Sử dụng thư viện JavaScript cho việc phát triển có thể giảm thiểu nỗ lực viết mã. Quá trình trở nên thân thiện hơn với người dùng, và đối với các nhà phát triển DApp, những thư viện này giúp cung cấp các chức năng cụ thể cho blockchain cơ bản dưới dạng bản gói.

Ethers.js và chu kỳ phát triển: BeInCrypto

Đây là GitHubkho lưu trữcho thư viện.

JavaScript libraries là gì?

Trước khi chúng ta đào sâu vào ethers.js, hãy xem xét kỹ hơn về các thư viện JavaScript. Các thư viện này là bộ mã JavaScript được viết sẵn có thể tự động hóa các công việc phổ biến cụ thể. Sử dụng các thư viện như ethers.js có thể tăng tốc quá trình tạo DApp và thậm chí tăng tốc các tương tác cụ thể trên blockchain khác.

Tại sao chúng ta cần các thư viện JavaScript trong Ethereum?

Ethereum đã phát triển thành một nền tảng phát triển phần mềm phi tập trung.hợp đồng thông minhđểDeTừ ứng dụng tài chính đến DApps, việc lập trình là không thể thiếu trong hệ sinh thái Ethereum. Đó chính là lý do tại sao các thư viện JavaScript được tinh chỉnh cho Ethereum như ethers.js tồn tại. Sử dụng những thư viện này, các nhà phát triển có thể kết nối với mạng, triển khai và tương tác với các hợp đồng thông minh, và quản lý dễ dàng blockchaindữ liệu.

Bạn có biết không? Ethers.js không phải là thư viện Javascript Ethereum duy nhất được biết đến. Một thư viện đáng chú ý khác là Web3.js, được thành lập bởi Ethereum Foundation. Web3.js nổi tiếng với bộ tài liệu đầy đủ và được thiết kế cho các ứng dụng phi tập trung phức tạp hơn.

Tại sao ethers.js quan trọng?

Như đã đề cập trước đó, ethers.js nhằm mục đích hướng tới các nhà phát triển tương tác với blockchain Ethereum. Về mức độ quan trọng, thư viện này được phát triển bởi Richard Moore, được tiếp thị dưới tên gọi "Ether," hữu ích cho các công việc sau:

  1. Đơn giản hóa một số giao dịch Ethereum
  2. Cung cấp truy cập vào tài liệu và nguồn lực toàn diện
  3. Hỗ trợ phát triển DApp


Hệ sinh thái Ethers.js và các vai trò mà nó có thể đảm nhận: BeInCrypto

Đây là một ví dụ nhanh về đoạn mã được sử dụng để lấy số dư hiện tại của một tài khoản Ethereum. Hãy đọc mã trước và hiểu cách mà ethers.js giúp cuộc sống dễ dàng hơn:

const { ethers } = require('ethers');

// Kết nối với mạng Ethereum

const provider = new ethers.providers.JsonRpcProvider(‘https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’);

// Chỉ định địa chỉ tài khoản

const accountAddress = ‘0xABC123…’;

// Fetch and display the balance

provider.getBalance(accountAddress).then((balance) => {

// Chuyển đổi số dư từ Wei sang Etherconst balanceInEther = ethers.utils.formatEther(balance);console.log(`Số dư: ${balanceInEther} ETH`);

});

Trong ví dụ này, bạn có thể thấy rõ cách lệnh - ethers.providers.JsonRpcProvider - gọi một điểm cuối Infura, và getBalance truy xuất số dư. Bạn không cần phải đối mặt trực tiếp với JSON RPC của Ethereum hoặc cuộc gọi thủ tục từ xa. Trong trường hợp này, bạn có thể nghĩ về ethers.js như một bộ phiên dịch giúp Ethereum trở nên dễ dàng và quen thuộc hơn với bạn.

Vẫn chưa chắc chắn về ý nghĩa của ethers.js? Đây là một ví dụ nhanh.

Hãy nghĩ về ethers.js như một thẻ thư viện cũ. Hãy nhớ rằng những thẻ đó có danh mục, cho phép bạn tìm cuốn sách đúng bằng cách xác định dãy và sau đó là số giá. Đó là mục tiêu mà ethers.js hướng đến. Nó giúp đơn giản hóa và tổ chức các khả năng rộng lớn của Ethereum, giúp cho các nhà phát triển tìm chính xác những gì họ cần.

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Giải thích tất cả các phiên bản Ethers.js

Trong những năm qua, đã xuất hiện một số phiên bản Ethers.js, mỗi phiên bản giới thiệu một tính năng mới hoặc một sửa lỗi. Ngoài ra, việc đánh số phiên bản tuân theo cú pháp chuẩn, như v1.2.3, trong đó số đầu tiên biểu thị phiên bản chính và số thứ hai và ba biểu thị phiên bản phụ và sửa lỗi. Chúng ta chỉ xem xét việc nâng cấp phiên bản chính cho đến nay - những thay đổi có thể không tương thích ngược.

  1. Phiên bản 1.x (Kế thừa): Đây là bản phát hành ban đầu, tiếp theo là các tính năng liên quan đến việc ký giao dịch, quản lý ví và nhiều hơn nữa.
  2. Phiên bản 2.x (Ví Ethers): Tập trung vào tiện ích và tính năng của ví, bao gồm việc lưu trữ an toàn của khóa riêng.
  3. Phiên bản 3.x (nhà cung cấp Ethers): Giới thiệu các trừng phạm để kết nối với các nút Ethereum. Đã tiếp nhận nhiều loại người chơi khác nhau, bao gồm Infura, WebSockets, và nhiều hơn nữa.
  4. Phiên bản 4.x (hợp đồng Ethers): Các thuộc tính được điều chỉnh bởi hợp đồng thông minh đã được mở rộng, với nhiều tiện ích hơn cho việc mã hóa và giải mã dữ liệu, bộ lọc sự kiện, và nhiều hơn nữa.
  5. Phiên bản 5.x: Cung cấp một kiến trúc modular, hỗ trợ nâng cao cho ENS, xử lý lỗi toàn diện và nhiều tính năng khác.
  6. Phiên bản 6.x: Bao gồm các tính năng ES6, giới thiệu BigInt, quyền truy cập quá tải, và nhiều hơn nữa.


Kiến trúc và các thành phần của Ethers.js: BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Bạn có thể tìm thêm chi tiết về mỗi phiên bản bằng cách xem Ethers.js’tài liệu gốc.

“Ethers.js tỏa sáng với khả năng tương tác blockchain vượt trội, hỗ trợ TypeScript nguyên bản và các công cụ debug tiên tiến. Đó là một thư viện nhẹ nhàng mà tích hợp một cách mượt mà vào các framework phổ biến như React, Vue, Angular v.v.”

Redbelly Intern, Builder: X

Bắt đầu với ethers.js

Trước khi bạn dự định tận dụng tiềm năng của ethers.js, cần phải biết ở giai đoạn nào của việc phát triển DApp hoặc hợp đồng thông minh nó được gọi. Đây là một phân tách nhanh chóng cho những người cần biết và hiểu rõ những yếu tố này từ đầu.

“Web3.js là dễ sử dụng cho người mới bắt đầu và ngắn gọn hơn ethers.js.

Ethers.js, on the other hand, gives more options and is new; it is a little bit more complex than Web3.js.”

degenBRo, nhà phát triển blockchain và người sáng lập của Solidity Finance: Đã nói với BeInCrypto

Để bắt đầu, bạn cần mở máy tính và thiết lập môi trường phát triển. Điều này bao gồm Node.js và Môi trường Phát triển Tích Hợp. Lưu ý rằng JavaScript thường chạy trên trình duyệt, nhưng với Node.js, cùng một code có thể chạy trên máy tính. Đó là môi trường thực thi Node.js cài đặt thư viện Javascript như ethers.js.

Về IDE, mà một nhà phát triển phần mềm cần để thử nghiệm, bạn có thể xem xét VS Code, Sublime Text, hoặc bất cứ thứ gì khác.

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Cài đặt hỗ trợ của ethers.js

Bước tiếp theo là cài đặt Ethers, thư viện chứa ethers.js.

npm cài đặt ethers

Sau đó, bạn cần sử dụng Ether để kết nối với Ví Ethereum, vì việc tương tác với blockchain sẽ yêu cầu bước này để xác thực thông tin. Bạn có thể sử dụng thư viện Ethers đã cài đặt cho việc này. Đây là lệnh mẫu:

/Related

BÀI VIẾT KHÁC

Ethereum ETF Explained: What It Is and How It Works

14 phút Mar 15, 2024 3 ngày trước

Cách Nhận Thanh Toán Bằng Bitcoin (BTC): Tất Cả Mọi Thứ Bạn Cần Biết

25 phút Mar 15, 2024 2 ngày trước

const { ethers } = require(‘ethers’);

// Kết nối với MetaMask

const provider = new ethers.providers.Web3Provider(window.ethereum);

Sau khi hoàn thành, bạn có thể sử dụng IDE để viết mã solidity và tạo hợp đồng thông minh cho DApps. Ethers.js sẽ được sử dụng để triển khai mã. Bạn cũng có thể kiểm tra DApp hoặc hợp đồng một cách địa phương, sử dụng môi trường như Trufflevà Hardhat. Sau đó, bạn triển khai các hợp đồng lên mạng lưới Ethereum, cho đó cần ethers.js.

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = chờ contract.deploy();

Đối với những người không rành về, Bytecode, Signer là những thuật ngữ cần thiết cho việc phát triển hợp đồng thông minh mượt mà. Abi hoặc giao diện nhị phân ứng dụng cũng giống như nhãn giúp mạng nhận dạng hợp đồng thông minh của bạn. Bytecode là phiên bản đã biên dịch hoặc chuẩn bị sẵn sàng cho mạng của hợp đồng thông minh và người ký là thực thể tạo chữ ký.

Ethers.js cho phía trước

Khi hợp đồng thông minh được triển khai, bạn cần xây dựng giao diện người dùng hoặc giao diện người dùng của DApp. Đối với điều này, bạn có thể sử dụng Angular hoặc React. Bạn thậm chí có thể tích hợp Ethers.js vào phía trước để đảm bảo rằng nó có thể tương tác với hợp đồng thông minh Ethereum. Đây là mã mẫu cho việc đó:

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

Sau đó, bạn cần thử nghiệm DApp trên mạng thử nghiệm, ví dụ như Rinkeby hoặc Ropsten. Khi bạn hài lòng, bạn có thể triển khai DApp trên mainnet. Chú ý xem có bao nhiêu lần trong quá trình bạn cần tương tác với Ether hoặc ethers.js.

Tính năng cốt lõi

Ethers.js được coi là một thư viện Ethereum toàn diện. Dưới đây là một số ưu đãi độc quyền có thể giúp cuộc sống của các nhà phát triển trở nên dễ dàng:

Nhà cung cấp

Các nhà cung cấp Ethers.js hoạt động như cầu nối giữa mạng lưới Ethereum và ứng dụng phi tập trung (DApp) mà bạn đang làm việc. Điều này bao gồm việc đơn giản hóa việc truy vấn dữ liệu blockchain và cũng giúp phát sóng giao dịch. Infura là một trong những nhà cung cấp mà Ethers.js sử dụng.

Đây là mã mẫu cho cùng một điều:

const { ethers } = require('ethers');

// Kết nối bằng cách sử dụng Infura

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

// Kiểm tra số block hiện tại

provider.getBlockNumber().then((blockNumber) => {

console.log(“Số block hiện tại:”, blockNumber);

});

Ethers.js cho phép bạn quản lý ví, cho phép bạn tạo tài khoản mới, nhập tài khoản hiện có, quản lý an toàn các khóa riêng để ký giao dịch, và thực hiện nhiều chức năng khác.

Hợp đồng

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Phần này của sự tồn tại của Ethers.js hỗ trợ việc khởi tạo đối tượng. Điều này giúp việc gọi các chức năng hợp đồng cụ thể dễ dàng hơn, giống như các phương thức Javascript nguyên bản hơn.


Ethers.js và tương tác hợp đồng thông minh: BeInCrypto

Tích hợp ENS

Ethers.js có thể giải quyết tên ENS thành địa chỉ Ethereum tương ứng và ngược lại. Tính năng này giảm thiểu rủi ro sai sót.

Dưới đây là một đoạn mã mẫu cho điều này:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

const ensName = ‘alice.eth’;

provider.resolveName(ensName).then((address) => {

console.log(`${ensName} được giải quyết thành ${address}`);

});

Bên cạnh các tính năng đã đề cập, Ethers.js cũng tự hào có các khía cạnh hoặc tính năng sau, giúp các nhà phát triển có quyền truy cập trực tiếp dành riêng cho Ethereum:

  1. Người ký
  2. Tiện ích
  3. Nghe sự kiện và bộ lọc (dành cho việc kích hoạt phản ứng trong thời gian thực đối với các hành động trên blockchain)
  4. Giao dịch
  5. Hỗ trợ cuộc gọi đa nhiệm
  6. Hỗ trợ TypeScript (nhằm mục đích cải thiện độ tin cậy của mã và trải nghiệm phát triển tổng thể)

Một số lợi ích khi sử dụng Ethers.js:

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Làm cách nào các báo xuất bản về tiền điện tử có thể tận dụng Ethers.js

Các ấn phẩm truyền thông như BeInCrypto có thể tận dụng Ethers.js để tạo ra các công cụ web3 tiên tiến và hữu ích từ đầu. Như vậy, trở thành có thể sử dụng các tính năng được hỗ trợ bởi Ethereum để tăng cường tính sử dụng. Dưới đây là các lựa chọn mà mọi người có thể xem xét:

Dữ liệu cung cấp

Các tính năng của Ethers.js có thể được sử dụng để tích hợp dữ liệu tiền điện tử thời gian thực thực tế, như thống kê mạng, phí gas, và nhiều hơn nữa, để bài viết và tài nguyên luôn mới. Đây là một đoạn mã mẫu để truy xuất số block mới nhất, ví dụ cho Bitcoin, để theo dõi sự kiện halving trong thời gian thực.

const { ethers } = require('ethers');

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

provider.getBlockNumber().then((blockNumber) => {

console.log(“Số block hiện tại:”, blockNumber);// Tích hợp dữ liệu này vào nền tảng xuất bản của bạn để có nguồn cấp dữ liệu thời gian thực

});

Nội dung tương tác

Các bài viết có thể tạo ra các phần nội dung tương tác, cho phép người dùng tương tác trực tiếp với hợp đồng thông minh, tham gia bình chọn, hoặc thậm chí chơi những trò chơi nhỏ nếu cần thiết.

Đây là một đoạn mã mẫu để lấy một lời chào cụ thể từ một hợp đồng thông minh:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

“hàm getGreeting() xem trả về (chuỗi)”

];

const contract = new ethers.Contract(contractAddress, contractABI, provider);

hàm không đồng bộ hiển thịLời chào mừng() {

const greeting = await contract.getGreeting();document.getElementById('greeting').innerText = greeting;

}

Mở tài khoản trên KuCoin & nhận ngay thưởng đảm bảo lên đến 700 USDT.

  1. Bắt đầu hành trình giao dịch tiền điện tử của bạn với KuCoin và nhận lợi thế từ đầu!
  2. Giao dịch một cách tự tin trên KuCoin! Nền tảng của chúng tôi ưu tiên bảo mật của bạn, cung cấp bảo vệ cấp cao nhất cho tài sản kỹ thuật số của bạn.
  3. Khám phá thế giới rộng lớn của tiền điện tử với KuCoin!

Đăng ký ngay!

Một ví dụ thực tế về cách Ethers.js được triển khai:

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Xuất bản phi tập trung

Các báo chí cũng có thể xem xét việc xuất bản phi tập trung, nơi một phần của bài viết được xuất bản trên mạng lưới blockchain. Điều này có thể giúp chống lại sự kiểm duyệt và thậm chí giữ nguyên tính chất của nội dung.

Đây là một đoạn mã mẫu nơi mà băm bài viết được lưu trữ trực tuyến như là bằng chứng của việc xuất bản:

const { ethers } = require('ethers');

const ví = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id(“Nội dung bài viết ở đây”);

const tx = await wallet.sendTransaction({

to: ‘0xSomeStorageContractAddress’,data: contentHash // Giả sử hợp đồng chấp nhận và lưu trữ dữ liệu này

});

console.log("Mã giao dịch (bằng chứng của việc xuất bản):", tx.hash);

Đây chỉ là một số trường hợp sử dụng cho các bản tin truyền thông. Nhưng cũng có các lĩnh vực khác có thể tận dụng sức mạnh của ethers.js. Các lĩnh vực này bao gồm:

  1. Nhà phát triển Blockchain (dự kiến)
  2. Các nhà phân tích tài chính đang làm việc với DeFisố liệu đo lường
  3. Nhà phát triển trò chơi
  4. Người sáng tạo nội dung
  5. Quản lý chuỗi cung ứng

Và hơn nữa.

Các ứng dụng thực tế của Ethers.js

Ngoài việc hữu ích trong DeFi, NFT và các dự án game, có một số ứng dụng phi tập trung (DApps) hiện có hỗ trợ việc sử dụng Ethers.js. Các ứng dụng này bao gồm:

  1. Uniswap: Ether.js tương tác với các hợp đồng thông minh tích hợp của Uniswap để thực hiện giao dịch, thêm thanh khoản và thậm chí truy vấn thống kê hồ bơi. Trong trường hợp này, các nhà phát triển DApp dự định xây dựng các công cụ tương tác với Uniswap, như bot giao dịch, công cụ quản lý danh mục và nhiều hơn nữa.
  2. Aave: Nhà phát triển DApp và các bên liên quan khác có thể tận dụng các chức năng của Ether.js để tương tác với các hợp đồng thông minh cụ thể của Aave. Điều này giúp họ chuẩn bị sẵn sàng cho giao diện trước để vay tài sản, gửi tài sản đóng cọc và thực hiện các hoạt động khác.

Phá vỡ một số điều huyền thoại về Ethers.js:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765558806291894739%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

Bảo mật considerations

Sử dụng Ethers.js đi kèm với một bộ sưu tập khá phong phú của bảo mậtnhững yếu tố cần xem xét. Dưới đây là một số điều cần tuân theo:

  1. Khuyến nghị không nên đặt sẵn khóa riêng tư bên trong mã nguồn của ứng dụng của bạn.
  2. Mọi tương tác hợp đồng thông minh nên được tiền đề bằng việc kiểm thử và kiểm toán kỹ lưỡng các hợp đồng.
  3. Khi bạn tương tác với các hợp đồng thông minh, hãy sử dụng các mẫu an toàn như 'gọi' cho các nhiệm vụ chỉ đọc.
  4. Để tối ưu hóa việc sử dụng ethers.js, bạn có thể xem xét việc gom nhóm yêu cầu. Đây là nơi bạn có thể gom nhóm các yêu cầu chỉ đọc, nhằm giảm thiểu số lượt gọi mạng. Không cần phải nói rằng những kỹ thuật tối ưu hóa này có thể làm cho ứng dụng trở nên có khả năng mở rộng cao và tiết kiệm chi phí.

Đây là một ví dụ về cách nó hoạt động:

// Mã giả cho việc gộp cuộc gọi hợp đồng với Ethers.js (ví dụ khái niệm)

const contract = new ethers.Contract(address, abi, provider);

const [giá trị1, giá trị2, giá trị3] = await Promise.all([

contract.viewFunction1(), contract.viewFunction2(), contract.viewFunction3()

];

Ethers.js: một công cụ linh hoạt

Được tài trợ

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Như được thể hiện trong hướng dẫn này, Ethers.js là một công cụ linh hoạt. Trong khi chúng tôi đã xem qua khả năng của nó một cách nhanh chóng, cách tốt nhất để hiểu rõ hoàn toàn về Ethers.js là nghiên cứu sâu hơn vào thế giới của hợp đồng thông minh, JavaScript, IDEs, DApps và nhiều hơn nữa. Ngoài ra, tham gia cộng đồng Ethereum và Ethers cũng có thể hữu ích.

Câu hỏi thường gặp

Làm thế nào các nhà phát triển có thể sử dụng các sự kiện Ethers.js?

Các tiện ích chính được cung cấp bởi Ethers.js là gì?

Liên kết giữa Ethers.js và Web3.js là gì?

Disclaimer:

  1. Bài viết này được in lại từ [ beincrypto], Tất cả bản quyền thuộc về tác giả gốc [Ananda Banerjee]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ với Gate Họcđội của chúng tôi và họ sẽ xử lý nhanh chóng.
  2. Tuyên bố miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn bản dịch là không được phép.
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!