funded
SIDAN | MeshJS - Advance Cardano SDK in Rust
Current Project Status
In Progress
Amount
Received
₳48,000
Amount
Requested
₳200,000
Percentage
Received
24.00%
Solution

On top of the backbone of previous funded pilot research and implementation, we build a developer-ready SDK which makes efficient Cardano backend in Rust possible and easily accessible.

Problem

Cardano lacks a complete user-facing Cardano SDK in Rust, for building on Cardano without knowing all low-level details.

Impact Alignment
Value for Money
Feasibility
SIDAN | MeshJS - Advance Cardano SDK in Rust

Please describe your proposed solution

On top of the backbone of previous funded pilot research and implementation, build a developer-ready SDK which makes efficient Cardano backend in Rust possible and easily accessible. Also, extra the core components in the web assembly package to support the development of MeshJS.

In details, the development work would cover

  • Introducing new features, including auto-redeemer update by integrating txpipe’s uplc, tx-parser for unit testing offchain code.
  • Extracting core logic to a separate library for compiling into wasm, allowing integration with MeshJS and other JS Cardano frameworks.

Eventually, it could serve as a reference for other Cardano infrastructure to build user-facing software development kits. Also, it could support scalable production DApp backend.

Please define the positive impact your project will have on the wider Cardano community

Any Cardano Dapp which would have a backend on Rust could use it to integrate with all logics seamlessly. For instance, DeltaDeFi, a DeFi protocol built on Cardano powering high frequency trading, is built on top of the sidan-csl-rs package (the origin of this proposal), and contributing back to the proposal. It proves that the package actually brings value to production grade DApps development.

It could also contribute to the development of JS libraries such as MeshJS to support ecosystem adoption. In this proposal new features would also be built into MeshJS, benefiting an existing wide range of Cardano developers.

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

Our team has strongly committed and experienced members, providing all required skill sets and expertise to successfully implement the proposed solution

Trust and accountability:

  • Track record on Cardano ecosystem participation
  • Team members have a track record of contributing in Cardano open source
  • Team members are professionals across a spectrum of industries, including banking and finance, cyber security and software engineering, with chartered status with different professional bodies.

Approach validation

  • Market validation conducted with DeltaDeFi, which is a non-custodial exchange built on Cardano, confirming the work would benefit Cardano DApps in terms of balancing ease in development transaction building efficiency.
  • Currently DeltaDeFi is built on top of sidan-csl-rs, a F11 funded project and the backbone of this proposal.

Technical approach feasibility research

  • SIDAN Lab and MeshJS team could be represented as an expert group from application level. Feasibility is not a problem.
  • Same team built the sidan-csl-rs. Thus, the team has shown the track record of delivery and capability with the rich experience of working under public governance.

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: Milestone 1: Proposal Onboarding and Planning (1 Month)

Objective: Establish a solid foundation for the project by setting up the necessary infrastructure, assembling the team, and defining project management practices.

Activities:

  • Proposal onboarding and project management tools setup
  • Have a detailed breakdown of tasks for all the activities covered:
  • Initial Documentation
  • List out all the APIs needed

Acceptance Criteria & Evidence:

  • Project management tools and systems set up.
  • Github link with tasks breakdown publicly accessible

Milestone 2: Milestone 2: Rust & WASM Packaging (1 Month)

Objective: Prepare the code base for both the wasm package and package for rust use

Activities:

  • Splitting code base into 2 separate rust projects
  • Compile all core logics and type into wasm
  • Publish initial version for both Rust SDK & WASM package

Acceptance Criteria & Evidence:

  • 2 links pointing to root location of the 2 separate rust projects
  • A published rust crate visitable in crates.io, indicating the package for rust use
  • 2 published node modules containing the core logics, one for nodejs and one for browser in npm registry

Milestone 3: Milestone 3: MeshJS Migration (1.5 Month)

Objective: Migrate all existing CSL logic to mesh-csl, which builds on top of the wasm package

Activities:

  • Migrate all existing CSL logic from MeshJS library to mesh-csl, leaving spacing for future MeshJS integration pattern upgrades.
  • Integrate the migrated functions back to MeshJS library

Acceptance Criteria & Evidence:

  • A complete mesh-csl package with open source Github repository link
  • A published node module public visitable in on npm registry
  • A upgraded <member communityid="163" id="189733">meshsdk</member>/core package with the migrated functions integrated

Milestone 4: Milestone 4: Feature development (1 Month)

Objective: Develop off-node transaction evaluation feature and integrating with mesh. Develop provider integration feature with the rust package

Activities:

  • Develop the off-node transaction evaluation
  • Develop blockchain provider implementation and integration with Maestro &amp; Blockfrost

Acceptance Criteria &amp; Evidence:

  • New features available with documentation available in published rust package in crates.io
  • New features available with documentation available in mesh core package

Milestone 5: Milestone 5: Feature development (1 Month)

Objective: Develop new feature of systematically parsing transaction information from hex, enable offchain code unit testing

Activities:

  • Develop the backward transaction parser - getting the transaction hex and parsing back to rust object
  • Develop the offchain code unit testing framework on top of the transaction parser, introducing a brand new developer experience on unit testing offchain code on Cardano

Acceptance Criteria &amp; Evidence:

  • New features available with documentation available in published rust package in crates.io
  • New features available with documentation available in mesh core package

Final Milestone: Final Milestone: Complete Documentation (1 Month)

Objective: Provide full set of documentation, bringing the proposal result to the community

Activities:

  • Complete all inline documentation on user-facing APIs, with public hosting for easy referencing.
  • Hosting a community in both MeshJS &amp; SIDAN Lab discord for feedback, question and communication
  • Prepare the project close-out report and video

Acceptance Criteria &amp; Evidence:

  • A full set of public documentation on all new features and changes brought by this project
  • Dedicated channel in SIDAN Lab discord server in regards to the project deliverables
  • Announcement in MeshJS discord server about all new features provided by this project
  • Publicly available project close-out report and video

Who is in the project team and what are their roles?

This is a collaborative project led by SIDAN Lab and MeshJS, with an aligned objective of bringing the next wave of explosive adoption on the Cardano blockchain.

SIDAN Lab. SIDAN Lab possesses the know-how of building on Cardano and consistently contributing to the Cardano open source throughout the years. Main engineers involved in this proposal from SIDAN Lab would be

  • Hinson Wong - Cardano engineer.
  • Tsz Wai Wu - Cardano engineer
  • Jackal Leung - DevOps and Software Engineer
  • Anson Chui - DevOps and Security Engineer

MeshJS. MeshJS provides open source technology stacks on the Cardano blockchain that facilitate the seamless integration of DApp built on Cardano, significantly diminishing the time required for the development and deployment of blockchain solutions. MeshJS community would be in general supporting the integration.

Please provide a cost breakdown of the proposed work and resources

Milestone 1: Proposal Onboarding and Planning (1 Month)

  • ADA 10,000 - Proposal onboarding and project management tools setup
  • ADA 20,000 - Have a detailed breakdown of tasks for all the activities covered:
  • Initial Documentation
  • List out all the APIs needed
  • Total Budget: 30,000 ADA

Milestone 2: Rust &amp; WASM Packaging (1.5 Month)

  • ADA 20,000 - Splitting code base into 2 separate rust projects
  • ADA 15,000 - Compile all core logics and type into wasm
  • ADA 15,000 - Publish initial version for both Rust SDK &amp; WASM package
  • Total Budget: 50,000 ADA

Milestone 3: MeshJS Migration (1 Month)

  • ADA 15,000 - Migrate all existing CSL logic from MeshJS library to either mesh-csl-rs or mesh-csl, leaving spacing for future MeshJS integration pattern upgrades.
  • ADA 15,000 - Integrate the migrated functions back to MeshJS library
  • Total Budget: 30,000 ADA

Milestone 4: Feature development (1 Month)

  • ADA 15,000 - Develop the off-node transaction evaluation
  • ADA 15,000 - Develop blockchain provider implementation and integration with Maestro &amp; Blockfrost
  • Total Budget: 30,000 ADA

Milestone 5: Feature development (1 Month)

  • ADA 15,000 - Develop the backward transaction parser - getting the transaction hex and parsing back to rust object
  • ADA 15,000 - Develop the offchain code unit testing framework on top of the transaction parser, introducing a brand new developer experience on unit testing offchain code on Cardano
  • Total Budget: 30,000 ADA

Final Milestone: Complete Documentation (1 Month)

  • ADA 15,000 - Complete all inline documentation on user-facing APIs, with public hosting for easy referencing.
  • ADA 5,000 - Hosting a community in both MeshJS &amp; SIDAN Lab discord for feedback, question and communication
  • ADA 10,000 - Prepare the project close-out report and video
  • Budget: 30,000 ADA

Cardano-serialization-lib. It is an open source off-chain transaction building library where the proposed APIs would be built on top of it.

How does the cost of the project represent value for money for the Cardano ecosystem?

  1. Packages such as Mesh &amp; Lucid have proven this layer of logic abstraction useful for Cardano Dapp development. It also lowers the entrance barriers for seasoned non-Cardano-native software engineers in Cardano development.
  2. With such abstraction logic, it could save tens of thousands in development cost for a single production grade Dapp off-chain. Thus, value for money is justified when there are a few projects building on the package.
  3. There are a bunch of Cardano infrastructure tools built on Rust. The package proposed would be able to natively integrate with production grade Dapps.
  4. DeltaDeFi, a DeFi protocol built on Cardano powering high frequency trading, is built on top of the sidan-csl-rs package (the origin of this proposal), and contributing back to the proposal. It proves that the package actually brings value to production grade DApps development.
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