completed
Unbox: Enabling Rust-based Cardano dApps
Current Project Status
Complete
Amount
Received
₳194,654
Amount
Requested
₳194,654
Percentage
Received
100.00%
Solution

An open-source Rust ecosystem for developing dApps including Rust libraries for building, parsing and testing transactions and Nix libraries for integrating Rust components in polyglot monorepos.

Problem

Rust libraries for building, parsing and testing transactions are lacking, as well as Nix libraries for integrating Rust components in a polyglot monorepo, forcing teams to reinvent the wheel.

Impact Alignment
Feasibility
Value for money

Team

2 members

Unbox: Enabling Rust-based Cardano dApps

Please describe your proposed solution.

Problem

Unbox offers innovative payment & value distribution solutions with its groundbreaking Ucoin platform, engineered for secure and targeted fund distribution within closed-loop systems. Using our CLS Engine, Unbox has provided solutions across the globe to solve diverse problems:

These varied use cases are a testament to our commitment to impactful and sustainable economic models, aligning us closely with the ethos of Cardano.

Relying upon our CLS Engine, Ucoins facilitate direct, verifiable transactions between benefactors and participating organizations for targeted use of funds without leakage or slippage. This innovative approach redefines the relationship between funding sources and recipients, fostering impactful and transparent financial exchanges.

To achieve our goals, we've selected Cardano for its thoughtful focus on impactful projects and its advanced third-generation blockchain. On the Cardano chain, Ucoins are top-tier assets treated with the same priority and importance as the native token ADA. However, while several teams have typically relied on a Haskell based stack for Cardano dApp development, we've opted for Rust for its low-level efficiency and safety guarantees.

However, the Rust ecosystem support for developing Cardano dApps is lacking and is forcing teams to reinvent the wheel hindering effectiveness and introducing risks. Concretely, there's a lack of Rust libraries with high level APIs for building, parsing and testing transactions and Nix libraries for integrating Rust components in larger polyglot monorepos typical for Cardano dApp projects.

We plan to build on the excellent Rust libraries already existing in the ecosystem that provide a low level API for working with Cardano, namely Cardano Serialization Library, Cardano Multiplatform Library, Pallas and others, along with excellent Nix libraries existing today for Rust, namely Crane, RustOverlay, and others, and we plan to address the following deficiencies:

  • Testing Cardano transactions against a realistic Cardano network easily
  • Plutus Ledger API library for Rust with all the necessary types and their Plutus Data encodings,
  • High level API for specifying Cardano transactions similar to existing frameworks (featuring automatic balancing and coin selection),
  • Nix libraries for integrating Rust components in polyglot monorepos, featuring dynamic library and data dependencies, code quality automation (clippy, fmt, etc).

Solution

We propose to build the following components

  • Rust library for Plutip (<https://github.com/mlabs-haskell/plutip>) enabling Rust users to quickly and easily orchestrate and submit Cardano transactions against a standalone, disposable Cardano Testnet
  • Rust Plutus Ledger API library (<https://github.com/input-output-hk/plutus/tree/master/plutus-ledger-api>) with all the types, functions and Plutus Data encoding capabilities typically necessary to build and generally work with dApp datums
  • Rust library for transaction building and parsing enabling Rust developers to build transactions using a high level API, but also to analyze transactions into its high level, domain specific form. This library will feature automatic balancing and coin selection similar to how it's done in equivalent libraries found in other ecosystems.
  • Nix libraries for integrating Rust components in polyglot monorepos typical of Cardano dApp development. Much of Cardano’s tooling is dependent on reproducible Nix environments, furthermore, a typical Cardano dApp is structured as a polyglot monorepo featuring components written in different programming languages related in both compile-time and run-time. Luckily, Rust has an excellent, albeit low-level Nix support which we plan to use to facilitate its integration into monorepos.

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

What does this proposal entail?

We will be building 4 key pieces of rust infrastructure to enable full-stack Rust development of Cardano dApps:

  • Plutip library for Rust
  • Plutus Ledger API library for Rust
  • Cardano transaction building and parsing library in Rust
  • Nix library for integrating Rust components in polyglot monorepos

How does a Rust-based testing framework benefit Cardano developers?

Our aim is to reduce friction for full-stack Rust developers, making several key tasks much easier and reducing the likelihood of a Rust developer writing error-prone code. Ultimately, we want Cardano projects that choose Rust to have more options and reduced friction while writing production-ready code. Projects using Rust should also see reduced net development costs as a result of these tools being available.

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?

Unbox is made up of almost 45 unique and forward thinking individuals on a mission to build and help rebuild better societies. From a diverse background Unbox prides itself on its diversity of thinkers scattered across the globe with proven expertise in Marketing, Blockchain, Engineering, Design, Finance, Payments, GTM and more.

Unbox's capabilities are backed by its proven track record (awards, project launches, etc see here). This is further backed two global and leading Banks who have invested in Unbox.

We will also subcontract MLabs, experts in Rust development and blockchain technology especially Cardano, ensuring our capability to deliver this project with high trust and accountability. Our experience with the Ucoin platform underscores our proficiency and commitment to innovation in the blockchain space.

That said, to validate the feasibility of our approach, we will conduct rigorous early-stage research and testing. This will involve creating initial prototypes of the testing framework and ongoing performance evaluations. Furthermore, we plan to engage with the Cardano developer community for feedback and collaborative testing, ensuring our solution aligns with the real-world needs of dApp teams and builders. We will share the progress of project through the typical compliance channels as well as on social media.

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

Rust library for Plutip (<https://github.com/mlabs-haskell/plutip>) enabling Rust users to quickly and easily orchestrate and submit Cardano transactions against a standalone, disposable Cardano Testnet.

>Rust Plutus Ledger API library (<https://github.com/input-output-hk/plutus/tree/master/plutus-ledger-api>) with all the types, functions and Plutus Data encoding capabilities typically necessary to build and generally work with dApp datums.

>Rust library for transaction building and parsing enabling Rust developers to build transactions using a high level API, but also to analyze transactions into its high level, domain specific form. This library will feature automatic balancing and coin selection similar to how it's done in equivalent libraries found in other ecosystems.

>Nix libraries for integrating Rust components in polyglot monorepos typical of Cardano dApp development. Much of Cardano’s tooling is dependent on reproducible Nix environments, furthermore, a typical Cardano dApp is structured as a polyglot monorepo featuring components written in different programming languages related in both compile-time and run-time. Luckily, Rust has an excellent, albeit low-level Nix support which we plan to use to facilitate its integration into monorepos.

>Documentation and open-sourcing best practices - work with internal adopters and other stakeholders to ensure that our open source package is stable and usable

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

Meet the team

Unbox the Universe is an innovative player in the blockchain technology space, where we have created and promoted efficient and targeted funding distribution systems using our CLS Engine. Our closed-loop Ucoin payment networks have seen several real-life use cases, particularly during the recovery following the COVID-19 pandemic. It stands as a testament to our team's steadfast drive to merge finance with technology to benefit the lives of everyday people.

The Unbox team is spread across 17 countries and consists of over 50 professionals including seasoned developers, finance experts, and strategists. We have expertise in several programming languages and frameworks, blockchain technologies, and creating solutions that redefine funding distribution.

CEO

Erik Saelens

Erik Saelens is the CEO and founder of Unbox. He brings three decades of experience in strategy, branding, sales, marketing, and technology. Saelens prioritises driving growth and profitability and is a renowned author and expert on brand-driven M&A and IPO strategies.

Before founding Unbox, he was the founder and CEO of Brandhome, a strategic agency specialising in rebranding and renaming operations. Saelens led over 350 brand-change operations for blue-chip companies, governments and politicians across Europe, America, the Middle East, and Africa.

LinkedIn [https://www.linkedin.com/in/eriksaelens/]

CTO

Joeri Torfs

Condemned to be free, I attempt to balance existence, roles and nothingness on my journey to be authentic. I'm passionate about Self Sovereign identity, privacy, transparency and more broadly the disruption blockchain tech is about to bring to institutions.

Versatile manager with more than 15 years of experience supporting multidisciplinary teams of different sizes. Technophile, agile coach, trainer and change agent facilitating organisational agility and engaging workplaces.

LinkedIn [https://www.linkedin.com/in/joeritorfs/]

CPO

James Angle

Pioneering Web3 products that rearchitect financial value chains. Responsible for the design and implementation of multi award winning products that bring value to users and clients in the real world. Working with Government, Brands, NGOs to build and rebuild better societies for the communities we live and work in from the Middle East, Europe and the US.

LinkedIn [https://www.linkedin.com/in/jamesangle0/]

Veteran Plutus Developer

Drazen Popvic

Drazen Popovic is a veteran Plutus developer and former Googler, Drazen brings to the project a wealth of experience in Software engineering and Cybersecurity

LinkedIn [https://www.linkedin.com/in/dra%C5%BEen-popovi%C4%87-70355949/]

Please provide a cost breakdown of the proposed work and resources.

Summary:

Subtotal: 425 hours @110 USD/hour = 46,717 USD

Total (@ six-month low rate $0.24 USD / ADA): 194,654 ADA

Breakdown:

Milestone 1 - 55 hours - 6,028 USD - 25,117 ADA

Milestone 2 - 55 hours - 6,028 USD - 25,117 ADA

Milestone 3 - 123 hours - 13,563 USD - 56,513 ADA

Milestone 4 - 123 hours - 13,563 USD - 56,513 ADA

(Final) Milestone 5 - 69 hours - 7,535 USD - 31,396 ADA

Considerations:

To ensure clarity and financial stability, we have conservatively estimated the USD/ADA exchange rate in our budget. This approach is designed to maintain operational consistency in fluctuating market conditions. However, should there be extreme negative shifts in the market beyond our projections, we may need to consider pausing the project temporarily until conditions recover. Such a decision, while difficult, would be aimed at safeguarding the sustainability of our enterprise. We commit to transparent communication with stakeholders should such circumstances arise.

On the contrary if the value of Ada continues to rise, we may opt in to additional commitments such that the community sees considerable value for dollar.

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

This Unbox project represents significant value for the Cardano ecosystem by introducing a vital Rust-based ecosystem. It fills a critical gap, enhancing the development process for Rust applications and attracting a broader developer base. Our proven expertise in blockchain innovation ensures efficient resource utilization, making this a strategic investment in Cardano’s future. This initiative will not only boost innovation and quality in dApps but also enhance the overall appeal and functionality of the Cardano platform, offering a substantial return on investment for the community.

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