问题:调用合约方法时报错Error: Returned error: VM Exception while processing transaction
解决:参数传递错误导致require条件修饰符不满足,web3.js是1.7
方法:
部署合约时传的参数alice是小写开头的,且为byte32
console.time('deploy time');
const myContract = await new web3.eth.Contract(JSON.parse(interface));
myContract.deploy({
data: bytecode,
arguments: [[web3.utils.asciiToHex('alice'), web3.utils.asciiToHex('bob')]]
})
.send({
from: accounts[0],
gas: 1500000,
gasPrice: '30000000000000'
})
.then(function(newContractInstance){
console.log('合约部署成功:', newContractInstance.options.address) // instance with the new contract address
});