Network
Launch Date
Consensus
Note
Sepolia
Oct 2021
PoW
Like-for-like representation of Ethereum
Görli
Jan 2019
PoA
Proof-of-Authority
Kiln
Mar 2022
PoS
Post-Merge (for ETH2), shadow fork of the mainnet
Kintsugi
Dec 2021
PoS
DEPRECATED, use Kiln; post-Merge (for ETH2)
Ropsten
Nov 2016
PoW
DEPRECATED, use Sepolia; the Merge to happen on Jun 8, 2022
Rinkeby
Apr 2017
PoA
DEPRECATED, use Görli and Görli Faucet
Kovan
Mar 2017
PoA
DEPRECATED, use Sepolia or Görli
List of active and deprecated Ethereum testnets, including Kintsugi.
Features
Optimistic rollup 
ZK-rollup 
Proof
Uses fraud proofs to prove transaction validity. 
Uses validity (zero-knowledge) proofs to prove transaction validity. 
Capital efficiency
Requires waiting through a 1-week delay (dispute period) before withdrawing funds. 
Users can withdraw funds immediately because validity proofs provide incontrovertible evidence of the authenticity of off-chain transactions. 
Data compression
Publishes full transaction data as calldata to Ethereum Mainnet, which increases rollup costs. 
Doesn't need to publish transaction data on Ethereum because ZK-SNARKs and ZK-STARKs already guarantee the accuracy of the rollup state. 
EVM compatibility
Uses a simulation of the Ethereum Virtual Machine (EVM), which allows it to run arbitrary logic and support smart contracts. 
Doesn't widely support EVM computation, although a few EVM-compatible ZK-rollups have appeared. 
Rollup costs
Reduces costs since it publishes minimal data on Ethereum and doesn't have to post proofs for transactions, except in special circumstances. 
Faces higher overhead from costs involved in generating and verifying proofs for every transaction block. ZK proofs require specialized, expensive hardware to create and have high on-chain verification costs. 
Trust assumptions
Doesn't require a trusted setup. 
Requires a trusted setup to work. 
Liveness requirements
Verifiers are needed to keep tabs on the actual rollup state and the one referenced in the state root to detect fraud. 
Users don't need someone to watch the L2 chain to detect fraud. 
Security properties 
Relies on cryptoeconomic incentives to assure users of rollup security. 
Relies on cryptographic guarantees for security. 
Start building
on Alchemy.
Sign up for free
Start building on Optimism.
Sign up for free
Start building on Arbitrum.
Sign up for free
Start building on Ethereum.
Sign up for free
Start building on Polygon.
Sign up for free
Start building on Starknet.
Sign up for free
Start building on Flow.
Sign up for free
kiln faucet
Get free Kiln ETH.
Start building today
Goerli faucet
Get free Goerli ETH.
Start building today
SEPOLIA FAUCET
Get free Sepolia ETH.
Start Building Today
mumbai faucet
Get free Mumbai Matic.
Start building today
rinkeby faucet
Get free Rinkeby
ETH.
Start building today
Start building on Ethereum.
Get started for free
Start building on Ethereum.
Get started for free
Start building on Flow.
Get started for free
Start building on Polygon.
Get started for free
Start building on Starknet.
Get started for free
Start building on Optimism.
Get started for free
Start building on Solana.
Get started for free
Start building on Solana.
Sign up for beta access
Start building on Solana.
Join the waitlist
Arbitrum logo
Start building on Arbitrum.
Get started for free
Build with Alchemy's
Gas Manager & Bundler APIs
Learn
Solidity at
Alchemy
University
Get started today
Build with Alchemy's
Gas Manager & Bundler APIs
curl 
https://release.solana.com/v1.10.32/solana-install-init-x86_64-pc-windows-msvc.exe 
--output 
C:\solana-install-tmp\solana-install-init.exe 
--create-dirs
Solana
SOLANA DEVELOPMENT GUIDE

How to Learn Solana Development (2023)

Learn How Solana Development Works, Solana Development Core Concepts, and How to Become a Solana Developer
Last Updated:
January 25, 2023
Table of Contents
Table of Contents
Table of Contents

{{get-started-solana}}

This article will explain why Solana development is suitable for building programs and dapps, introduce a roadmap for learning Solana development, and finally answer  questions about Solana development. By the end of this article, you will understand how to become a Solana developer and you will have been provided with resources to help you learn Solana development. 

4 Reasons to Learn Solana Development

Solana is a fast and scalable blockchain platform that has been designed specifically for decentralized applications (dApps). It allows developers to build and deploy dApps quickly and efficiently, making it an ideal platform for creating new and innovative projects.

Interested to dive deeper? Here are a few more reasons why Solana development is great for dApp creation.

1. High scalability

Solana is known for its high scalability, with the ability to process tens of thousands of transactions per second. This makes it an attractive platform for building dApps that need to handle a large volume of transactions, such as decentralized exchanges or games.  

2. Advanced features

Solana offers a number of advanced features that can be leveraged to build innovative dApps, such as support for smart contracts, proof of history (PoH) for secure and fast transaction processing, and Layer 2 solutions like Optimistic Rollup.  

3. Strong ecosystem

A thriving ecosystem of developers, investors, and entrepreneurs, making it an exciting place to be for anyone interested in the blockchain space. By learning Solana development, you can become a part of this community and contribute to the growth and development of the platform.

4. Growing demand

As the demand for dApps built on Solana increases, there will be a corresponding demand for developers with expertise in Solana development. By learning Solana development, you can position yourself as a valuable asset to companies looking to build dApps on the platform.

How to Become a Solana Developer

Some of the most important concepts developers need to learn on the Solana Developer roadmap are:

  1. Solana programs
  2. Transactions
  3. Solana Account Model
  4. Solana Programming Lnguages
  5. Setting up the Solana development environment
  6. Using Solana Development Frameworks
  7. Developing Programs
  8. Deploying Programs
  9. Testing Programs
  10. Building Dapps

1. Learn Solana Programs

Solana Programs are smart contracts on the Solana blockchain that contain executable code and can be used to interpret instructions within transactions on the blockchain. They can be native programs, which are built into the core of the Solana blockchain and can only be upgraded as part of the blockchain's software updates, or on-chain programs, which are user-written programs that can be deployed and updated directly on the blockchain by their respective program owners. 

Solana Programs run on the Sealevel runtime, which is the parallel processing model of the Solana blockchain that helps to enable its high transaction speeds. Programs are considered stateless since they only contain compiled code, and they can be upgraded by their owners. They can also own other accounts and can read or credit any other account, but they can only change the data or debit accounts that they own.

2. Learn Solana Transactions 

In Solana, transactions are submitted to the cluster and processed by the Solana runtime. Transactions contain a compact-array of signatures, followed by a message. The message includes a header, a compact-array of account addresses, a blockhash, and a compact-array of instructions. Instructions specify a single program, a subset of the transaction's accounts that should be passed to the program, and a data-byte array that is passed to the program. 

The program interprets the data array and operates on the accounts specified by the instructions. Programs can return successfully or with an error code, which causes the entire transaction to fail. Transactions are verified for the number of signatures and that each signature was signed by the private key corresponding to the public key at the same index in the message's account addresses array.

3. Learn the Solana Account Model 

Solana's Sealevel runtime has a unique account model compared to Ethereum's Virtual Machine (EVM). In Sealevel, any account can store state, unlike on Ethereum where only smart contracts can store state in their storage. In Solana, the state of a smart contract is stored in other accounts, and each account assigns an owner contract to have exclusive control over state mutations. 

Sealevel has two types of accounts: executable and non-executable.

  1. Executable accounts - are immutable and can store their own executable bytecode or a proxy address of an account with mutable executable byte code
  2. Non-executable accounts - store data and can be modified by their owner, but changes by any other programs will be reverted

In Sealevel, executable accounts store a public key that identifies the account and the BPF bytecode of the program that will be executed when the account is called, and non-executable accounts store a balance and data.

4. Learn Solana Programming Languages 

The programming languages used for Solana development include Rust, C, and C++. These languages are used to build programs, also known as smart contracts, that are deployed on the Solana blockchain and run through the Solana Runtime. 

While understanding these languages and creating programs is not a requirement for building on Solana, developers may choose to learn them to create their own programs. Solana also offers a JSON RPC API and various SDKs, including solana-web3.js and Java, C#, Python, Go, Swift, Dart-Flutter, and Kotlin, to allow for the creation of decentralized applications that resemble traditional web or mobile apps and interact with centralized APIs.

5. Learn How to Set Up your Solana Development Environment

To write a Solana Program, developers will need to build and test their programs in a local development environment using core Solana developer tools. such as the command line interface, and the Solana tool suite.

If you're just getting started, follow this step-by-step guide to setting up your local environment.

6. Learn Solana Development Frameworks

The two main development frameworks for building Solana applications are Anchor and Seahorse. Anchor abstracts away a lot of the complexity from developing applications natively in Rust. Seahorse is similar to Anchor, but it is a Solana development framework for Python developers.

7. Learn How to Develop a Solana Program

At this point in the roadmap, you will have enough conceptual knowledge about Solana fundamentals and different tools to use to build applications. To learn how to write a program, follow an introductory "Hello World" Solana tutorial, or consult one of many free developer resources.

1. Solana Developers

Solana Developers is a resource provided by the Solana team for developers interested in learning about and building on the Solana blockchain platform. The website provides a wealth of information and resources, including documentation, tutorials, and community support, to help developers get started with Solana development.

2. Solana Docs

Solana Docs is a collection of resources and documentation provided by Solana. This consists of the platform's features, technical details, and guides on how to build and deploy dApps on Solana.

3. Solana Cookbook

Solana Cookbook is a developer resource that provides information and examples for building applications on the Solana blockchain. It is organized into different sections that cover core concepts, guides, and references for Solana development. It’s open to contributions from new developers and provides guidelines for contributing. 

4. Solana Blockchain Developer Bootcamp

The Solana Blockchain Developer Bootcamp is led by Solana and Chainlink for participants to learn about the intricacies of the Solana architecture and programming model. This consists of the basis of developing on Solana using Rust to build, deploy, test and interact with the Solana blockchain. Developers will be able to learn directly with the support from teams from Solana, Chainlink and others to build Solana dapps and kickstart a new journey.

8. Learn How to Deploy a Solana Program 

Once your code is complete, you can compile your code into BPF bytecode and create a .so file that can be deployed on the blockchain.  

To deploy your program, you can use the solana program deploy command, solana program deploy <PROGRAM_FILEPATH> followed by the path to your compiled .so file. This will send a transaction to the blockchain and deploy your program to the specified address.  A successful deployment will output the program id.

9. Learn to Test a Solana Program

Solana provides a number of tools for debugging and testing programs including the crate solana-program-test, which allows for interactive testing and debugging of programs using a local runtime environment. The crate solana-validator enables more robust testing on a local validator node, while the CLI tool solana-test-validator allows for testing and execution of transactions from the command line for Rust or Javascript/Typescript applications. 

It is recommended to use the msg! macro in the program to log information during the testing and debugging process, but to remove it once the program is stable to avoid exceeding the Compute Unit budget. 

It is also possible to test programs using a local validator node, which allows for more comprehensive testing that more closely resembles the behavior of the program when deployed on the Solana network.

10. Learn to Build Solana Dapps

To build a Solana dapp, you will need to familiarize yourself with the Solana ecosystem and learn how to interact with the blockchain. For building Solana dapps, Solana offers numerous APIs and SDKs that allow developers to build dapps using popular programming languages such as JavaScript, Java, Python, and Go. You can access these SDKs on the Solana Developers Page.

Get Started Developing on Solana

Now that you know the steps to learn Solana development, the next step is to sign up for a free Solana developer account with Alchemy, and start building!

ALCHEMY SUPERNODE - ETHEREUM NODE API

Scale to any size, without any errors

Alchemy Supernode finally makes it possible to scale blockchain applications without all the headaches. Plus, our legendary support will guide you every step of the way.

Get started for free
Supernode footer
Solana
SOLANA DEVELOPMENT GUIDE

How to Learn Solana Development (2023)

Learn How Solana Development Works, Solana Development Core Concepts, and How to Become a Solana Developer
Last Updated:
January 25, 2023
Last Updated:
March 14, 2023
Don't miss an update
Sign up for our newsletter to get alpha, key insights, and killer resources.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Table of Contents

Talk to an Expert

Learn how Alchemy's blockchain developer tools can help your business succeed in web3!
Valid number
Thank you! An Alchemy expert will be in touch with you shortly!
Oops! Something went wrong while submitting the form.

{{get-started-solana}}

Table of Contents

This article will explain why Solana development is suitable for building programs and dapps, introduce a roadmap for learning Solana development, and finally answer  questions about Solana development. By the end of this article, you will understand how to become a Solana developer and you will have been provided with resources to help you learn Solana development. 

4 Reasons to Learn Solana Development

Solana is a fast and scalable blockchain platform that has been designed specifically for decentralized applications (dApps). It allows developers to build and deploy dApps quickly and efficiently, making it an ideal platform for creating new and innovative projects.

Interested to dive deeper? Here are a few more reasons why Solana development is great for dApp creation.

1. High scalability

Solana is known for its high scalability, with the ability to process tens of thousands of transactions per second. This makes it an attractive platform for building dApps that need to handle a large volume of transactions, such as decentralized exchanges or games.  

2. Advanced features

Solana offers a number of advanced features that can be leveraged to build innovative dApps, such as support for smart contracts, proof of history (PoH) for secure and fast transaction processing, and Layer 2 solutions like Optimistic Rollup.  

3. Strong ecosystem

A thriving ecosystem of developers, investors, and entrepreneurs, making it an exciting place to be for anyone interested in the blockchain space. By learning Solana development, you can become a part of this community and contribute to the growth and development of the platform.

4. Growing demand

As the demand for dApps built on Solana increases, there will be a corresponding demand for developers with expertise in Solana development. By learning Solana development, you can position yourself as a valuable asset to companies looking to build dApps on the platform.

How to Become a Solana Developer

Some of the most important concepts developers need to learn on the Solana Developer roadmap are:

  1. Solana programs
  2. Transactions
  3. Solana Account Model
  4. Solana Programming Lnguages
  5. Setting up the Solana development environment
  6. Using Solana Development Frameworks
  7. Developing Programs
  8. Deploying Programs
  9. Testing Programs
  10. Building Dapps

1. Learn Solana Programs

Solana Programs are smart contracts on the Solana blockchain that contain executable code and can be used to interpret instructions within transactions on the blockchain. They can be native programs, which are built into the core of the Solana blockchain and can only be upgraded as part of the blockchain's software updates, or on-chain programs, which are user-written programs that can be deployed and updated directly on the blockchain by their respective program owners. 

Solana Programs run on the Sealevel runtime, which is the parallel processing model of the Solana blockchain that helps to enable its high transaction speeds. Programs are considered stateless since they only contain compiled code, and they can be upgraded by their owners. They can also own other accounts and can read or credit any other account, but they can only change the data or debit accounts that they own.

2. Learn Solana Transactions 

In Solana, transactions are submitted to the cluster and processed by the Solana runtime. Transactions contain a compact-array of signatures, followed by a message. The message includes a header, a compact-array of account addresses, a blockhash, and a compact-array of instructions. Instructions specify a single program, a subset of the transaction's accounts that should be passed to the program, and a data-byte array that is passed to the program. 

The program interprets the data array and operates on the accounts specified by the instructions. Programs can return successfully or with an error code, which causes the entire transaction to fail. Transactions are verified for the number of signatures and that each signature was signed by the private key corresponding to the public key at the same index in the message's account addresses array.

3. Learn the Solana Account Model 

Solana's Sealevel runtime has a unique account model compared to Ethereum's Virtual Machine (EVM). In Sealevel, any account can store state, unlike on Ethereum where only smart contracts can store state in their storage. In Solana, the state of a smart contract is stored in other accounts, and each account assigns an owner contract to have exclusive control over state mutations. 

Sealevel has two types of accounts: executable and non-executable.

  1. Executable accounts - are immutable and can store their own executable bytecode or a proxy address of an account with mutable executable byte code
  2. Non-executable accounts - store data and can be modified by their owner, but changes by any other programs will be reverted

In Sealevel, executable accounts store a public key that identifies the account and the BPF bytecode of the program that will be executed when the account is called, and non-executable accounts store a balance and data.

4. Learn Solana Programming Languages 

The programming languages used for Solana development include Rust, C, and C++. These languages are used to build programs, also known as smart contracts, that are deployed on the Solana blockchain and run through the Solana Runtime. 

While understanding these languages and creating programs is not a requirement for building on Solana, developers may choose to learn them to create their own programs. Solana also offers a JSON RPC API and various SDKs, including solana-web3.js and Java, C#, Python, Go, Swift, Dart-Flutter, and Kotlin, to allow for the creation of decentralized applications that resemble traditional web or mobile apps and interact with centralized APIs.

5. Learn How to Set Up your Solana Development Environment

To write a Solana Program, developers will need to build and test their programs in a local development environment using core Solana developer tools. such as the command line interface, and the Solana tool suite.

If you're just getting started, follow this step-by-step guide to setting up your local environment.

6. Learn Solana Development Frameworks

The two main development frameworks for building Solana applications are Anchor and Seahorse. Anchor abstracts away a lot of the complexity from developing applications natively in Rust. Seahorse is similar to Anchor, but it is a Solana development framework for Python developers.

7. Learn How to Develop a Solana Program

At this point in the roadmap, you will have enough conceptual knowledge about Solana fundamentals and different tools to use to build applications. To learn how to write a program, follow an introductory "Hello World" Solana tutorial, or consult one of many free developer resources.

1. Solana Developers

Solana Developers is a resource provided by the Solana team for developers interested in learning about and building on the Solana blockchain platform. The website provides a wealth of information and resources, including documentation, tutorials, and community support, to help developers get started with Solana development.

2. Solana Docs

Solana Docs is a collection of resources and documentation provided by Solana. This consists of the platform's features, technical details, and guides on how to build and deploy dApps on Solana.

3. Solana Cookbook

Solana Cookbook is a developer resource that provides information and examples for building applications on the Solana blockchain. It is organized into different sections that cover core concepts, guides, and references for Solana development. It’s open to contributions from new developers and provides guidelines for contributing. 

4. Solana Blockchain Developer Bootcamp

The Solana Blockchain Developer Bootcamp is led by Solana and Chainlink for participants to learn about the intricacies of the Solana architecture and programming model. This consists of the basis of developing on Solana using Rust to build, deploy, test and interact with the Solana blockchain. Developers will be able to learn directly with the support from teams from Solana, Chainlink and others to build Solana dapps and kickstart a new journey.

8. Learn How to Deploy a Solana Program 

Once your code is complete, you can compile your code into BPF bytecode and create a .so file that can be deployed on the blockchain.  

To deploy your program, you can use the solana program deploy command, solana program deploy <PROGRAM_FILEPATH> followed by the path to your compiled .so file. This will send a transaction to the blockchain and deploy your program to the specified address.  A successful deployment will output the program id.

9. Learn to Test a Solana Program

Solana provides a number of tools for debugging and testing programs including the crate solana-program-test, which allows for interactive testing and debugging of programs using a local runtime environment. The crate solana-validator enables more robust testing on a local validator node, while the CLI tool solana-test-validator allows for testing and execution of transactions from the command line for Rust or Javascript/Typescript applications. 

It is recommended to use the msg! macro in the program to log information during the testing and debugging process, but to remove it once the program is stable to avoid exceeding the Compute Unit budget. 

It is also possible to test programs using a local validator node, which allows for more comprehensive testing that more closely resembles the behavior of the program when deployed on the Solana network.

10. Learn to Build Solana Dapps

To build a Solana dapp, you will need to familiarize yourself with the Solana ecosystem and learn how to interact with the blockchain. For building Solana dapps, Solana offers numerous APIs and SDKs that allow developers to build dapps using popular programming languages such as JavaScript, Java, Python, and Go. You can access these SDKs on the Solana Developers Page.

Get Started Developing on Solana

Now that you know the steps to learn Solana development, the next step is to sign up for a free Solana developer account with Alchemy, and start building!

This article will explain why Solana development is suitable for building programs and dapps, introduce a roadmap for learning Solana development, and finally answer  questions about Solana development. By the end of this article, you will understand how to become a Solana developer and you will have been provided with resources to help you learn Solana development. 

4 Reasons to Learn Solana Development

Solana is a fast and scalable blockchain platform that has been designed specifically for decentralized applications (dApps). It allows developers to build and deploy dApps quickly and efficiently, making it an ideal platform for creating new and innovative projects.

Interested to dive deeper? Here are a few more reasons why Solana development is great for dApp creation.

1. High scalability

Solana is known for its high scalability, with the ability to process tens of thousands of transactions per second. This makes it an attractive platform for building dApps that need to handle a large volume of transactions, such as decentralized exchanges or games.  

2. Advanced features

Solana offers a number of advanced features that can be leveraged to build innovative dApps, such as support for smart contracts, proof of history (PoH) for secure and fast transaction processing, and Layer 2 solutions like Optimistic Rollup.  

3. Strong ecosystem

A thriving ecosystem of developers, investors, and entrepreneurs, making it an exciting place to be for anyone interested in the blockchain space. By learning Solana development, you can become a part of this community and contribute to the growth and development of the platform.

4. Growing demand

As the demand for dApps built on Solana increases, there will be a corresponding demand for developers with expertise in Solana development. By learning Solana development, you can position yourself as a valuable asset to companies looking to build dApps on the platform.

How to Become a Solana Developer

Some of the most important concepts developers need to learn on the Solana Developer roadmap are:

  1. Solana programs
  2. Transactions
  3. Solana Account Model
  4. Solana Programming Lnguages
  5. Setting up the Solana development environment
  6. Using Solana Development Frameworks
  7. Developing Programs
  8. Deploying Programs
  9. Testing Programs
  10. Building Dapps

1. Learn Solana Programs

Solana Programs are smart contracts on the Solana blockchain that contain executable code and can be used to interpret instructions within transactions on the blockchain. They can be native programs, which are built into the core of the Solana blockchain and can only be upgraded as part of the blockchain's software updates, or on-chain programs, which are user-written programs that can be deployed and updated directly on the blockchain by their respective program owners. 

Solana Programs run on the Sealevel runtime, which is the parallel processing model of the Solana blockchain that helps to enable its high transaction speeds. Programs are considered stateless since they only contain compiled code, and they can be upgraded by their owners. They can also own other accounts and can read or credit any other account, but they can only change the data or debit accounts that they own.

2. Learn Solana Transactions 

In Solana, transactions are submitted to the cluster and processed by the Solana runtime. Transactions contain a compact-array of signatures, followed by a message. The message includes a header, a compact-array of account addresses, a blockhash, and a compact-array of instructions. Instructions specify a single program, a subset of the transaction's accounts that should be passed to the program, and a data-byte array that is passed to the program. 

The program interprets the data array and operates on the accounts specified by the instructions. Programs can return successfully or with an error code, which causes the entire transaction to fail. Transactions are verified for the number of signatures and that each signature was signed by the private key corresponding to the public key at the same index in the message's account addresses array.

3. Learn the Solana Account Model 

Solana's Sealevel runtime has a unique account model compared to Ethereum's Virtual Machine (EVM). In Sealevel, any account can store state, unlike on Ethereum where only smart contracts can store state in their storage. In Solana, the state of a smart contract is stored in other accounts, and each account assigns an owner contract to have exclusive control over state mutations. 

Sealevel has two types of accounts: executable and non-executable.

  1. Executable accounts - are immutable and can store their own executable bytecode or a proxy address of an account with mutable executable byte code
  2. Non-executable accounts - store data and can be modified by their owner, but changes by any other programs will be reverted

In Sealevel, executable accounts store a public key that identifies the account and the BPF bytecode of the program that will be executed when the account is called, and non-executable accounts store a balance and data.

4. Learn Solana Programming Languages 

The programming languages used for Solana development include Rust, C, and C++. These languages are used to build programs, also known as smart contracts, that are deployed on the Solana blockchain and run through the Solana Runtime. 

While understanding these languages and creating programs is not a requirement for building on Solana, developers may choose to learn them to create their own programs. Solana also offers a JSON RPC API and various SDKs, including solana-web3.js and Java, C#, Python, Go, Swift, Dart-Flutter, and Kotlin, to allow for the creation of decentralized applications that resemble traditional web or mobile apps and interact with centralized APIs.

5. Learn How to Set Up your Solana Development Environment

To write a Solana Program, developers will need to build and test their programs in a local development environment using core Solana developer tools. such as the command line interface, and the Solana tool suite.

If you're just getting started, follow this step-by-step guide to setting up your local environment.

6. Learn Solana Development Frameworks

The two main development frameworks for building Solana applications are Anchor and Seahorse. Anchor abstracts away a lot of the complexity from developing applications natively in Rust. Seahorse is similar to Anchor, but it is a Solana development framework for Python developers.

7. Learn How to Develop a Solana Program

At this point in the roadmap, you will have enough conceptual knowledge about Solana fundamentals and different tools to use to build applications. To learn how to write a program, follow an introductory "Hello World" Solana tutorial, or consult one of many free developer resources.

1. Solana Developers

Solana Developers is a resource provided by the Solana team for developers interested in learning about and building on the Solana blockchain platform. The website provides a wealth of information and resources, including documentation, tutorials, and community support, to help developers get started with Solana development.

2. Solana Docs

Solana Docs is a collection of resources and documentation provided by Solana. This consists of the platform's features, technical details, and guides on how to build and deploy dApps on Solana.

3. Solana Cookbook

Solana Cookbook is a developer resource that provides information and examples for building applications on the Solana blockchain. It is organized into different sections that cover core concepts, guides, and references for Solana development. It’s open to contributions from new developers and provides guidelines for contributing. 

4. Solana Blockchain Developer Bootcamp

The Solana Blockchain Developer Bootcamp is led by Solana and Chainlink for participants to learn about the intricacies of the Solana architecture and programming model. This consists of the basis of developing on Solana using Rust to build, deploy, test and interact with the Solana blockchain. Developers will be able to learn directly with the support from teams from Solana, Chainlink and others to build Solana dapps and kickstart a new journey.

8. Learn How to Deploy a Solana Program 

Once your code is complete, you can compile your code into BPF bytecode and create a .so file that can be deployed on the blockchain.  

To deploy your program, you can use the solana program deploy command, solana program deploy <PROGRAM_FILEPATH> followed by the path to your compiled .so file. This will send a transaction to the blockchain and deploy your program to the specified address.  A successful deployment will output the program id.

9. Learn to Test a Solana Program

Solana provides a number of tools for debugging and testing programs including the crate solana-program-test, which allows for interactive testing and debugging of programs using a local runtime environment. The crate solana-validator enables more robust testing on a local validator node, while the CLI tool solana-test-validator allows for testing and execution of transactions from the command line for Rust or Javascript/Typescript applications. 

It is recommended to use the msg! macro in the program to log information during the testing and debugging process, but to remove it once the program is stable to avoid exceeding the Compute Unit budget. 

It is also possible to test programs using a local validator node, which allows for more comprehensive testing that more closely resembles the behavior of the program when deployed on the Solana network.

10. Learn to Build Solana Dapps

To build a Solana dapp, you will need to familiarize yourself with the Solana ecosystem and learn how to interact with the blockchain. For building Solana dapps, Solana offers numerous APIs and SDKs that allow developers to build dapps using popular programming languages such as JavaScript, Java, Python, and Go. You can access these SDKs on the Solana Developers Page.

Get Started Developing on Solana

Now that you know the steps to learn Solana development, the next step is to sign up for a free Solana developer account with Alchemy, and start building!

{{get-started-solana}}

Contact Us

Talk to an expert at Alchemy to answer all of your product questions.
Valid number
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Build blockchain magic with Alchemy

Alchemy combines the most powerful web3 developer products and tools with resources, community and legendary support.

Get started for free