A thriving blockchain ecosystem relies on more than a successful design and implementation. A flourishing developer community is paramount. Significant projects in the crypto space like Polkadot and Solana boast explosive growth in the number of developers working on their technology. Other ecosystems have faded from headlines—and the interest of users and investors—after suffering from a lack of technical input from their communities.
That said, the tools developers need are imperative for their participation. Several Catalyst proposals, especially under the Fund 5 Developer Ecosystem challenge, focused on libraries essential for garden-variety languages. Yet, Cardano and Plutus primarily rely on the functional language Haskell for security and Rust for supporting infrastructure.
Rust
Cardano is often billed as a formally verifiable blockchain promising safe and reliable smart contracts. As many know, this stems from its use of the Haskell functional programming language in Cardano’s Plutus and Marlowe contract languages. Overall, Haskell helps developers reason about the state of the blockchain and the effect of their code, helping ensure safe and robust applications.
However, many consider Haskell a “high-level” language. Its prescribed security imposes some cost to performance and flexibility. Low-level languages, on the other hand, “run close to the metal,” meaning they involve less abstraction and grant developers greater control.
Rust is a low-level programming language aimed at addressing difficulties surrounding other similar, system-level languages. Take C++, for instance. The nearly 40-year-old language is widely considered to be fast and efficient. Yet, careful attention is necessary when writing programs. C++ requires precise control of memory, which makes operations like threading non-trivial to implement. When things go wrong, critical memory overflow issues and crashed programs are the all-too-common consequences.
Nevertheless, Rust provides a workaround to memory management issues. By implementing a borrow checker into the compiler, Rust enforces the notion of data ownership. Data ownership ensures that references cannot outlive the data they reference, thereby eliminating dangling pointers and the memory issues they cause. In contrast to other “memory safe” languages like Python, Rust accomplishes this without using a resource-consuming garbage collector.
Rust also enjoys the support of some respectable backers. Mozilla, the creator of the Firefox browser, was an early advocate of the language. Amazon, Facebook, and DropBox are also noteworthy users.
Cardano’s Rust Project
The Rust programming language has been a part of the Cardano ecosystem for several years. Charles Hoskinson explained the impetus behind the Cardano Rust Project in a 2018 interview:
In the video, Hoskinson explains that there is a strong desire for expert-level open-source tooling within Cardano. Servicing this demand was formative to the Icarus project, which helped realize the Rust codebase and Emurgo’s Yoroi wallet. Hoskinson noted:
“All cryptocurrencies, at the end of the day, require diversity and competition. The Rust Cardano client is really about trying to push the boundaries of how fast we can move and also to introduce the concept of competition into the ecosystem. Furthermore, it’s about onboarding a different class of user so we can involve people who want to do their own forensics or build their own experiences with fine-tuned control of transactions, accounts, and smart contracts.”
More recently, Rust programming has been an essential part of growth in the ecosystem. The proof-of-stake blockchain underpinning the Catalyst voting system relies on the low-level language, and an EVM as a service project aims to facilitate the execution of Ethereum-style contracts with the help of Rust
Updating the Rust SDK with the Alonzo Hard Fork
The impending Alonzo hard-fork promises to bring smart contract functionality to Cardano. However, the long-awaited update will have wide-ranging technical implications. Significantly, central integrations in the ecosystem such as Coinbase and Yoroi could be negatively affected as they rely on the soon to be outdated Rust SDK.
Proposers of the Cardano Rust SDK update for Alonzo Fund 5 proposal seek to address this issue. Sebastien Guillemot has served as a technical manager at Emurgo, and Nicolás Arqueros a chief technology officer. Both helped create the original Rust library.
As such, they seek to support the library and the developers that depend on it. This is seemingly no small order. According to the proposal, the Rust library implements the Cardano binary directly, making it ideal for several use cases, including web browsers and mobile apps.
The proposal requests 50,000 USD in funding for the effort. In more precise terms, the team will:
- Continuing upgrading the library as Cardano evolves.
- Work to develop functionality requested by participants in the ecosystem.
- Provide support to exchanges and wallets.
If you’d like to know more information or have questions/comments regarding the Cardano Rust SDK update for Alonzo proposal, check out the link provided: https://cardano.ideascale.com/a/dtd/Cardano-Rust-SDK-update-for-Alonzo/352480-48088