funded

Oneiron: Cardano Sidechain SDK

$48,892.00 Received
$65,536.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
Solución

A JVM-based Cardano Sidechain SDK will close this gap and open Cardano ecosystem to millions of enterprise software developers. Thousands public and private Cardano sidechains will be created.

Problem:

To build a Cardano sidechain, a LOT of developer effort is needed. Most developers are not familiar with Plutus or even Haskell, but have experience with JVM-based languages or JavaScript.

Yes Votes:
₳ 75,297,852
No Votes:
₳ 23,401,690
Votes Cast:
305

This proposal was approved and funded by the Cardano Community via Project F9: Cross-Chain Collaboration Catalyst funding round.

[IMPACT] Please describe your proposed solution.

Vision

We’re building Oneiron SDK — an open-source JVM-based Cardano Sidechain SDK. Our goal is to enable developers already familiar with enterprise/web technologies to create Cardano sidechains and applications quickly and easily.

“Oneiron” (Ancient Greek) — “Dream”. Our dream is to bring millions of developers to Cardano.

With Oneiron SDK, anyone will be able to create a sidechain node with a simple CLI command, without writing a line of code. Oneiron-built node will be able to join an existing sidechain (built with Oneiron SDK) or to create an entirely new Cardano sidechain.

We’re also aiming to create Oneiron Network — a Cardano sidechain built with our SDK, enabling developers to start building apps immediately (without necessarily running their own nodes), with a variety of programming languages.

The language runtime choice is designed to primarily target the massive enterprise/web developer audience.

The Oneiron smart-contract runtime will be JVM-based, so it will support languages like Java, Kotlin, Scala, Clojure, etc., as well as JavaScript, Python, Ruby. We also aim to include support for Wasm and PlutusCore in the future.

Oneiron Network will use the Cardano eUTXO accounting model and Ouroboros consensus protocol.

In the future, we also aim to include support for IBC protocol to enable interoperability with Cosmos Hub and blockchains in the Cosmos ecosystem.

Current Scope

The scope of this particular proposal is to build the the first approximation of our sidechain SDK, capable of creating single node Cardano sidechains. Users will still be able to:

  • easily install the SDK,
  • create their own (single-node, but still real) Cardano sidechain, capable of running smart-contracts on a JVM-based language runtime,
  • begin development and run their apps on the sidechain.

Creating and/or joining multi-node sidechains (and therefore, implementation of the Ouroboros consensus protocol) will be a subject of a future proposal.

[IMPACT] Please describe how your proposed solution will address the Challenge that you have submitted it in.

Alignment with strategic goals for Fund9

Prepare a group of people willing and able to make contributions to the ecosystem.

  • Oneiron opens up the Cardano ecosystem to hordes of enterprise/web developers.

Turn Cardano into an open source project.

  • Oneiron is open source from the beginning.

Accelerate the growth and evolution of developer & app ecosystem.

  • Easy creation of Cardano sidechains with the Oneiron SDK and the JVM-based language runtime will bridge the skill gap for existing enterprise/web developers.

Key Metrics

Oneiron Cardano Sidechain SDK, when funded and built, will positively affect the Challenge metrics:

On-chain activity growth due to new cross-chain implementations

  • Potentially thousands of sidechains created with the SDK, inevitably leading to activity growth.

Number of proposals including participants from other blockchain communities

  • Closing technology gap will bring developers unfamiliar with Plutus and Haskell.

Number of technical implementations connecting Cardano to other blockchains

  • Building cross-chain bridges will be far easier with the sidechain SDK.

Ideas from other chains implemented by Catalyst

  • Oneiron SDK borrows an idea from Cosmos: the Cosmos SDK 😉

Projects and dApps from other chains implemented on Cardano

  • Easier application development will help increase this number.

    [IMPACT] What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

Implementing connectivity with Cardano blockchain using research papers as blueprint (vs a working prototype or a documented API) is currently the biggest challenge. Mitigation:

  • The papers in question are peer reviewed and published works, which gives us a good level of confidence in the theory.

  • We are, luckily, not the first: there’s Milkomeda, Mamba and other sidechains to learn from.

  • Addressing this issue is the highest priority item on our backlog, so we will make sure to solve this before anything else.

    [FEASIBILITY] Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

M0 (2-4 weeks): Ingest the available Cardano research papers on sidechains. Make notes in the form of wiki / design docs. The desired outcome of this milestone is a backlog of implementable development tasks on GitHub.

M1 (4-8 weeks): A minimal sidechain connected to Cardano testnet being able to transfer test ADA from the Cardano testnet into the sidechain and back.

M2 (2-4 weeks): First shot at the smart-contract runtime for a JVM-based language.

M3 (2-4 weeks): Smart-contract runtime interface is defined for JavaScript.

M4 (2-4 weeks): The SDK is installable using Homebrew (brew install) on macOS. Support for other package managers are in the backlog.

M5 (2-4 weeks): Documentation is available on the docs website and linked from the project GitHub repo.

[FEASIBILITY] Please provide a detailed budget breakdown.

The above milestone plan will take ~4-7 months of the founding engineer working ~8h per week on this project. For contingency, let’s round it up to 8 months (or 32 weeks).

With the hourly rate of $256, the project total cost is $256/h × 8h/w × 32w = $65,536.

[FEASIBILITY] Please provide details of the people who will work on the project.

Ivan Mikushin is a Staff Engineer at VMware and has 20+ years of software engineering experience: leading teams and building software with a spectrum of technologies: imperative and functional languages (mostly, JVM-based), web stacks, Kubernetes. Plutus Pioneer (3rd cohort).

LinkedIn: <https://www.linkedin.com/in/imikushin>

Twitter: @imikushin

[FEASIBILITY] If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

Absolutely! We will need to build a few key components, like:

  • Multi-node sidechains built with the Oneiron SDK (implementation of the Ouroboros consensus protocol),

  • Wasm scripts in sidechains built with the Oneiron SDK,

  • PlutusCore scripts in sidechains built with the Oneiron SDK,

  • Support IBC protocol to enable interoperability with Cosmos Hub and blockchains in the Cosmos ecosystem.

    [AUDITABILITY] Please describe what you will measure to track your project's progress, and how will you measure these?

We will estimate all deliverable feature development work in “points” and measure development velocity in number of points in delivered features every 2 weeks (we will produce a release every 2 weeks).

We will also measure unit-test coverage of the codebase (keep it high) and build time (keep it low).

[AUDITABILITY] What does success for this project look like?

The project (within the scope of this proposal) is successful if:

  • An enterprise or web application developer can install the Oneiron SDK and create a single-node Cardano sidechain in 15 minutes by following instructions in the project README on GitHub.

  • Some amount of ADA can be transferred from the main Cardano blockchain into the sidechain and back.

  • A smart-contract written in JavaScript can be deployed and verified to work on the sidechain.

    [AUDITABILITY] Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

An entirely new project. The idea shaped up the last week of June 2022.

Reseñas de CAs (1)

Comments

Monthly Reports

I have just started. No deliverables have been created yet. For the last couple weeks I have been working on requirements and design of gate scripts of Oneiron based sidechains (a wiki page will be created with these design decisions). Also in the works is implementation of the ledger data model in Clojure, along with the first approximation of the smart contract runtime (to be finished before the next report).

Disbursed to Date
$48,892
Status
Still in progress
Completion Target
4. After 6 months
Comments 0

Login or Register to leave a comment!

PoC for Java based smart contracts in sidechains. Submitted a draft CIP-1775: Delegated Spending Authorizations (https://github.com/cardano-foundation/CIPs/pull/383).

Disbursed to Date
$48,892
Status
Still in progress
Completion Target
4. After 6 months
Comments 0

Login or Register to leave a comment!

High level description of what exactly is an Oneiron Cardano sidechain: what it looks like to a Cardano user, how to use it, how it interoperates with Cardano.

Oneiron sidechain summary transaction validation and gate scripts design: a summary transaction reduces multiple interactions on the sidechain into a single transaction on Cardano.

Disbursed to Date
$48,892
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00