这就是当我尝试测试我的合同时发生的错误。
有人能告诉我问题出在哪里吗?
这是测试的代码:
const assert = require('assert');
const fs = require('fs');
const ganache = require('ganache-cli');
const Web3 = require('web3');
const web3 = new Web3(ganache.provider());
const compiledFactory = fs.readFileSync('./ethereum/build/LotteriaFactory.json', 'utf8');
const compiledLotteria = fs.readFileSync('./ethereum/build/Lotteria.json', 'utf8');
let accounts;
let factory;
let lotteriaAddress;
let lotteria;
beforeEach(async () => {
accounts = await web3.eth.getAccounts();
factory = await new web3.eth.Contract(JSON.parse(compiledFactory).interface)
.deploy({ data: (compiledFactory).bytecode })
.send({ from: accounts[0], gas: '1000000' });
await factory.methods.createNew('5').send({
from: accounts[0], //manager
gas: '1000000'
});
const addresses = await factory.methods.active().call();
lotteriaAddress = addresses[0]; //[LotteriaFactory]
lotteria = new web3.eth.Contract(
JSON.parse(compiledFactory).interface,
lotteriaAddress
);
});
describe('Lotteria', () => {
it('deploy a factory and a lottery', () => {
assert.ok(factory.options.address);
assert.ok(lotteria.options.address);
});
});发布于 2020-03-18 14:33:43
您可以尝试这样的方法来实例化一个契约:
const contractJson = fs.readFileSync('path_to_abi_file.json');const abi = JSON.parse(contractJson);contractInstance = new web3.eth.Contract(abi);https://ethereum.stackexchange.com/questions/80671
复制相似问题