How I learn Rust

From my observation, Rust is a really popular language in not only blockchain but also areas such as gaming where high performance is required. Many of my favourite projects are written in Rust, and it is frustrating when I can’t understand the language… ๐Ÿฅฒ This is also my main driving force to study Rust.

I came across few resources on the Rust official site. Making sure that I subscribe to official updates and newsletters. Another source I follow is the Rust in Blockchain site, they also occasionally update their blog which is very helpful to catch up with blockchain-related Rust projects.

Rust - Most Loved Language!

โœ… Speed โœ… Safety โœ… Come with Cargo Manager โœ… Come with Error Messages โœ… Efficient C Binding โœ… Treads without Data Races

I am currently going through Easy Rust’s tutorials. It is fantastic so far! I love how David Macleod explains Rust in a very detailed way. I am sure you will like it as well! His tutorials are available on Youtube. If you prefer reading, you can check out his book here.

My planning after the Easy Rust tutorials:

fn main() {
    println!("Hello World!");
}

P.S. The best way to learn is to get your hands dirty.

Learn how to write a STARK prover from scratch in Python

Starkware is one of the projects that are always on my watch list. Today, I finally have some spare time to go over one of their stark 101 tutorials to write a stark prover from scratch.

The tutorial is a great material to understand the proving mechanism, in which the verifier is succinct logarithmically using a small amount of computation and the prover is proving in a quasi-linear to achieve efficiency on both sides. In other terms, it is scalable. As the amount of verification scales in a log-squared manner, the computation required does grow but it grows very slowly.

Starkware’s team encourage us to rewrite another set of exercises for stark verifier, or maybe rewrite it using a different recurrence rule, or try a different computational statement to see if it can optimize performance better.

If you would also want to give this tutorial a try. I would recommend first read this article where it explains the mathematical primer. It helps you to pick up the math quicker.

After that, you can now clone this GitHub repo, and start playing with the jupyter notebooks.

Videos are available here.