Oracles
EthTx 適配器不會在 Chainlink 作業中響應,失敗並顯示“交易在鏈上恢復”
我們使用標準的 truffle box ( https://github.com/smartcontractkit/box ) 在私有乙太坊測試網上部署 Chainlink 合約($LINK 定義、Oracle、範例最終使用者合約等)。
一切正常,因為我可以通過鏈上的智能合約呼叫觸發工作,除非我的工作規範以“EthTx”適配器結尾。如果我用“EthTx”適配器結束我的工作,任務將失敗,唯一的錯誤是“交易在鏈上恢復”。
我的 Oracle ETH 賬戶資金充足,因此執行交易所需的 gas 不足不是問題。此外,所有其他適配器都可以正常工作……因此 HTTP 端點關閉、路徑錯誤或轉換錯誤類型都不是問題。這是怎麼回事?
可能會發生一些事情,但很可能是由於您的預言機合約沒有正確設置其履行權限。
當您部署預言機合約時,您還必須為您的節點呼叫
setfulfillmentpermission
totrue
。您可以在 remix/etherscan 中或通過腳本執行此操作。在此腳本中,您需要:
PRIVATE_KEY
連接到部署預言機合約的同一個錢包的環境變數KOVAN_RPC_URL
環境變數連接了選擇的區塊鏈。- 您需要設置
oracleAddress
為預言機合約地址。- 您需要設置
address
為您的 Chainlink 節點的地址。希望能幫助到你。