Oracles

EthTx 適配器不會在 Chainlink 作業中響應,失敗並顯示“交易在鏈上恢復”

  • March 22, 2021

我們使用標準的 truffle box ( https://github.com/smartcontractkit/box ) 在私有乙太坊測試網上部署 Chainlink 合約($LINK 定義、Oracle、範例最終使用者合約等)。

一切正常,因為我可以通過鏈上的智能合約呼叫觸發工作,除非我的工作規範以“EthTx”適配器結尾。如果我用“EthTx”適配器結束我的工作,任務將失敗,唯一的錯誤是“交易在鏈上恢復”。

我的 Oracle ETH 賬戶資金充足,因此執行交易所需的 gas 不足不是問題。此外,所有其他適配器都可以正常工作……因此 HTTP 端點關閉、路徑錯誤或轉換錯誤類型都不是問題。這是怎麼回事?

可能會發生一些事情,但很可能是由於您的預言機合約沒有正確設置其履行權限。

當您部署預言機合約時,您還必須為您的節點呼叫setfulfillmentpermissionto true。您可以在 remix/etherscan 中或通過腳本執行此操作。在此腳本中,您需要:

  1. PRIVATE_KEY連接到部署預言機合約的同一個錢包的環境變數
  2. KOVAN_RPC_URL環境變數連接了選擇的區塊鏈。
  3. 您需要設置oracleAddress為預言機合約地址。
  4. 您需要設置address為您的 Chainlink 節點的地址。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/95019