Как развернуть два интеллектуальных контракта, которые наследуются друг от друга, для совместного тестирования сети? - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть два смарт-контракта

Я работаю в ремикс-IDE, и когда я нажимаю «Развернуть», я могу развернуть только один смарт-контракт. И когда я копирую ABI, я могу скопировать только один ABI из одного контракта.

Есть ли способ развернуть эти два контракта вместе, или я должен развернуть их отдельно? И если я разверну их отдельно, как номер два контракта найдет, где номер один контракт?

Спасибо.

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

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Я только что сделал это. Если сначала просто развернуть контракт numberTwo, который наследуется от контракта numberOne, он автоматически развернет два контракта. И если я скопирую номер ABI для двух контрактов, он также будет иметь номер ABI из контракта numberOne.

0 голосов
/ 04 ноября 2019

То, как вы написали это, заключается в том, что ваш номер два контракта наследует номер один, поэтому вам не нужно развертывать первый отдельно.

Но если вы действительно хотите развернуть их отдельно, вы можете сделать это следующим образом. Просто разверните их один за другим, а затем подключите первый ко второму, используя адрес первого.

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();
  }

}
...