web3.js 访问区块链网络
本文将尝试通过web3.js访问区块链网络。我们将读取某个账号的余额。
创建web3连接
首先启动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)
})
输出:
小结
以下是本教程中编写的代码概要:
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/