solidity基础-合约创建合约

合约创建合约

合约对

contract Pair {

  address public factory;
  string public token0;
  string public token1;

  constructor(string memory _token0, string memory _token1) payable{
    token0 = _token0;
    token1 = _token1;
    factory = msg.sender;
  }
  

}

创建合约工厂

contract Factory{
  
    Pair[] public allPairs;

    function create(string memory _token0, string memory _token1) public {
      Pair pair = new Pair(_token0, _token1);
      allPairs.push(pair);
    }

    function create2(string memory _token0, string memory _token1) public payable{
      Pair pair = (new Pair){value: msg.value}(_token0, _token1);
      allPairs.push(pair);
    }

}

部署合约 Factory

调用 create2方法

 

通过 allPairs 方法,获取 创建的合约地址

 将该合约地址,赋值于 AT Address 方法

 

就可以得到Factory 创建的合约, 可以看到该合约地址就是上面创建的合约

 

posted @ 2022-06-09 16:48  apeNote  阅读(258)  评论(0编辑  收藏  举报