Skip to content

Commit

Permalink
Update ethers.md
Browse files Browse the repository at this point in the history
  • Loading branch information
CarryWang committed Jun 16, 2024
1 parent bf099c7 commit cf532b5
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions eth/开发/ethers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Ethers.js 是一个用于与以太坊区块链交互的 JavaScript 库。它通过提供一套工具来简化去中心化应用程序(Dapps)的开发过程,因其易用性、全面的功能和轻量化的特点在 Web3 生态系统中广泛使用。
除了Dapp开发,也常用于创建钱包(如MetaMask和Tally)以及其他需要读写区块链的工具和简单脚本。

#### Ethers.js 的主要特点
- **轻量且模块化:** Ethers.js 设计轻量且模块化,便于在项目中使用。它提供了一系列模块,可以根据应用需求单独或一起使用。
- **用户友好的 API:** 该库提供了简单直观的 API,使各个水平的开发者都能轻松上手。这种易用性有助于加快基于以太坊的应用程序的开发过程。
- **全面的文档:** Ethers.js 附带了详尽的文档,包括示例和教程,帮助开发者快速理解和利用其功能。
- **TypeScript 支持:** Ethers.js 用 TypeScript 编写,并提供完整的 TypeScript 定义,使得在 IDE 中进行类型检查和自动补全的开发体验更好。
- **兼容性:** 它兼容各种以太坊网络,包括主网、测试网(如 Ropsten、Kovan、Rinkeby、Goerli)和私有网络。它还支持多个以太坊兼容的区块链。

#### Ethers.js 的核心组件
- Providers(提供者):Providers用于连接以太坊网络。Ethers.js 支持多种类型的Providers,包括:

- JSON-RPC Provider:直接连接到 JSON-RPC 节点。
- Infura Provider:通过 Infura 服务连接。
- Alchemy Provider:通过 Alchemy 服务连接。
- Etherscan Provider:使用 Etherscan API 连接。
- Signers(签名者):Signers代表一个以太坊账户,可以签署交易和消息。常见的Signers包括:
- Wallet(钱包):代表一个可以用来签署交易的私钥。
- JsonRpcSigner:代表由 JSON-RPC 提供者管理的账户。
- Contracts(合约):Ethers.js 提供了一个合约抽象来与智能合约交互。可以使用 Contract 类轻松地部署、交互和查询智能合约。
- Utilities(工具):Ethers.js 包含一整套用于处理以太坊数据格式的工具函数,例如:
- 解析和格式化以太坊值(如将 wei 转换为 ether)
- 处理十六进制字符串和字节数组
- 哈希和加密函数

目前Ethers.js的最新版本为V6,更多内容请参考[官方文档](https://docs.ethers.org/v6/)

0 comments on commit cf532b5

Please sign in to comment.