Я начал работать из поля для дождя и могу получить доступ к функциям в рамках контрактов, но если я хочу дать разрешение на адрес контракта, чтобы он мог использовать токены пользователей, как я могу указать правильный адрес? drizzleOptions содержит контракты, которые имеют адреса для каждой сети, но я не думаю, что смогу выяснить, какая сеть является текущей без экземпляра web3, должен же быть простой способ получить адрес контракта в текущей сети?
вам нужно будет получить доступ к объекту контекста мороси в компоненте реакции. Я предполагаю, что вы работаете над компонентом Home.js.
Например:
this.drizzle = context.drizzle
в конструкторе компонента и см. https://github.com/trufflesuite/drizzle-react/issues/22 ,
Как только у вас это заработает,
this.drizzle.contracts.TutorialToken.address
или эквивалентно
context.drizzle.contracts.TutorialToken.address
должен вернуть адрес сети, однако, поскольку я не эксперт в реагировании, может быть лучший подход.
Адрес является частью API-интерфейса контракта, который загружается вместе с параметром «дождь».
Итак, когда вы просто console.log(drizzle)
есть решение. Вы можете просмотреть адрес прямо в своем браузере Chrom, открыв инструменты разработчика -> консоль.
Предположим, ваше контактное имя SimpleToken, тогда
drizzle.contracts.SimpleToken.address содержит адрес контракта
перед использованием убедитесь, что drizzle.contracts.SimpleToken.address синхронизирован. В противном случае вы получите неопределенное значение в качестве возвращаемого значения или жирную красную ошибку на хромированной консоли.
Надеюсь это поможет