js移除某个样式_以太坊 JavaScript 库:web3.js 与 ethers.js 比较(第一部分)

Web3.js 和 ethers.js 都是 JavaScript 库,其作用是使开发者可以与以太坊区块链交互。这两个库都很实用,都能满足大多数以太坊开发者的需求。本文将重点围绕 web3.js 和 ethers.js 的相同点和不同点来对它们进行比较,以便你能更好地理解它们的细微区别。本文的目的是帮助开发者理解两个库的优缺点,以便能够决定哪个库适合其具体用例。本文中提供了一些资源,可能对刚接触区块链开发的用户有用。

一言以蔽之:两个库都有用,针对你的使用场景不同,总有一个库更加适合你 (编者注:登链社区对 2 个文案均有翻译,web3.js 中文文档[1]地址:https://learnblockchain.cn/docs/web3.js/) ,ethers.js 中文文档[2]地址:https://learnblockchain.cn/docs/ethers.js/。

Web3.js 拥有一个与以太坊基金会相关的用户和维护者社区。它提供实用的 API 参考。从大约 2015 年开始,它在许多项目中被广泛使用。因此,该库已经成为许多“构建去中心化应用新手入门”教程的“必备资源”。

Ethers.js 的优势之处在于紧凑小巧,同时又包含大量测试案例。它提供实用的“新手入门”文档,因此新用户也可使用。许多开发者评价 ethers.js 使用起来“简单”、“直观”,并且该库在近两年越来越受欢迎,下载量和在项目中的使用量也不断增加。

什么是 web3.js?

e2936fc2f1983ddbb86740c31dcdca9b.png

web3.js 库是由以太坊基金会构建的开源 JavaScript 库(GNU Lesser General Public License 第 3 版),包括通过 JavaScript 对象表示法 - Remote Procedure Call (JSON-RPC) 协议与以太坊节点进行通信的函数。也就是说,它是一个支持开发者与以太坊区块链进行交互的 JavaScript 库。Web3.js 最新版本为 1.2.9,在本文中将引用该版本。Web3.js 由四个模块组成。

什么是模块?

在 JavaScript 中,模块是在更大的程序中具有特定功能的代码。模块应该具有独立性,即如果将某个模块从库、程序或应用中移除,整个库、程序或应用应该不会停止运行。熟悉 python 或 java 的用户可能也熟悉“类”,它与模块类似。FreeCodeCamp 对 JavaScript 模块进行了详细解释[3],应该对于刚接触 JavaScript 的用户有用。

web3.js 由哪些模块组成?

Web3.js 有一个主类,称为 web3。在该类中可以找到该库的大多数功能。组成 web3js 的另外 5 个模块分别是:

  1. web3-eth
  2. web3-shh
  3. web3-bzz
  4. web3-net
  5. web3-utils

web3-eth 有什么作用?

web3-eth 模块中包含函数,其作用是使 web3.js 的用户可以与以太坊区块链进行交互。具体来说,这些函数能够与智能合约、归外部所有的账户、节点、挖出的区块以及交易进行交互。下面是三个说明示例:

  • web3.eth.getBalance 的作用是获得指定区块的某个地址的以太坊余额
  • web3.eth.signTransaction 的作用是对交易签名
  • web3.eth.sendSignedTransaction 的作用是将签名的交易发送到以太坊区块链。

web3-shh 有什么作用?

web3-shh 模块的作用是使你可以与 Whisper 协议进行交互。Whisper[4] 是一个消息传输协议,其目的是轻松广播消息以及进行低层异步通信。下面显示了两个说明性示例:

  • web3.shh.post 将 whisper 消息发布到网络
  • web3.shh.subscribe 创建传入的 whisper 消息订阅

web3-bzz 有什么作用&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值