我可以使用create2
部署可靠的合同(而不是在线组装)吗?
发布于 2020-02-03 07:20:31
是。坚固版0.6.2引入了一种使用create2
操作码的高级方法.发布文档中:
创建契约时,可以将salt指定为“函数调用选项”:
new Contract{salt: 0x1234}(arg1, arg2)
例如,下面的deploy()
函数将使用salt
of 0x1234
和123
的构造函数param部署Test
契约。
pragma solidity 0.6.2;
contract Test {
uint256 public a;
constructor (uint256 _a) public {
a = _a;
}
}
contract DeployTest {
function deploy() public {
new Test{salt: 0x1234}(123);
}
}
注意:salt
必须是bytes32
。见此处:如何将字符串转换为换32?
例如:ethers.utils.formatBytes32String("test");
➡️0x7465737400000000000000000000000000000000000000000000000000000000
发布于 2020-02-04 05:07:16
是。Solidity version 0.6.2
你能做到的
https://ethereum.stackexchange.com/questions/79567
复制相似问题