TransWikia.com

Chainlink not updating variables in Ethereum Smart Contract

Ethereum Asked by phivms on November 25, 2020

I am having a strange thing occuring on kovan network. I am running a smart contract calling my chainlink oracle to request some information. My chainlink oracle responds correctly with the expected information. The smart contract calls the fulfill function but it does not set the value heartRateMinutes. Any calls to it returns a 0. The expected value should be 67. Value is set to public so it should be seen. They also have the same size of uint256. The value is a whole integer number.

enter image description here

It is weird because the chainlink run job shows all green and no errors.

One Answer

When an oracle isn't responding, there are a few things for you to check out. 95% of the time it's on the smart contract side.

On the smart contract side:

  1. Is the oracle address and jobId correct? Certain jobIds return certain types, so you need to know the the jobId is returning the same type that your function is looking for.
  2. Is your smart contract funded with LINK?

On the node operator side:

  1. Is the oracle address funded with ETH? Smart contract engineers can see this as well, by looking at your oracle address's balance.
  2. Does the node have setFulfillmentPermission=true?
  3. Does the node have any whitelisted/blacklisted contracts? This one is harder to see, you'd have to check with the node operator.

Hopefully these will be able help out. In this specific case it looks like it's something on the node side.

Correct answer by Patrick Collins on November 25, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP