¿Cómo puedo acceder a la dirección de un contrato en un dapp drizzle?

Empecé a trabajar desde el cuadro de llovizna y puedo acceder a las funciones dentro de los contratos, pero si quiero otorgar una asignación a una dirección de contrato para que pueda usar tokens de usuarios, ¿cómo puedo dar la dirección correcta? drizzleOptions contiene contratos que tienen direcciones por red, pero no creo que pueda averiguar qué red es actual sin una instancia web3, ¿debe haber una forma simple de obtener la dirección de un contrato en la red actual?

Respuestas (2)

necesitará acceder al objeto de contexto de llovizna, en el componente de reacción. Supongo que está trabajando en el componente 'Home.js'.

Por ejemplo:

this.drizzle = context.drizzle

en el constructor del componente y consulte https://github.com/trufflesuite/drizzle-react/issues/22 ,

Una vez que tengas eso funcionando entonces,

this.drizzle.contracts.TutorialToken.addresso equivalente

context.drizzle.contracts.TutorialToken.addressdebería devolver la dirección de la red, sin embargo, dado que no soy un experto en reaccionar, puede haber un mejor enfoque.

La dirección es parte de la API del contrato que se carga junto con la opción de llovizna

Así que cuando acabas console.log(drizzle)ahí está la solución. Puede ver la dirección directamente en su Chrom-Browser al abrir las herramientas de desarrollo -> consola

Supongamos que su nombre de contacto es SimpleToken, entonces

drizzle.contracts.SimpleToken.address contiene la dirección del contrato

asegúrese de que antes de usar esto, drizzle.contracts.SimpleToken.address esté sincronizado. De lo contrario, obtendrá un valor indefinido como valor de retorno o un gran error rojo en su consola Chrome.

Espero que esto ayude