Off-chain Computation
The first step in the data processing flow is defining what off-chain data the oracle service needs to submit on-chain and implementing the appropriate operator code.
Define and implement data validators execution logic - Writing DV code to retrieve the required data. Data here refers broadly to any output from computations, including fetching information from APIs, querying databases (blockchains included), and calculating statistics on account balances.
Transaction format - Data validators must pack their computation results into a transaction structure before sending them to eOracle chain. Data reports may include additional data such as timestamps, proof of computation etc. Transaction are signed using either BLS or ECDSA.
Sending transaction to eOracle chain - The eOracle chain is EVM-compatible, supporting the standard transaction formats used by common libraries like ethers.js and web3.js.
After the data validator code is established, The eOracle Wrapper facilitates interaction with the eOracle chain:
Retrieving OVS configuration, including update notifications
Sending reports to the eOracle chain with minimal latency
Publishing Prometheus metrics to monitor the off-chain component's health
Key considerations
Data validators typically run identical logic. This redundancy achieves decentralization and ensures that malicious behaviors can be easily validated on-chain. However, this replication creates coordination challenges. Data validator task should be easily scaled to run among all OVS operators.
In certain scenarios, computation integrity evidence can be recorded on-chain to verify the actions of data validators. This process helps in validating data accuracy and quality.
Last updated