簡體   English   中英

如何部署兩個相互繼承的智能合約一起測試網絡?

[英]How to deploy two smart contracts that inherit from each other to test network together?

我有兩個智能合約

我在混音 IDE 中工作,當我單擊“部署”時,我只能部署一個智能合約。 當我復制 ABI 時,我只能從一份合約中復制一份 ABI。

有沒有辦法將這兩個合同一起部署,或者我應該單獨部署它們? 如果我將單獨部署它們,numberTwo 合約將如何找到 numberOne 合約在哪里?

謝謝你。

pragma solidity ^0.4.25;
contract numberOne{
}
contract numberTwo is numberOne{
}

你寫它的方式是你的 numberTwo 合約繼承 numberOne 所以你不需要單獨部署第一個。

但如果你真的想單獨部署它們,你可以這樣做。 只需一個一個地部署它們,然后使用第一個的地址將第一個連接到第二個。

contract NumberOne {
 uint256 public someData = 256;
}

contract NumberTwo {

  NumberOne numberOneContract;

  function initNumberOne(address _address) public {
    numberOneContract = NumberOne(_address);            
  }

  function getSomeData() view public returns (uint256) {
    return numberOneContract.someData();
  }

}

我剛剛成功了。 如果簡單地先部署繼承自 numberOne 合約的 numberTwo 合約,它會自動部署兩個合約。 如果我要復制 numberTwo 合同的 ABI,它也會有來自 numberOne 合同的 ABI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM