dp-labs / dora

The Ultimate Layer for on-chain Computing and Verification
Apache License 2.0
8 stars 3 forks source link
compiler computing evm llvm mlir

Dora: The Ultimate Layer for on-chain Computing and Verification

Introduction

Dora is a modular machine layer designed to bring real-world computing use cases on-chain, featuring in-house ZK verification capabilities.

Status

Dora is currently in the Proof-of-Concept (PoC) stage, with support for ERC-20 contracts. It is under active development and is not yet ready for production use.

Why

Web3's programming and VM layers have attracted a growing developer community. Dora takes this a step further by introducing a next-gen blockchain programming and execution layer that addresses key needs:

Key Features in Early Stage

Use Cases

VM is ideal for blockchain applications like:

Check out contract examples here.

Benchmarks

Dora performed well in basic test cases. The benchmark results are shown below. For more benchmark tests, see here.

7891731069869_ pic

7881731069869_ pic

Installation

Firstly, see the developing guide to install all build dependencies.

Cargo

cargo install --git https://github.com/dp-labs/dora.git dora-cli

Build from Source

In the top level of the repo and run

make build

Then you can find the binary dora in the target/release folder.

How it Works

The Dora compiler is built on a unified intermediate representation(IR) layer tailored for blockchain applications, following a streamlined process to transform and optimize code into an ideal executable format. After thorough analysis and verification, the VM executes machine code generated from compiled native modules, which optimized for both main processors and co-processors. See Tech design for more information.

Roadmap

We are committed to continuous innovation, with key milestones including:

Contributing

We welcome contributions to Dora! Whether you're a developer, a user with a bug report, or someone looking to improve our documentation, your involvement is valuable! See the developing guide for more information.

Help Wanted

We are actively developing Dora and invite interested developers to join us. We need help with the following, see the issue list for more information.

Contact

Join our public Telegram group

For direct contact with the author, email: ethan@dplabs.xyz or message on Telegram: @lethanxl