Solidity
如何在兩個不同的智能合約地址之間建立聯繫
例如,“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
合約。完成後,嘗試呼叫ABC
’interactWithXYZ()
方法。您將在控制台中看到一個事件。