📜  web3.js 获得平衡 - Javascript (1)

📅  最后修改于: 2023-12-03 15:35:40.172000             🧑  作者: Mango

Web3.js 获得平衡 - Javascript

介绍

Web3.js 是 Ethereum 前端开发的一个 Javascript 库,它能够帮助我们与以太坊交互。通过 Web3.js,我们可以执行以下操作:

  1. 与以太坊节点通信,访问以太坊网络
  2. 发送以太币或者调用合约方法
  3. 获取网络状态、账户信息、交易信息等等

在这篇文章中,我们将探讨如何使用 Web3.js 获取以太坊网络上的账户余额信息。

步骤
  1. 安装 Web3.js 库

在项目目录下,执行以下命令进行安装:

npm install web3
  1. 连接以太坊节点

在我们使用 Web3.js 之前,需要先连接至以太坊节点。有很多种方式可以连接至节点,我们这里介绍最常用的两种方式:

通过 infura 连接

Infura 是一个免费的以太坊节点服务,我们可以通过它连接至以太坊网络。首先,访问 https://infura.io/ 注册一个账户,然后创建一个项目,获取到项目的 API key。

接下来,在我们的 Javascript 代码中,设置连接的 infura 节点地址:

const Web3 = require('web3')

// Replace YOUR-PROJECT-ID with your Infura project ID
const rpcURL = 'https://mainnet.infura.io/v3/YOUR-PROJECT-ID'

const web3 = new Web3(rpcURL)
通过本地节点连接

另一种方式是通过本地节点连接至以太坊网络。这需要我们在本地安装并启动以太坊节点,例如 Geth 或 Parity。

在我们的 Javascript 代码中,设置连接的本地节点地址:

const Web3 = require('web3')

const rpcURL = 'http://localhost:8545'

const web3 = new Web3(rpcURL)
  1. 获取账户余额

使用 Web3.js 获取账户余额十分简单。下面是一个基本的示例:

const Web3 = require('web3')

const rpcURL = 'https://mainnet.infura.io/v3/YOUR-PROJECT-ID'

const web3 = new Web3(rpcURL)

const address = '0x1234567890123456789012345678901234567890'

web3.eth.getBalance(address, (err, wei) => {
  const balance = web3.utils.fromWei(wei, 'ether')
  console.log(balance)
})

我们可以使用 web3.eth.getBalance 方法来获取到账户余额,该方法需要传入账户地址和一个回调函数。回调函数的第二个参数是以 wei 为单位的账户余额,我们可以使用 web3.utils.fromWei 将其转化为以太币单位。

总结

通过 Web3.js,我们可以轻松地与以太坊网络进行交互,获取到各种信息。在本文中,我们介绍了如何使用 Web3.js 获取账户余额信息。希望这篇文章能够帮助到大家。