原文在这里
介绍
Web3.js为TypeScript和JavaScript开发者提供了一个健壮而灵活的库。它允许你使用HTTP、IPC或WebSocket与本地或远程以太坊节点(或任何evm兼容的区块链)进行交互。它是以太坊生态系统中连接和制作应用程序的重要工具。
下面的文档将引导你了解Web3.js的不同用例,从旧版本升级,并提供带有示例的API参考文档。
Web3.js v4 功能
- Web3.js 插件功能,用于扩展功能(现有插件列表)
- ECMAScript (ESM) 和 CommonJS (CJS) 构建
- 通过 ESM 实现可摇树优化
- TypeScript 中的合约动态类型 & 完整 API
- 使用原生 BigInt 替代大型 BigNumber 库
- 更高效的 ABI 编码器与解码器
- 自定义输出格式器
- 符合 Eth EL API 标准
主要包
Web3.js 是模块化的,由几个包组成,每个包都服务于特定的功能。如果你有特定的任务,你不需要安装整个 Web3 库。相反,只需选择性地安装适合你需求的包,以获得更高效的开发体验。以下是可用包的概览:
- ABI:
web3-eth-abi
包简化了日志和参数的解码、函数调用和签名的编码以及以太坊合约交互中的类型推断。 - Accounts:
web3-eth-accounts
包提供了创建以太坊账户/钱包的工具,并确保交易和数据安全签名。 - Contract: 使用
web3-eth-Contract
,你可以与智能合约交互。此功能允许通过 JavaScript 或 TypeScript 对象与合约通信,简化你的开发和交互过程。 - ENS:
web3-eth-ens
包帮助你在区块链上与以太坊名称服务(ENS)通信。 - Iban:
web3-eth-iban
包允许你在以太坊地址和特殊的类银行地址(IBAN 或 BBAN)之间切换。它使得来回转换变得更加容易。 - Net:
web3-net
类允许你讨论和处理以太坊节点的网络细节。 - Personal: 使用
web3-eth-personal
直接与以太坊节点就你的账户进行通信,简化了你的开发工作流中的账户管理。注意:在与公共节点互动时,为了增强安全性,考虑使用web3-eth-accounts
进行本地签名操作,保护你的私钥和敏感信息安全存储在你的本地机器上。 - Utils:
web3-utils
包允许你执行以太坊开发中的一系列基本任务,包括数据格式转换、检查地址、编码和解码、哈希处理、处理数字等,为你的应用程序提供多功能的实用功能。 - Web3Eth:
web3-eth
是你与以太坊区块链互动的主要工具。它就像是管理你与以太坊互动的控制中心。
其它扩展包
- Web3 Types:此包包含常见的 TypeScript 类型。
- Web3 Validator:此包提供了使用提供的模式进行验证的功能。
- Web3 Core:Web3 核心具有配置、订阅和请求管理功能,这些功能被其他 Web3 包使用。
- Web3 Errors:Web3 错误包含其他 Web3 包使用的错误代码和常见错误类。
- Web3 RPC Methods:这是用于构建更轻量级应用程序的高级用途。它具有使用给定提供程序向以太坊发出 RPC 请求的函数。
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin
blog: mengbin
Github: mengbin92
cnblogs: 恋水无意
腾讯云开发者社区:孟斯特