[Active] Grant request for Oracle 2.0 (Say.network)

Application Status

Status: Approved on the 15.07.2021, submitted on the 24.06.2021
Last updated: 24.06.2021
Submitted by Jeevanjot, Singh, [email protected]
Team: Jeevanjot Singh,…
Approved Budget (in h):
Used Budget (in h):
**Planned Delivery: By End of Q3 2021 (approx.) **

Specify the funding category

=> Open Source Development

Application Title

Say Network Oracle Service for Aeternity


Greetings Everyone, I am Jeevanjot Singh

Value Application

My project is an Automatic Provable Oracle Service, It will help DApp developers to integrate API data feeds on their smart contracts with easy-to-use Say API library, Providing automatic results from formatted URL requests with proofs to verify the authenticity of the data. Easy to use & trustless oracle system can help make Oracles required DApp development easier.

A successful contribution of Say network’s oracle system on Aeternity will have these working modules through Say Engine for Aeternity:
→ Plain queries = Plain URL queries answered.
→ Queries with proofs = Queries answered with full audit trail passed along with it.
→ Encrypted queries = Hide URL from the blockchain with encryption before querying with it.
→ Inbuilt Pricefeeds = Provide powerful inbuilt price feeds aggregated from multiple platforms.

Definition of Terms

Say network Oracle System Terms Defined as:
→ Automatic Oracle service = There are nodes running to listen a query request and send a response back.
→ Preformatted Query = A query as URL defined in such format that can be split into tokens by Say Engine and fetch the exact value from the result object that the one is looking for.
→ Provable Oracle Service = Providing the option to request data along with proofs from an Immutable server or Device (Using open-source tech) along with its full logs of operations from where the data can be verified later.
→ Inbuilt Pricefeeds = Price requested from multiple exchanges, aggregated and provided through a method from the Say API (library)

Status Quo

Currently Say network oracle service on Aeternity progress is:
→ Oracle Plain = Mainnet
→ Oracle Proofs = Testnet/Under development for mainnet
→ Oracle Encrypted queries = Testnet/Under development for mainnet
→ Inbuilt Pricefeeds = Under development for Testnet

Required Work

Steps to get to the goal…
Basic Deliverables for this grant contains:
→ Oracle Plain
→ Oracle Proofs
→ Oracle Encrypted queries
→ Inbuilt Pricefeeds
On Mainnet…


My time estimate in hours for Say network Oracle service on Aeternity:
→ Oracle Plain = 0 (Running (Mainnet))
→ Oracle Proofs = 180(approx.) hours to perform more tests & put on Mainnet
→ Oracle Encrypted queries = 120(approx.) hours to perform more tests & put on Mainnet
→ Inbuilt Pricefeeds = 400(approx.) hours to develop, test & put on Mainnet

Known Limitations

There currently exists mdw issue to fix which I spotted in-between hackathon & discussed it on Discord. Fix of it can help obtain queries more efficiently through middleware WebSockets.


What happens after this project is completed?

After the launch of modules, I will write more docs (As I wrote here), Create video materials, Blog posts & Continued support to help Developers integrate Oracle 2.0 in their Dapps.


GitHub - genievot/oracle-service: Oracle service


Please confirm that your research and development code will be maintained with bug fixing and new updates free of charge for at least one year after publishing it.
= Yes


personally I fully support that grant proposal. @genievot is one of the most active devs in the community. wish you good luck! :slight_smile:


Dear @genievot, thank you very much for your application. ACF had approved the first milestone for Q3 2021.


Hello Everyone,

The public repo of Oracle 2.0 can be checked here GitHub - genievot/oracle2.0-aeproject: Oracle 2.0 on Aeternity.

Stay tuned for the next updates.


Week From GitHub - genievot/oracle2.0-aeproject: Oracle 2.0 on Aeternity


Revised and added the Decryption backend of Oracle service.


Testnet Basic query
Oracle manager address for Say.aes: ct_2hCLLEhWgxHbhwAXmgbaVYZ1MRvtkDCnr8L3ESm11S1bLQNYGi


Website Updated: The whole website getting udated to highlight current say network development.

Docs Update: You can find instructions now to run a Basic query on Testnet at Quick Start - Say Network

And if you found any bug, Make sure to thoroughly report it through the https://say.network feedback form and I will announce your name in the next update post in this thread.


This Week:
Testnet Oracle Manager address is at : ct_1H8peFh9w6gcak2UAmY9rvi57P8k5EPqT1i7NjWTtAq4sS4jU

  • Fixed bugs related to getting callbacks. Getting more throughput.

  • Updates: Now using __ (Double underscore) as property pointer instead of ,
    [The change let users make queries through Editors like Ae Studio"

  • Added support for objects, Now users can fetch full objects as well.


This Week:

Polished smart contracts, Oracle Manager and Oracle Connector

  • Query unique id changed from bytes32 to bytes32 converted into string.
  • Added additional events & function for ease of use.

Update will roll out soon…


This Week:

  • Better on info representation through smart contract.
  • Contract based callbacks: Allowing users to request callbacks from official service to on their smart contracts (with. without proofs). This will be beneficial for new generation of modules to be developed & used in future.

This Week:

  • Oracle contracts (Manager, Connecters & Say API) updated with better changes.
  • Backend code restructure & some bug fixes.

This week:

  • Added new methods, such as getNextQueryId (calculate next query id before execution).
  • Contract implementation improved.

New DApp powered by “Say Network”


Q3 Final Report…

Advancements, Improvements, Developments, and more.

  • The code is under ISC License of the said repository and will be updated as required in the 1 year of development.

  • The project now offers 3 different modules for the developers:
    Plain: Mainnet: Provides Query results from Mainnet under the plain module
    Plain: Testnet: Provides Query results from Testnet under the plain module

  • The project also offers a private Module for the developers per their request:
    SMTP: Mainnet: It is a private module that allows Encrypted Email sending service on top of a blockchain (Currently used by a DApp on Aeternity

  • Updated Documentation: The new and improved documentation can be found from docs which is updated with newer changes so that developers can adapt and run their own DApps using “Say Network” (Oracle 2.0) Modules

  • Website updated: The website is updated with newer information and there is also added a feedback form that allows clients to send their feedback while use “Say Network”

  • Encryption website updated also available Encryption API: The Front-end of encryption website is Updated for better understanding & The API is also Public for clients to encrypt their requests as they like before sending to “Say Network” encryption module.

  • First DApp powered by This Project: “MOMP” (Money Over Mail Protocol) Network became the first DApp, Created in this Quarter(Q3) to showcase a new SMTP module from Say Network (This project)

  • Upcoming Modules, DApps & More: For the Next Quarter, I planned newer Modules for this project, New DApp & to do more innovative developments for the Aeternity community.


Planning for the next stage is under process/discussion. A newer module with a new use case is to be developed in this next stage…


Soft Link

Check out, Discussion & Write for the next possible module +a use case that you would like to see on Aeternity next Discussion & Vote on next "Say Network" Module + the Use Case


So far, Option A(Trustless price-feed + a stable coin) is getting more votes. If the results remains the same then the work for the chosen option will begin…

Make sure to cast your vote!


It is been quite some time since my last post.

I am currently working on some things for/on Aeternity and will publish new updates to you guys regarding these plans sooner.



Amazing job you are doing here buddy !!1 (as usual! !) not a surprise at all!!


@genievot Please report on the progress of the project. Please explain what exactly means private packages. Please note the foundation support is only for open source code!