原文在这里[1]
Web3.js为TypeScript和JavaScript开发者提供了一个健壮而灵活的库。它允许你使用HTTP、IPC或WebSocket与本地或远程以太坊节点(或任何evm兼容的区块链)进行交互。它是以太坊生态系统中连接和制作应用程序的重要工具。
下面的文档将引导你了解Web3.js的不同用例,从旧版本升级,并提供带有示例的API参考文档。
•Web3.js 插件功能[2],用于扩展功能(现有插件列表[3])•ECMAScript (ESM) 和 CommonJS (CJS) 构建•通过 ESM 实现可摇树优化[4]•TypeScript 中的合约动态类型[5] & 完整 API•使用原生 BigInt 替代大型 BigNumber 库•更高效的 ABI 编码器与解码器•自定义输出格式器•符合 Eth EL API 标准
Web3.js 是模块化的,由几个包组成,每个包都服务于特定的功能。如果你有特定的任务,你不需要安装整个 Web3 库。相反,只需选择性地安装适合你需求的包,以获得更高效的开发体验。以下是可用包的概览:
•ABI[6]: web3-eth-abi
包简化了日志和参数的解码、函数调用和签名的编码以及以太坊合约交互中的类型推断。•Accounts[7]: web3-eth-accounts
包提供了创建以太坊账户/钱包的工具,并确保交易和数据安全签名。•Contract[8]: 使用 web3-eth-Contract
,你可以与智能合约交互。此功能允许通过 JavaScript 或 TypeScript 对象与合约通信,简化你的开发和交互过程。•ENS[9]: web3-eth-ens
包帮助你在区块链上与以太坊名称服务(ENS)通信。•Iban[10]: web3-eth-iban
包允许你在以太坊地址和特殊的类银行地址(IBAN 或 BBAN)之间切换。它使得来回转换变得更加容易。•Net[11]: web3-net
类允许你讨论和处理以太坊节点的网络细节。•Personal[12]: 使用 web3-eth-personal
直接与以太坊节点就你的账户进行通信,简化了你的开发工作流中的账户管理。注意:在与公共节点互动时,为了增强安全性,考虑使用 web3-eth-accounts
进行本地签名操作,保护你的私钥和敏感信息安全存储在你的本地机器上。•Utils[13]: web3-utils
包允许你执行以太坊开发中的一系列基本任务,包括数据格式转换、检查地址、编码和解码、哈希处理、处理数字等,为你的应用程序提供多功能的实用功能。•Web3Eth[14]: 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)[15]进行许可,使用时请注明出处。 Author: mengbin[16] blog: mengbin[17] Github: mengbin92[18] cnblogs: 恋水无意[19] 腾讯云开发者社区:孟斯特[20]
[1]
这里: https://docs.web3js.org/guides/getting_started/introduction
[2]
插件功能: https://docs.web3js.org/guides/web3_plugin_guide/
[3]
现有插件列表: https://web3js.org/plugins
[4]
通过 ESM 实现可摇树优化: https://docs.web3js.org/guides/advanced/tree_shaking
[5]
合约动态类型: https://docs.web3js.org/guides/smart_contracts/infer_contract_types/
[6]
ABI: https://docs.web3js.org/libdocs/ABI
[7]
Accounts: https://docs.web3js.org/libdocs/Accounts
[8]
Contract: https://docs.web3js.org/libdocs/Contract
[9]
ENS: https://docs.web3js.org/libdocs/ENS
[10]
Iban: https://docs.web3js.org/libdocs/Iban
[11]
Net: https://docs.web3js.org/libdocs/Net
[12]
Personal: https://docs.web3js.org/libdocs/Personal
[13]
Utils: https://docs.web3js.org/libdocs/Utils
[14]
Web3Eth: https://docs.web3js.org/libdocs/Web3Eth
[15]
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh
[16]
mengbin: mengbin1992@outlook.com
[17]
mengbin: https://mengbin.top
[18]
mengbin92: https://mengbin92.github.io/
[19]
恋水无意: https://www.cnblogs.com/lianshuiwuyi/
[20]
孟斯特: https://cloud.tencent.com/developer/user/6649301