LOGBOOK

HELP

Quiz Entry - updated: 2026.07.30

Why does a push-based inbound oracle typically consume more gas than a pull-based inbound oracle?

Because the push-based inbound oracle stores the delivered state on-chain and emits an event so contracts can read it later, whereas the pull-based inbound oracle feeds the value straight into the calling contract — the extra storage roughly doubles the gas.

Bar chart: pull-inbound ~22,800 gas versus push-inbound ~44,800 gas.

* Persisting unrequested state plus an event (push inbound, ~44,800 gas) costs roughly double handing the value straight to a live caller (pull inbound, ~22,800 gas). *

Gas is the on-chain unit of computational and storage cost, so writing to persistent contract storage is expensive. In measurements the push-based inbound oracle used ~44,800 gas versus ~22,800 for pull-based inbound — because the push variant must persist the incoming state and emit an event, since no contract asked for it in that moment and it has to be retrievable afterwards. The pull-based inbound oracle, by contrast, arrives in response to a live request and can hand the data directly to the invoking contract without storing it. For comparison, typical business-process transactions run ~24,000–27,000 gas — right in line with the pull-based figure.

Go deeper:

From Quiz: IOTHACK / Blockchain Oracles: Bridging On- and Off-chain | Updated: Jul 30, 2026