Programming Language of the platform

In which programming language will the platform be developed. I’ve read that you will use wasm to be open to every programming language, which I find it great but I’m asking myself in which language(s) different (key) core functionalities of the platform will be written.

Networking and Node is written in Scala.
Execution Engine for smart contracts is written in Rust.
Wasm for contracts with initial support for Rust and more compatible Wasm languages in the future.
Integration Testing of the system with Python.

Our current Testnet is implemented Scala (P2P & Consensus) and Rust (Execution Engine). However, we are moving towards a Rust only implementation, which we are expecting to launch in Q3 as Testnet Delta.

We support contracts in Rust or AssemblyScript, allowing developers to write blockchain apps in any Web Assembly (WASM) compatible language. We also offer a full SDK with a VM runtime environment for Rust, complete with a test framework. Developers can use the IDE of their choice, and easily run their contracts in their Continuous Integration environment. This means over 95% of developers can write a blockchain app on CasperLabs network without any special training. This is a huge advantage.

What was the main reason / buying factor of Rust to be chosen a language of choice over Scala

Hi @nag9s! There are multiple factors that went into deciding on a rust-only build vs the scala/rust build we had in the first iterations of the network. Primarily:

  • there’re more Rust devs in blockchain ecosystem
  • having whole app built in the same tech is easier to maintain and develop
  • Rust application has lower system requirements than JVM (Scala)

I hope this helps answer your question. Please let us know if you have any others!