Zoran Skoda

Rust is an efficient programming language with compile time memory safety model based on the innovative notion of ownership and borrows, small runtime, modern concurency, zero cost abstractions, both object oriented and functional programming model. It’s speed is about the speed of comparable C programs. Rust does not require garbage collector, hence it is useful for real time programming as garbage collectors periodically stall the system for order of 100 ms. It compiles both to native code (LLVM compilers are commonly used) and to WebAssembly. It is particularly useful for real time programming, systems programming, embedded systems, web programming (via WebAssembly), concurrent systems and safety critical applications including blockchain and smart contracts. It easily links to the languages in C/C++ (ABI) linking model. Some of the prominent projects written in Rust are mozilla Servo/firefox, Grin blockchain, Libra blockchain, Deno js/ts runtime, microkernel Redox.

See also substrate, cslinks

  • rust-lang.org, the official rust book, reference, std library, crates.io
  • what is rustdoc
  • Jim Blandy, Jason Orendorff, Programming Rust: fast, safe systems development, O’Reilly Media 2017
  • Steve Klabnik, Carol Nichols, The rust programming language, no starch press, xxvii+519 pp., 2018
  • Rust crashcourse Rustlang (2hr) yt
  • yandex Rust course (in Russian, А. А. Кладов) 2019-spring
  • double linked list in safe Rust github, std::collections::LinkedList, but use VectDeque and see tutorial Learn Rust With Entirely Too Many Linked Lists
  • Yet Another Rust Iterators Tutorial web
  • Merkle tree crate
  • IOKH launches Cardano Rust project cardanorust.iohkdev.io, news Feb 2018
  • Rust can also compile to RISC-V, see github/riscv-rust
  • exonom.com, doc – extensible open-source framework for creating (permissioned) blockchain applications, smart contracts replaced by supposedly more flexible notion of services (see comparision). Exonum services can be coded in Rust or Java.
  • github/rust-libp2p – Rust implementation of libp2p networking stack
  • rustsim numerical lib. and linear algebra for Rust
  • list of crates on neural networks in Rust is here
  • Hyperledger Sabre is a transaction family/processor for Wasm on Hyperledger Sawtooth blockchain framework github/hyperledger/sawtooth-sabre
  • mimblewimble cryptocurrency protocol is implemented in Rust in project Grin github
  • State of machine learning in Rust blog 2019

Rust is commonly compiled either to the native code or optionally to WebAssembly.

  • Rust & WebAssembly with Nick Fitzgerald yt

Thanks to WebAssembly support many platforms which use WebAssembly virtual machine, have tools for using Rust for such purposes. For example, Dfinity Internet Computer has Rust Canister Development Kit

Parity supports Kovan testnet for future candidate version of Ethereum which supports wasm (hence one can use Rust), see

  • Toward a brighter future for smart contracts, at troubles.md

Rust on Parity Substrate can be used for smart contracting via Ink eDSL package

Some research papers

  • RustBelt: securing the foundations of the rust programming language doi (open access)
  • B. Lamowski et al. Sandcrust: automatic sandboxing of unsafe components in Rust, doi
  • Garming Sam, Nick Cameron, Alex Potanin, Automated refactoring of rust programs, ACSW ‘17: Proceedings of the Australasian Computer Science Week Multiconference doi
  • POSTER: Rust SGX SDK: Towards Memory Safety in Intel SGX Enclave doi
  • Ling Qing Meng, Applied Rust for protocol development, Developer Seminar at NYC Blockchain Center, 2019, yt, 40 min.

Last revised on February 27, 2021 at 08:06:25. See the history of this page for a list of all contributions to it.