Rust and Solana Bootcamp
Duration: 8 weeks
Solana is fast. Really fast. If you don’t believe it, play the break Solana game. (You will need to purchase a small amount of Sol to pay for the transaction costs).
It’s also quite challenging to learn because 1) it uses Rust, which is a challenging programming language, and 2) the blockchain architecture of Solana is very different from other blockchains.
There is no shortcut to mastering Solana, but some learning journeys get a higher return on effort than others.
Like all of our bootcamps, class sizes are limited to five, and each student gets weekly one-on-one time with an industry-leading expert instructor.
By combining a highly efficient learning strategy with personalized mentorship and a small curated community of fellow learners, you’ll conquer learning Solana as quickly as possible.
Curriculum
Week 1-3
We will focus on Rust and Rust alone. We will work through this book covering select chapters, and each day you will have handpicked leetcode problems (and some we made up) to work through to enforce what you learned in the chapter. (Note that we will only use the free problems, you don’t need the premium version).
Not only will you pad your leetcode stats and be more prepared for coding interviews, but you’ll actually practice Rust’s relevant parts, so you don’t get stuck in tutorial hell. The borrow checker and variable lifetime won’t scare you anymore. You’ll be intimately familiar with Rust’s types.
It’s not possible to learn Rust thoroughly in 3 weeks. However, we will cover the foundational concepts and the frequently used parts of the language that are relevant to Solana.
Week 4
We’re not ready to use Rust for Solana programs yet! First, we must master the RPC interface so that we can easily test the Rust code that we write. You’ll use javascript or typescript to initialize Solana accounts, trigger program actions, read and write from accounts, transfer Sol, and transfer SPL tokens. To keep things simple, we will not write frontend applications in this section despite using javascript.
Week 5
We will go from hello world in Solana to the more intricate topics of cross-program invocation and using program-derived addresses.
Week 6
We will use the anchor framework this week to accomplish what we did last week. You’ll see how convenient this is, but the magic syntax won’t mystify you as you’ve already implemented what is happening behind the scenes by hand.
Week 7
Although Solana gains a lot of built-in safety because of its use of Rust, it has its own anti-patterns that lead to security issues that you must be aware of. You’ll practice hacking Solana programs in exercises similar to Ethernaut, Damn Vulnerable DeFi, and RareSkills’ Solidity Riddles.
Week 8
Finally, we will build frontend apps for Solana. Not much changes from what we learned earlier, but unlike earlier when our scripts imported private keys to sign transactions, we will interface with browser wallets like Phantom to build frontend applications. Since this is the final week, you can take your time to make your dapp look nice, even if the frontend is not your forte.
Prerequisites
If you want to take the entire bootcamp, you must already be familiar with blockchain programming, particularly Solidity and EVM chains. You should be comfortable with how token contracts work, state-changing transactions, RPC interfaces to the blockchain, etc. If you only want to take the Rust portion, this prerequisite does not apply.
You should be proficient with javascript or typescript.
You should be comfortable with algorithm and data structure questions for common data structures, as we will use those to learn Rust. We won’t cover exotic and rarely used data structures like r-trees or dequeues, but if you don’t know what merge sort and quicksort are, this bootcamp will be too hard. You should be able to solve most leetcode medium problems within 2 hours.
FAQ
How is the Solana and Rust job market?
Who cares? We hope you are doing this to become a better technologist, not to chase a higher salary. People motivated by a thirst for knowledge will outperform those with an appetite for money in the long run. That said, passing a coding interview in Rust will really set you apart as a formidable engineer willing to go above and beyond what your peers are doing. We've found that demonstrating that you know how to program multiple blockchains shows employers that you are an above-average blockchain engineer, even if the job only requires you to use one. You can always check crypto job aggregator sites to see available roles. We offer recruitment and career services as part of our bootcamps (with impeccable results), but please don't apply if salary is your primary motivation. If you chase money, skills won't come to you, but if you pursue skills, money will come. We care about the community we curate for you as part of your small classes. We want you to be surrounded by passionate learners who will give you that extra motivation to work harder and persevere longer.
I know I want to develop on Solana. Do I need to know Solidity?
This course is designed to be efficient by transferring learning concepts from Ethereum (or EVM chains) to Solana. It's easier to understand how Solana is different from other chains than to learn how blockchains work from the ground up. If your only goal is to learn Rust, then understanding other EVM blockchains is unnecessary, but you won't be qualified to take the second half of the course.
I only care about Rust. Can I take half the bootcamp for a big discount?
Yes!
Will learning Rust make me a better programmer?
Absolutely. Learning any new language will teach you valuable concepts, but this is especially true with Rust. Rust has ranked as the most loved language on the Stackoverflow developer survey for seven years in a row for a reason. Many developers discover bad habits they have in other languages because Rust exposes them and forces you to fix them before the code compiles. There are several anecdotes of engineers finding bugs in codebases when they translated the codebase to Rust, and the compiler showing situations where things can go south.
How much work will this take?
If you've gone through our Solidity Bootcamp, you'll find this somewhat easy in terms of building mental models of the essential concepts. However, debugging implementation details in an unfamiliar environment can take a while, so you won't be able to cram assignments in a weekend.