我需要使用web3
和ganache-cli
测试我的合同。在我的合同中,我必须向argument
函数发送一个constructor
。使用web3部署时如何做。
factory = await web3.eth.Contract(JSON.parse(compiledFactory.interface))
.deploy({
data: compiledFactory.byteCode,
})
.send({
from: accounts[0],
gas: "1000000",
});
我的合同是
contract Factory{
CrowdFunding[] public deployedContractAddresses;
constructor(uint minimum) public {
CrowdFunding newContract = new CrowdFunding(minimum, msg.sender);
deployedContractAddresses.push(newContract);
}
function getDeployedContractAddresses() public view returns(CrowdFunding[] memory) {
return deployedContractAddresses;
}
}
我在交换堆栈时经历了这个link,但是我无法解决它。
答案 0 :(得分:1)
您可以通过向arguments
函数的.deploy()
属性提供数据来实现。
contractInstance = await new web3.eth.Contract(interface).deploy({
data: bytecode,
arguments: [INITIAL_minimum]
}).send({
from: accounts[0],
gas: 1000000
});