web3.js 访问区块链网络
我们将尝试通过 web3.js 访问区块链网络,将读取某个账号的余额。
1. 创建 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)
2. 读取余额
现在有了这个 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
3. 小结
以下是本教程中编写的代码概要:
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) })
4. Web3.js 资源
Web3.js 更多使用细节,可以参考官方文档:https://web3js.readthedocs.io/。
注意,Web3.js 正在积极开发中,可以访问 Web3.js github 存储库,了解它的进展,也可以阅读代码更好地理解库本身。
web3.js github库: https://github.com/ethereum/web3.js/。