Solidity

如何在兩個不同的智能合約地址之間建立聯繫

  • June 21, 2018

例如,“ABC”合約將使用“XYZ”屬性和方法兩個合約所有者相同。

謝謝

在 Remix 中嘗試以下程式碼:

pragma solidity 0.4.24;

contract XYZ {
   address public owner;

   constructor() public {
       owner = msg.sender;
   }

   function doSomething() external {
       emit SomethingDone(address(this));
   }

   event SomethingDone(address _addr);
}

contract ABC {
   address public owner;

   XYZ xyz_;

   constructor(XYZ _xyz) public {
       xyz_ = _xyz;
       owner = msg.sender;
   }

   function interactWithXYZ() external {
       xyz_.doSomething();
   }
}

首先,部署合約XYZ。然後,使用已部署合約ABC的地址部署XYZ合約。完成後,嘗試呼叫ABCinteractWithXYZ()方法。您將在控制台中看到一個事件。

引用自:https://ethereum.stackexchange.com/questions/51675