Solana has seen massive adoption in the last years, with thousands of developers jumping on the train of lighting fast TPS (transactions per second) and ultra-low gas fees, to build the next gen of web3 apps and tools.
But there’s a catch: Solana comes with a steep learning curve.
Similarly to the Solidity Blockchain development roadmap, This Solana Development roadmap solves just that, with a collection of the most recent resources to getting started with your career as a Solana developer.
We’ll go through what is a Solana program, the accounts models, transaction models, programs, and PDAs, learn about Rust, Anchor, Metaplex, and how to deploy your decentralized applications on the fastest Blockchain to date.
So without wasting any more time let’s just begin! 👇
1. Learn how The Blockchain Works
Before diving straight into Solana, it’s important to understand the fundamentals of programming and web3, understand how the Blockchain works, and what a smart contract is.
For complete beginners, let’s start by laying the foundation of programming.
1.1 Learn the fundamentals of CS
I couldn’t write a Solana development roadmap without mentioning the legendary CS50.
CS50: Introduction to Computer Science is a completely self-paced course created by MIT. It will guide you through the fundamentals of programming, teaching you everything you need to know to kickstart your journey, completely for free!
Once you’ll have a good understanding of how code works, will be time to learn how the blockchain works.
1.2 What is The Blockchain?
Once you’ll have a solid understanding of how computer programs operate, the next step in our Solana development roadmap will be to understand how the blockchain works and how it changes the way we talk about digital value exchange.
- First, a brief introduction to the evolution of the web over the years with this article from the Ethereum foundation.
- Learn about the fundamentals of Blockchain with Blockchain 101 a collection of resources to learn what the blockchain is and how it works.
- And complete it with an understanding of the Blockchain eco-system, what it looks like, and how chains differ from each other.
One last component, before digging deeper into our Solana development roadmap, is understanding what smart contracts are, and how they work.
1.3 What is a Solana Program?
In order to do something or to perform any task on the blockchain, we’ll need a “smart contract”. On Solana, we call them programs.
Programs are written with the help of various programming languages like C++, C, or Rust, that instruct how to perform something on the Blockchain.
- To better understand how smart contracts work on Solana, you can read this deep dive into Programs written by the Solana Foundation.
With a high-level understanding of what the blockchain is and how Programs work, before how to code, we need to answer the question: “why should I follow this roadmap instead of the Ethereum and Solidity developer roadmap and develop my dapps on Ethereum?”
Let’s answer this.
2. ETH Vs Solana – Why Choosing Solana?
Now that we are familiar with terms like Blockchain, smart contracts, and how programs work, it’s time to start our journey into the actual Solana Development Roadmap!
First of all, why should you choose Solana for your decentralized application over Ethereum?
As always there’s no solution fits all but there are quite a bunch of reasons why Solana might be your to-go chain for your dapp:
- On average, Solana can handle up to ~3000 transactions per second.
- The hybrid consensus mechanism boosts its scalability.
- The transaction fee is as low as $0.00025/transaction.
High-speed Transactions – it is much faster than other blockchain platforms like Ethereum, with over 3,370 Tx/second vs 14 for Ethereum
Is less decentralized (having fewer validators and using centralized services under the hoods to optimize speed and Tx costs) but gives it faster development feedback.
If you want to learn more about the advantages of Solana versus other chains or answer the question is Solana better than Ethereum? the following video depicts how Solana stands out and what is the reason behind its fast growth:
Other must-reads to introduce yourself to Solana are:
After an introduction to Solana, you’re now ready to start going hands-on with code and climb the first step of the Solana roadmap 2022. Let’s start by learning Rust, the most used programming language used to write Solana Programs.
3. Learn Rust to write programs on Solana
In order to perform any task on the Solana blockchain, we’ll need to write and deploy programs (aka. smart contracts) that will take care of programmatically executing operations and transactions on the chain.
There are various languages that support Solana to write programs (smart contracts) like C, C++, and Rust, and all come with some steep learning curves for developers. Rust, though, is considered to be the industry standard to write Solana programs, and luckily, its maintainers, have done an egregious job at creating free resources to learn it.
I can’t talk about Rust in this Solana development roadmap, without talking about its book:
- The Rust Programming Language, it explains everything you need to know to become a Rust developer.
There’s also a video version of the Rust Book:
Once you’ll have started reading this holy grail of the Rust resources, you’ll probably want to get your hands dirty with some practice.
- Exercism helps with that, providing over 100 coding challenges based on Rust, with coding problems from basic to advanced that you’ll need to solve.
This should be enough for you to get your Solana development journey started, but if you want to dig deeper into the Rust community, there are a couple of additional resources you should look into:
- Rust Language Cheat Sheet will definitely help you while exploring Rust.
- The Official Rust Community Server to meet tens of thousands of developers learning with you, or ready to answer your questions.
Congratulations 🎉 We’re now ready to get into the core of this Solana development roadmap, actual Solana development.
4. Develop Solana Programs: Solana Development Tutorials
With Rust in your toolkit, is time to start developing and deploying actual Solana contracts and ways to interact with them.
Accounts models, transaction models, programs, PDAs, and security, are only some of the things you’ll need to learn to develop secure Solana smart contracts.
Thankfully, in recent times, the community, with the help of the Solana foundation, has published a number of great tutorials to learn Solana Development.
Soldev has been designed for absolute beginners to learn Solana Development, providing you with videos, articles, Twitter threads, and the:
That will teach you everything there’s to know to:
- Develop and deploy programs
- Develop your own Solana Token
- Decentralized storage services
- Interact with on-chain programs
- Test programs
Once you’ve gone through the soldev website, no Solana Development roadmap would be complete without mentioning the Solana Cookbook.
Probably the most comprehensive resource for Solana developers to date. It will teach you everything there’s to know about Programs development with Rust.
While learning about program development, chances are you’ll also want to deploy a couple to test them, and put everything into practice – to do that, the Solana CLI Tool Suite will come into help.
5. Deploy Solana Programs: Learn the Solana CLI Tool Suite
Solana Tool Suite is a CLI (Command Line Interface) that allows you to interact with your Solana clusters.
Solana Clusters can be considered as different network nodes that are a part of the Solana Blockchain
There are 3 clusters that Solana CLI supports:
- Devnet: a playground where SOL tokens are not real.
- Testnet: focuses on the testing of new functionalities and does not cost you any money.
- Mainnet Beta: permissionless cluster where the SOL tokens are real and cost you real money for deploying your contract
The following tutorials will extensively go through the Tool Suite giving you an overview of how to set up and interact with the localhost cluster and some basic commands of Solana CLI:
To dig deeper into the Solana Tool Suite, there’s no better place than the official Solana documentation.
Now that we know how to develop programs and interact with the Solana clusters, let’s deploy our first Smart contract.
6. Practice: Develop and Deploy Your first Solana Smart Contract
It’s time to deploy our program on Solana! It is really important to understand how all these frameworks and tools you’ll have learned at this point are integrated and work together.
This video will guide you on how to deploy a very basic hello world contract on the Solana blockchain, giving you a good understanding of how all of this works:
Now that you know how to develop Solana programs, it’s time to learn how to test and audit them to ensure they won’t get hacked and everything works as expected.
7. Test Solana Programs: Learn How to Test your Smart Contract
It’s really really important to test your Solana programs and makes sure they’re not buggy and that everything works as expected! This can be done by thoroughly testing your smart contracts
There are two main types of tests:
- Unit Testing
- Integrated Testing
This video by Chainlink will give you a brief about Solana smart contract testing:
Once you’ll start getting the gist of it, you’ll probably want to develop and deploy something more complex than a Hello World contract, potentially, with users to serve – to do that, you’ll need a node infrastructure to support you.
8. Deploy Scalable DApps: Learn Alchemy
Alchemy is the leading blockchain development platform and one of the most used Web3 development tools. Embedded with powerful APIs, infrastructures, and tools, it dramatically simplifies dApp development, saving countless hours for web3 engineers and solo developers.
With Alchemy, you can interact with the Solana:
- Mainnet: allowing you to deploy your smart contract on the actual Solana chain
- DevTest Network: allowing you to deploy your smart contract on a test network
Amazing 🎉 At this point you should know everything you need to develop your Solana programs, deploy them using an ultra-reliable infrastructure, and interact with them!
Although, this is the Complete Solana Development roadmap and not the partial Solana Development roadmap and you’ll soon start to realize that writing the same program boilerplates over and over again, becomes a huge pain in the neck pretty soon.
Luckily, there are frameworks out there that you can use to create a secure Solana program at lightning speed. Anchor is one of them.
9. Learn Anchor
In order to reduce the boilerplate work Anchor was born.
Designed on top of Rust, Anchor allows you to build programs quickly reducing the engineering work and providing various boilerplates for your Solana program.
Plus, Anchor’s boilerplates have been thoroughly tested and audited, making them very reliable.
If you prefer videos over documentation, this video will give you a glimpse of all the basics of Anchor and its features:
If you want an in-depth overview though, the official Anchor book is as always, the place to go.
Another powerful framework that will tremendously speed up your development, specifically for NFTs, is Metaplex – let’s see where to learn more.
10. Create Solana NFTs: Learn Metaplex
Metaplex is a collection of tools, and smart contracts built on Solana to speed up NFTs-related development. It provides a new way to interact with NFTs on Solana and also allows users to mint NFTs, host auctions, and visualize NFTs in a standard way.
As always, Metaplex Documentation is the best way to learn about it. For a brief overview – on other hand, you can take a look at the Everything You Need to Know About Solana’s Metaplex guide.
Now that you have all the resources you need to become an extraordinary Solana developer, the next step of this Solana development roadmap is to put everything into practice!
11. Build Solana DApps: Build a Solana Application
The best way to learn is by practicing and dealing with bugs in your code.
Learning by doing, won’t only tremendously speed up your learning, but will also help you build a portfolio of projects to showcase while looking for Solana development jobs.
Here are a series of tutorials that will help you develop your first Solana decentralized applications:
- The Complete Guide to Full Stack Solana Development by Nader Dabit
- Solana Smart Contract Tutorial: Using Phantom Wallet to create a DApp
- Solana Projects by Figment
- Build Solana Todo App with Next.js & Rust
Congratulations! If you’ve learned everything until here it’s time for you to apply for jobs, start your own project, or continue building your portfolio and maybe create a guide yourself!
Anyway, here’s a bunch of extra resources that I personally love to help with everything above.
Additional Resources for Solana Development
As said at the beginning of this Solana development roadmap, there’s is a steep learning curve you’ll need to go through to become a Solana developer:
- Practice your learnings
- Document everything
- Network and join communities
Do this while following this roadmap, and you’ll be ahead of 99% of developers out there, and once you’ll have finished, go and check out this guide on the average Solana Developer Salary
Build as many projects as possible to get a better grip on Solana and keep on buidling!! 🙂