El adaptador EthTx no responde en el trabajo de Chainlink, falla con "transacción revertida en cadena"

Estamos usando el cuadro de trufas estándar ( https://github.com/smartcontractkit/box ) para implementar el contrato Chainlink (definición de $LINK, Oracle, contrato de usuario final de muestra, etc.) en una red de prueba privada de Ethereum.

Todo funciona, ya que puedo activar trabajos de llamadas de contratos inteligentes en cadena, a menos que mi especificación de trabajo termine con el adaptador "EthTx". Si termino mi trabajo con un adaptador "EthTx", la tarea fallará y el único error será "transacción revertida en cadena".

Mis cuentas Oracle ETH están bien financiadas, por lo que la falta de combustible para ejecutar las transacciones no es un problema. Además, todos los demás adaptadores funcionan sin fallar... por lo que no es un problema que el extremo HTTP esté inactivo, que la ruta sea incorrecta o que emita los tipos incorrectos. ¿Qué está sucediendo?

Respuestas (1)

Hay algunas cosas que pueden estar sucediendo, pero lo más probable es que se deba al hecho de que su contrato de Oracle no tiene los permisos de cumplimiento configurados correctamente.

Cuando implementa el contrato de Oracle, también debe llamar al nodo setfulfillmentpermissionto truefor you. Puede hacer esto en remix/etherscan, o a través de un script . En este script, necesitarás:

  1. PRIVATE_KEYvariable de entorno conectada a la misma billetera que implementa el contrato de Oracle
  2. KOVAN_RPC_URLla variable de entorno conectó la cadena de bloques de elección.
  3. Deberá configurar oracleAddressla dirección del contrato de Oracle.
  4. Deberá configurar addressla dirección de su nodo Chainlink.

Espero eso ayude.