javascript - 未捕获的 ReferenceError: 要求未在 app.js:3 中定义
问题描述
将前端 HTML 连接到私有区块链以与智能合约交互时出现问题。
步骤完成如下:
- 创建了一个智能合约并部署在 pvt 区块链中。
npm install -g web3
- 创建 HTML 文件并与下面的 js 文件链接。
// 示例 app.js 文件代码
var Web3 = require('web3');
var web3 = new Web3();
if (typeof web3 !== 'undefined') {alert(" web3.currentProvider :: " + web3.currentProvider);
web3 = new Web3(web3.currentProvider);
} else {
// set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
var abi= My-custom-ABI;
var ins=web3.eth.contract(abi);
var instance= ins.at("My-Contract-Address");
var accounts;
var account;
var account2;
解决方案
您应该将其安装为您的依赖项,尝试npm install --save web3
. 此外,您需要 webpack 来编译您的 javascript,因为浏览器不理解require
语法。
推荐阅读
- python - 在 Python 中绘制时间序列数据
- javascript - 基于 Javascript 的网格的测试用例
- javascript - Javascript:onEnd.on 不是函数
- python - 图像处理 - 如何计算图像上的对象(堆叠皮革)
- c++ - 具有不同概念的模板类专业化会导致重新定义错误
- javascript - 如何立即获得一天的开始和一天的结束?
- javascript - 如何转换以属性值作为键的对象结构?
- php - 如何从api获取特定数据
- python - 熊猫排在 groupby 和 cut 之后
- python - 如何使用不同的 dpi 在 Subplot 保存中绘制多个 Seaborn Jointplot