Radix Podcast

MLABS - Building dApps on Cardano, Polkadot, Solana, and Radix

September 15, 2023

Summary

MLabs is a Haskell, Rust, and Blockchain AI consultancy working with various industries, such as fintech and blockchain. MLabs is also the developer of the Plutonomicon library, a major contributor to it, and one of the main contributors to the Plutarch eDSL version of the Plutus smart contract language.

MLabs has a large and skilled team of developers proficient in Haskell, Plutus, and Rust. They offer various services in Cardano, such as code auditing, project consultancy, and protocol development. MLabs has created many protocols in the Cardano ecosystem and has earned recommendations from within the ecosystem.

Ben and Amir share their insights and achievements on building applications on Radix, especially governance tooling for DeFi applications. They reveal their timelines for testing and deploying their products and offer tips and advice for aspiring Scrypto developers. They also comment on the quality of Radix’s documentation and open-source repositories and how they help with learning and building on the platform.

Key takeaways

  • Plutus is a secure and robust language that allows for composing bits of functionality together, but it also has some challenges in terms of efficiency and developer friendliness. MLabs has built some alternative languages and developer tools to address these issues.
  • Ben came across Radix at Consensus 2023 and was impressed with the thoughtfulness and organization of the Radix team and builders, as well as the Ociswap cat tattoo. He found it easy to jump into Scrypto because of his previous experience with Rust.
  • Amir found Scrypto to be easier to learn and use than Plutus because it abstracts away some of the lower-level details and has well-named concepts and design patterns. Amir was able to quickly understand and experiment with Scrypto by reading the documentation and the community examples that are available.
  • Radix’s guardrails and intent-based transactions make programming and building applications easier and safer, unlike Ethereum’s state-based transactions. It is difficult to explain Radix’s advantages to someone who has not faced Ethereum’s challenges.

Chapters

[01:01] The story of MLabs' founding

[03:33] What are Haskell and Plutus, and how did MLabs get their team up to speed with these languages?

[08:04] Advantages and challenges of using Plutus for building applications

[10:18] Haskell's reputation as a secure language and the difficulty in finding and training new Haskell developers—has MLabs encountered this?

[11:32] The philosophical and principles-based approach of Haskell and Rust advocates who are willing to change careers to write production code in these languages

[12:40] How and why did MLabs expand to Rust, a language that is ideologically similar to Haskell?

[13:42] How did the MLabs team learn about Radix and Scrypto, and how has their experience been so far?

[16:03] When and how did MLabs begin developing on Radix with clients from other communities, such as Cardano, and bringing that functionality to the Radix network?

[18:38] From Haskell and Plutus to Scrypto: Amir’s journey and insights

[20:03] Amir's favourite aspect of Scrypto and what he has built up to this point

[22:06] The need for critical tooling in an ecosystem: how DAO tooling enables governance features for DeFi applications

[23:20] Amir’s insights on building governance functionality in Scrypto and the benefits of the platform

[26:30] What are Amir’s timelines for testing and deploying the governance tooling, and when can people start using it?

[27:42] How does Ben, as CTO, use Scrypto to plan and implement MLabs' application architecture?

[31:35] The inverse relationship between speed of development and security

[33:09] What new Scrypto developers or those considering a move to the Radix ecosystem need to know

[35:42] How open-source repositories can aid in learning Scrypto, despite being outdated

[37:35] Radix’s goal to have the best crypto documentation and match Web2 standards

Further resources