Как развернуть несколько интеллектуальных контрактов на прочность, которые используют функции друг друга? - PullRequest
0 голосов
/ 07 октября 2018

У меня есть три умных контракта, скажем, a.sol, b.sol и c.sol ... Из этих трех первые два являются независимыми умными контрактами, тогда как c.sol использует функции a.sol и b.sol итаким образом, c.sol требует «импортировать» первые два смарт-контракта.«Импорт» работает локально, но как развернуть их все через ремикс / трюфель в testnet, чтобы c.sol все еще мог получить доступ к функциям a.sol и b.sol?

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Предполагается ли в вашем контракте a и b отдельные контракты, которые будут использоваться независимо от контракта c?т.е.: пользователь хранит данные в контракте a, которые будут использоваться контрактом c

. Если это так, то вы можете иметь контракт a и b в качестве переменных контракта c, например:

a.sol

contract A {
  function doSomething() {
    ...
  }
}

c.sol

contract C {
  A a;

  function setA(address addressOfContractA) {
    a = A(address);
  }

  function makeADoSomething() {
    a.doSomething();
  }
}

кредит: https://zupzup.org/smart-contract-interaction/

0 голосов
/ 07 октября 2018

Если ваш проект был создан с помощью Truffle, вы можете настроить c.sol следующим образом:

import "./a.sol";
import "./b.sol";

contract c is a, b {
   ...
}

Если это структура вашего кода, вы сможете развернуть свой проект Truffleиспользуя truffle migrate (при условии, что ваши миграции настроены правильно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...