Ошибка моросящего трюфеля "Ошибка типа: невозможно прочитать свойство 'адрес' из неопределенного" - PullRequest
0 голосов
/ 21 сентября 2018

Ожидается:

После запуска приложения пользователь должен увидеть сообщение "Loading Drizzle..." в браузере, а затем вскоре следует "Drizzle is ready".

Результаты:

Приложение застряло на "Loading Drizzle...", и в консоли Chrome произошла ошибка:

Ошибка

, не найденная в корневом каталоге наroot

в contractSaga

в takeEvery

в addContract

в instantiateContract

TypeError: Невозможно прочитать свойство address по адресу undefined

Я следую этому уроку здесь: https://truffleframework.com/tutorials/getting-started-with-drizzle-and-react

И я в текущем разделе:

Замените метод рендеринга

render() {
  if (this.state.loading) return "Loading Drizzle...";
  return <div className="App">Drizzle is ready</div>;
}

Я сделал это в своем приложении и ожидал увидеть сообщение «Морось готова», но вместо этого получил ошибку выше.

Вот мой репозиторий: https://github.com/leongaban/truffle_drizzle_test

enter image description here

enter image description here

Ответы [ 3 ]

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

truffle migrate развернет ваш контракт в сети блокчейнов, а затем выведет файл build/contracts/YourContract.json, содержащий информацию о вашем контракте.Например, он содержит ABI для вашего контракта и адрес, по которому был развернут ваш контракт.

Ваш JavaScript, вероятно, импортирует этот JSON-файл, чтобы иметь необходимую информацию для подключения к вашему контракту.Поэтому убедитесь, что JS импортирует самую последнюю версию JSON, иначе он не будет знать, по какому адресу находится ваш контракт и т. Д.

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

У меня была такая же проблема, даже после правильного развертывания контрактов в моей сети ganache.Причина, по которой это не сработало для меня, заключалась в том, что в моем браузере Chrome была активна MetaMaskЯ даже не вошел в систему, но все же кажется, что dapp искал контракт в неправильной сети.Когда я открываю сайт с режимом инкогнито / полностью отключенным MetaMask, он работает!

Это то, на что указывает учебник, но я думаю, это легко не воспринимать всерьез:

Примечание: Обязательно используйте окно инкогнито, если у вас уже установлена ​​MetaMask (или отключите MetaMask на данный момент).В противном случае приложение будет пытаться использовать сеть, указанную в MetaMask, а не сеть разработки под localhost: 8545.

0 голосов
/ 21 сентября 2018

Никакие контракты не развернуты в вашей сети ganache, поэтому эта ошибка возникает.

В корне вашей папки убедитесь, что вы запускаете truffle migrate после truffle compile.

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