Solidity 小白教程:24. 在合约中创建新合约
在以太坊链上,用户(外部账户,EOA)可以创建智能合约,智能合约同样也可以创建新的智能合约。去中心化交易所uniswap就是利用工厂合约(Factory)创建了无数个币对合约(Pair)。这一讲,我会用简化版的uniswap讲如何通过合约创建合约。
create和create2
有两种方法可以在合约中创建新合约,create和create2,这里我们讲create,下一讲会介绍create2。
create的用法很简单,就是new一个合约,并传入新合约构造函数所需的参数:
Contract x = new Contract{value: _value}(params)
其中Contract是要创建的合约名,x是合约对象(地址),如果构造函数是payable,可以创建时转入**_value数量的ETH**,