基于web3.js和ganache实现智能合约调用

目的:智能合约发布到本地以太坊模拟软件ganache并完成交互

准备工作:

  • web3.js
  • ganache模拟软件

ganache参数配置

从ganache获取一个url,和一个账号的地址,

url直接使用图中的rpc server位置的数据即可

账号address从下列0x开头的账号任选一个复制,

web3.js代码

如下所示

c 复制代码
const { Web3 } = require('web3');
const rpcURL = "http://127.0.0.1:7545";
const web3 = new Web3(rpcURL);
const address = "0x6531e1Ed6f9E1BB0c1aA8957770F385Bb44d4e9B";

async function getBalance() {
    try {
        const wei = await web3.eth.getBalance(address);
        const balance = web3.utils.fromWei(wei, 'ether');
        console.log('账号:', address, ' 的余额为:', balance);
    } catch (error) {
        console.error('发生错误:', error);
    }
}

getBalance();

代码运行成功说明ganache模拟的以太坊网络正常工作,运行结果如下:

c 复制代码
账号: 0x6531e1Ed6f9E1BB0c1aA8957770F385Bb44d4e9B  的余额为: 99.992407942200075824
相关推荐
এ慕ོ冬℘゜8 小时前
navigator 导航对象 BOM制作方法
javascript
kyriewen10 小时前
面试官让我用 AI 重构一个 8 年陈的 React 组件——他说他不看代码,只看我会不会拆
前端·javascript·面试
Jacky199911 小时前
Electron + Vue 3 桌面打字游戏实战:从 VSCode 扩展到独立应用的架构改造
javascript
柚yuzumi12 小时前
别再猜 this:先看它属于谁,再看它指向谁
前端·javascript
汉堡大王952713 小时前
面试必考:手写代码 new 做了什么?从原理到实现全解析
前端·javascript·面试
BillKu13 小时前
TypeScript中,字符串字面量联合类型(Union Type)、enum的用法说明
前端·javascript·typescript
磐链科技14 小时前
Web3钱包安全架构设计:抵御攻击与防护策略
安全·web3·安全架构
顶级自由人15 小时前
本地正常、线上正常,为什么一个 Hook 仍会报错?
前端·javascript·程序员
lerhxx15 小时前
R3F 第一人称漫游与碰撞检测:Pointer Lock + 不穿墙的滑墙秘诀(中)
前端·javascript·three.js
labixiong15 小时前
button按钮原生开关弹窗,零 JS 搞定80%交互场景
前端·javascript·html