Last updated a year ago
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.
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.
This is the total amount allocated to Oneiron: Cardano Sidechain SDK.
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:
Creating and/or joining multi-node sidechains (and therefore, implementation of the Ouroboros consensus protocol) will be a subject of a future proposal.
Alignment with strategic goals for Fund9
Prepare a group of people willing and able to make contributions to the ecosystem.
Turn Cardano into an open source project.
Accelerate the growth and evolution of developer & app ecosystem.
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
Number of proposals including participants from other blockchain communities
Number of technical implementations connecting Cardano to other blockchains
Ideas from other chains implemented by Catalyst
Projects and dApps from other chains implemented on Cardano
Implementing connectivity with Cardano blockchain using research papers as blueprint (vs a working prototype or a documented API) is currently the biggest challenge. Mitigation:
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.
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.
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
Absolutely! We will need to build a few key components, like:
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).
The project (within the scope of this proposal) is successful if:
An entirely new project. The idea shaped up the last week of June 2022.
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
Experience leading teams, building software with a spectrum of technologies: imperative and functional languages (mostly, JVM-based), web stacks, Kubernetes. Plutus Pioneer (3rd cohort).