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?
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 setfulfillmentpermission
to true
for you. Puede hacer esto en remix/etherscan, o a través de un script . En este script, necesitarás:
PRIVATE_KEY
variable de entorno conectada a la misma billetera que implementa el contrato de OracleKOVAN_RPC_URL
la variable de entorno conectó la cadena de bloques de elección.oracleAddress
la dirección del contrato de Oracle.address
la dirección de su nodo Chainlink.Espero eso ayude.