当我尝试将合同发送到 Ganache 时出现超时错误。我的代码如下,
const assert = require('assert');
const ganache = require('ganache-cli');
const Web3 = require('web3');
const web3 = new Web3(ganache.provider());
const {interface,bytecode} = require('../compile');
let accounts;
let inbox;
beforeEach(async() => {
accounts = await web3.eth.getAccounts();
inbox = await new web3.eth.Contract(JSON.parse(interface))
.deploy({data: bytecode,arguments:['Hi There !'] })
.send({from: accounts[0], gas:'1000000'});
});
describe("inbox", () => {
it('deploys a contract', () => {
console.log(inbox);
})
})
当我注释掉发送方法(如下提供)时,程序运行没有任何问题。但是,将其添加回来会引入超时错误。无论我为 mocha 超时分配多少时间,我仍然会遇到同样的错误。
.send({from: accounts[0], gas:'1000000'});
有类似的关于超时的帖子,如下所列, 错误:超过 2000 毫秒的超时。用于异步测试和钩子。使用 mocha 和 chai 进行单元测试
mocha 和 chai 超过 2000 毫秒的单元测试错误。用于异步测试和钩子
上述解决方案都不适合我(主要是关于增加超时)。此外,我按照另一个论坛的建议降级了 web3 库。然而,它也没有奏效。
您可以在其他论坛上找到其他人发布的确切问题。显然,这个问题也没有得到任何潜在的答案。