Chainlink
Chainlink 未更新乙太坊智能合約中的變數
我在 kovan 網路上發生了一件奇怪的事情。我正在執行一個智能合約,呼叫我的 chainlink oracle 來請求一些資訊。我的 chainlink oracle 正確響應了預期的資訊。智能合約呼叫了執行函式,但它沒有設置值 heartRateMinutes。對其的任何呼叫都會返回 0。預期值應為 67。值設置為 public,因此應該可以看到。它們也具有相同的 uint256 大小。該值是一個整數。
這很奇怪,因為 chainlink 執行作業顯示全部為綠色且沒有錯誤。
當預言機沒有響應時,您需要檢查一些事情。95% 的時間都在智能合約方面。
在智能合約方面:
oracle
地址和jobId
正確嗎?某些 jobIds 返回某些類型,因此您需要知道 jobId 返回的類型與您的函式正在查找的類型相同。- 您的智能合約是否由 LINK 資助?
在節點操作員方面:
- 預言機地址是否由 ETH 資助?通過查看您的預言機地址的餘額,智能合約工程師也可以看到這一點。
- 節點有
setFulfillmentPermission=true
嗎?- 節點是否有任何列入白名單/黑名單的合約?這個比較難看,你得和節點運營商核實一下。
希望這些能夠提供幫助。在這種特定情況下,它看起來像是節點端的東西。