web3.js 访问区块链网络

web3.js 访问区块链网络

本文将尝试通过web3.js访问区块链网络。我们将读取某个账号的余额。

创建web3连接

首先启动node:
$ node

在node控制台中加载Web3.js库:
const Web3 = require('web3')

接下来,使用Infura URL,创建Web3连接。声明Infura URL变量:
const rpcURL = "https://mainnet.infura.io/YOUR_INFURA_API_KEY"

确保使用之前获得的实际Infura API密钥替换此处的
YOUR_INFURA_API_KEY。创建Web3连接:
const web3 = new Web3(rpcURL)

读取余额

现在有了这个Web3连接,就可以与以太坊主网进行通信。
让我们使用这个连接来检查这个帐户的余额:
0x03118E2c88676d31ee397E1eEf7789fECfbC40b9。通过使用
web3.eth.getBalance()检查帐户余额,我们可以看一下这个帐户下有多少以太币。
首先,将地址赋给一个变量:
const address = "0x03118E2c88676d31ee397E1eEf7789fECfbC40b9"

检查账户余额:

// 读取address中的余额,余额单位是wei web3.eth.getBalance(address, (err, wei) => { // 余额单位从wei转换为ether balance = web3.utils.fromWei(wei, 'ether') console.log("balance: " + balance) })

输出:
balance: 6.97320381

小结

以下是本教程中编写的代码概要:
const Web3 = require('web3')
const rpcURL = '' // RPC URL
const web3 = new Web3(rpcURL)
const address = '' // 账户地址
// 读取address中的余额,余额单位是wei
web3.eth.getBalance(address, (err, wei) => {
    // 余额单位从wei转换为ether
    balance = web3.utils.fromWei(wei, 'ether')
    console.log("balance: " + balance)
})

Web3.js更多使用细节,可以参考官方文档:
https://web3js.readthedocs.io/
注意,Web3.js正在积极开发中,可以访问Web3.js github存储库,了解它的进展,也可以阅读代码更好地理解库本身。
web3.js github库: https://github.com/ethereum/web3.js/