前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web3.js简介

web3.js简介

作者头像
孟斯特
发布2024-04-24 15:15:29
1400
发布2024-04-24 15:15:29
举报
文章被收录于专栏:code人生code人生

原文在这里[1]

介绍

Web3.js为TypeScriptJavaScript开发者提供了一个健壮而灵活的库。它允许你使用HTTPIPCWebSocket与本地或远程以太坊节点(或任何evm兼容的区块链)进行交互。它是以太坊生态系统中连接和制作应用程序的重要工具。

下面的文档将引导你了解Web3.js的不同用例,从旧版本升级,并提供带有示例的API参考文档。

Web3.js v4 功能

?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]


References

[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] 孟斯特: /developer/user/6649301

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-20,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 孟斯特 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • Web3.js v4 功能
  • 主要包
  • 其它扩展包
    • References
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
    http://www.vxiaotou.com