Тестирование развернутого смарт-контракта на трюфеле - PullRequest
0 голосов
/ 22 октября 2018

У меня проблемы с проверкой контракта с использованием трюфеля.У меня установлена ​​последняя версия трюфеля, а также TestRPC.

Насколько я понимаю, последняя версия трюфеля поставляется с клиентом для тестирования SmartContracts, поэтому TestRPC больше не нужен.

У меня есть простой контракт, с которым мои Миграции выглядят так:

var Migrations = artifacts.require("./Migrations.sol");
var OrdersFacilitator = artifacts.require("./OrdersFacilitator.sol")

module.exports = function(deployer) {
  deployer.deploy(Migrations);
  deployer.deploy(OrdersFacilitator);
};

Когда я запускаю разработку трюфелей, я вижу, что создано 10 тестовых учетных записей.

Счета:

(0) 0x627306090abab3a6e1400e9345bc60c78a8bef57

(1) 0xf17f52151ebef6c7334fad080c5704d77216b732 //...

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '101' * *1016* * * * * *1016* 10 * * * * * * * * * * * *1016* 10 * * * * * * * * * '* * * * * * * * * * * *1016* 10 * * * * * * * * * *' ', это * *' '', ведь я настроен на трюфель ", когда я настроен на трюф.Название моих контрактов. Я вижу их развернутыми с информацией:

//...
class_defaults:
{ from: '0x627306090abab3a6e1400e9345bc60c78a8bef57',
 gas: 6721975,
 gasPrice: 100000000000 },
currentProvider:
 HttpProvider {
   host: 'http://127.0.0.1:9545/',
   timeout: 0,
   user: undefined,
   password: undefined,
   headers: undefined,
   send: [Function],
   sendAsync: [Function],
   _alreadyWrapped: true },
network_id: '4447' }

Идентификатор сети и порт, кажется, соответствуют конфигурации, и я могу видеть информацию, когда я набираю имя контракта, однакокогда я пытаюсь получить к нему доступ, хотя

var facilitator;
OrdersFacilitator.deployed().then(x => facilitator = x);

Я получаю сообщение об ошибке:

OrdersFacilitator не был развернут в обнаруженной сети (network / artifact mismatch)

Я пытался удалить папку сборки и перенести все с флагом --reset, но это не работает.Как я могу проверить мой развернутый контракт

Ответы [ 2 ]

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

Чтобы устранить проблему, я явно установил параметры сети и идентификатор сети.

//Start Test RPC with an Explicit Network
testrpc --network-id 1337

Затем я создал явную сеть для TestRPC:

networks: {
  testrpc:{
    host: "localhost",
    port: 8545,
    network_id: "1337"
  }
}

Теперь, когдаЯ выполняю явную миграцию в мою новую сеть:

truffle migrate --network testrpc --reset
truffle console --network testrpc

Кажется, это правильно отображается в правильной сети

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

Я видел похожие проблемы с проектами трюфелей, пытающимися сделать то же самое.Решением может быть сброс проекта в состояние без кэширования.

Вы можете попробовать запустить компиляцию трюфелей (и / или миграцию трюфелей) с флагом --reset.Это удалит build dir и перекомпилирует все.

...