With Catalyst Funding, dcSpark Helps Maintain the Cardano Rust SDK: A Foundation of the Cardano Ecosystem

dcSpark brings key technology powering apps and integrations on Cardano into the Alonzo era

Leo King
dcSpark
4 min readNov 30, 2021

--

Introduction

dcSpark is a product-based blockchain company founded in 2021 by members of the Cardano development community including cofounder and CTO Sebastien Guillemot — an established presence in Cardano, having served as lead developer for multiple products within the Cardano ecosystem that have attained widespread use and adoption with active user counts numbering in the hundreds of thousands.

This mission of building and expanding the Cardano ecosystem now continues at dcSpark, where Sebastien and his team continue to develop and maintain the Cardano Rust SDK, a project he originally initiated that now serves as a vital component of the Cardano ecosystem underpinning countless Cardano apps and integrations, including major exchanges and wallets. Alongside this important infrastructure work, dcSpark is pushing ahead with development of new products and technologies that will contribute to Cardano and the blockchain space as a whole — see our Milkomeda protocol for one noteworthy example. All of this is made possible in part by funding from Project Catalyst.

What to know

The Cardano Rust SDK is a toolkit that helps developers create applications for the Cardano blockchain. dcSpark is a key contributor to its ongoing development.

Useful background

What is Rust? What is an SDK?

What’s new in the Cardano Rust SDK?

The Cardano specification changed significantly with the Alonzo hard fork that ushered in Cardano’s Goguen era and introduced smart contract functionality. As a result, extensive updates and changes to the Cardano Rust SDK were necessary in order to keep it functioning. You can listen to dcSpark CTO Sebastien explain some of the changes in this video, or read a brief description of the Alonzo changes here.

In Catalyst Fund 5, dcSpark submitted a proposal to take on the task of developing these necessary updates. The proposal was approved by the Cardano community through the Project Catalyst voting process, and now that Alonzo is a reality, the Cardano Rust SDK continues to be used by major exchanges and virtually every app developer within the Cardano ecosystem thanks to the hard work of dcSpark along with important contributors such as Emurgo and the teams behind Berry Pool and ccvault.

Many of the changes made to the Cardano Rust SDK as part of the Alonzo upgrades were necessary technical additions to support the new specification, such as new data types and structures. This includes all the functionality required for dApps on Cardano to integrate the SDK — which almost all dApps have done. Work was also done to support built-in scripts such as multi-signature or “multisig”, where two or more signatures are required to send a transaction. Multisig is now an important concept for developing with Cardano, due to the way Cardano’s smart contracts function and how the specification handles multiple assets on the blockchain. Accordingly, the Cardano Rust SDK has been improved to help developers and exchanges work with scripts like multisig though new functionality for parsing multisig configurations and sample cases that can be used as a reference for multisig implementation. We plan to continue working on this with the funding we received in a previous round of Catalyst to leverage multisig for building EVM bridges

In addition to the above, extensive improvements were made to the TransactionBuilder API. This API is extremely important, as it is used to actually create the transactions that exchanges and apps will need to send to interact with the Cardano blockchain. The structure of Cardano transactions changed significantly with Alonzo, and an extensive overhaul of the TransactionBuilder API was needed. Some key improvements worth noting are improved support for multi-asset transactions as well as improved support for NFTs. Vitally important work is also currently underway on improving the input selection algorithms. This is a major challenge with significant impact, as these algorithms determine how transactions that efficiently draw from multiple inputs on the blockchain, potentially involving multiple different assets, can be constructed. You can learn more about this in our follow-up Catalyst proposal to improve input selection algorithms

We also have more work on the Rust codebase ongoing in parallel thanks to a proposal we previously made to to build a dApp rollback handler. We will be writing a more in-detailed update about our work on this task later, so definitely follow us to stay up-to-date!

Moving forward

If this work interests you and you would like to know more, we encourage you to follow the Cardano Rust SDK development directly and see the full list of changes at the GitHub repository. You also review and vote on our upcoming proposal to continue development of the input selection algorithm improvements at the Project Catalyst page, here.

dcSpark will be submitting many such new proposals to continue building and improving the Cardano ecosystem. Please watch this space for more updates, and follow our progress via Twitter and get in touch with us directly through our Discord server. We look forward to hearing from you.

--

--