如果智能合约具有用于合约的已编译字节码,那么第一个可以部署后续合约吗?
根据Ethereum.org的说法:“要部署智能合约,您只需发送一个包含智能合约的编译代码的以太事务,而不指定任何收件人。”
我寻找了如何通过智能合约发送交易,我能找到的最接近的是传输ETH的例子……
_to.transfer(msg.value);
bool sent = _to.send(msg.value);
(bool sent, bytes memory data) = _to.call{value: msg.value}("");
发布于 2021-12-03 03:36:23
要使智能合约部署另一个智能合约,可以使用new关键字完成此操作
contract UserMessage {
string message;
constructor(string memory message){
message = _message;
}
}
contract DeployUserMessage {
mapping(address => address) userToContract;
function Deploy(string memory message) public {
address contractAddress = new UserMessage(message);
userToContract[msg.sender] = contractAddress;
}
}
我认为这个例子清楚地说明了这一点,但如果需要,请查看文档的https://docs.soliditylang.org/en/v0.8.9/contracts.html#creating-contracts
https://stackoverflow.com/questions/70209083
复制相似问题