msfew

Posted on Dec 19, 2023Read on Mirror.xyz

Announcing zkGraph v1.0.0

TL;DR

  • We released zkGraph v1.0.0, zkOracle and zkGraph are now production ready. This marks a major milestone in the development of HyperOracle.

  • zkGraph now supports access to historical event data and storage data.

  • We also shipped better scaffolding, a universal verifier, performance enhancement, and ecosystem ideas for zkGraph.

  • Share your ideas and tag us on Twitter or Discord. Come build with us with zkGraph!

🌈 Intro to zkGraph

HyperOracle is a programmable zkOracle protocol. For more information on what we are building check out our litepaper.

zkOracle provides expansive compute for smart contracts. To program a zkOracle, you can write code in a zkGraph (a piece of code for custom logic) to define your own “API”.

As a program for the zkOracle, developers can write a zkGraph to access historical data from a blockchain directly inside a smart contract and perform complex compute in a trustless and secure way.

👀 zkGraph v1.0.0

We are thrilled to announce that we have released version 1.0.0 of zkGraph, the milestone for production-readyness.

After receiving valuable input from our builder community and ecosystem projects, we've incorporated your feedback into the latest zkGraph release.

Overall, zkGraph makes it easy for developers to:

  • Code: Write a zkGraph in JavaScript-like language AssemblyScript. Write code, not circuits.

  • Prove: Generate zero-knowledge proofs for historical data access and complex compute provided by zkGraphs and zkOracles.

  • Verify: After verifying the ZKP onchain through a smart contract, we can use the results of zkGraph outputs either directly or through zkGraph standards such as zkAutomation.

✨ New Data Source

Previously, zkGraph supported fetching event data. We have added a new data source: storage.

Now zkGraph can fetch:

  • Historical event data

  • Historical storage data

At the same time, we have made changes to the architecture and interface of zkGraph.

Developers can access both types of data in the following ways. Block data all in one!

In addition, we have standardized the way developers add and modify the data source: Data Source Plugin (DSP). We will open-source it soon, so that developers can add data sources (besides onchain event and onchain storage data) by themselves.

🏗️ Scaffold zkGraph

Previously, developers had to manually create new zkGraphs by copying the zkGraph Template as a GitHub template.

In zkGraph v1.0.0, we developed create-zkgraph. Simply run npm create zkgraph@latest to start building your own zkGraph.

With an interactive command line interface, you can start from different templates to build.

🪶 Simpler Workflow

To make it easier for developers, we've made two changes: removing the "Deploy Verifier" step, and adding the Task Dispatcher.

Previously, for different zkGraphs, developers had to deploy specific corresponding verifier contracts. Now, we provide universal verifier contracts. You don't have to worry about this step anymore! Just write code for your zkGraph, and we will take care of the rest.

In the previous use case, the developer had to perform multiple onchain interactions for different operations. We have developed a new component called Task Dispatcher. The Task Dispatcher abstracts these onchain interactions so that the developer only needs to perform operations when necessary.

🪄 Brand-new Web IDE

We have done a major upgrade to our zkGraph Studio.

Now it comes with a better “VSCode-like” editor style. Develop, debug, and deploy all in the web interface!

🎁 Other Upgrades

In addition, we also:

  • ⚡️ improved proving efficiency by 4x

  • ⬆️ supporting now dynamic function pointer in zkGraph compiler

  • 📖 redesigned zkGraph YAML spec to make it more readable

  • 🏠 refactored many libraries with better security and extensibility

  • 🌈 launched awesome-hyper-oracle to track ecosystem projects and ideas

  • 🫡 …and much more updates happening under the scene

🦾 Build with Us!

The new release of zkGraph means that you can now use HyperOracle zkOracle and zkGraph in production.

We've put together some exciting and interesting use cases in awesome-hyper-oracle. You can use zkGraphs and zkOracles for:

  • More complex computational power that can be verified onchain

  • Access to more historical data or multiple data sources

  • The ability to perform automation calculations for rich interactions

Share your ideas and tag us on Twitter or Discord. Come build with us!

We recently launched the Hyper Scholar Program to help you get started in the HyperOracle ecosystem.


About HyperOracle

HyperOracle is a programmable zkOracle protocol that powers smart contracts with arbitrary compute and richer data sources. HyperOracle offers full security and decentralization for trustless automation and onchain AI/ML so builders can easily create next-gen dApps.

hyperoracle.io | x.com/hyperoracle | github.com/hyperoracle

Recommended Reading