Deploying Your First Solana Program
In this section, we'll build, deploy, and test a simple Solana program using the Anchor framework. By the end, you'll have deployed your first program to the Solana blockchain!
The purpose of this section is to familiarize you with the Solana Playground. We'll walk through a more detailed example in the PDA and CPI sections. For more details, refer to the Programs on Solana page.
Create Anchor Project
First, open https://beta.solpg.io in a new browser tab.
-
Click the "Create a new project" button on the left-side panel.
-
Enter a project name, select Anchor as the framework, then click the "Create" button.
New Project
You'll see a new project created with the program code in the src/lib.rs
file.
Build and Deploy Program
To build the program, simply run build
in the terminal.
Notice that the address in declare_id!()
has been updated. This is your
program's on-chain address.
Once the program is built, run deploy
in the terminal to deploy the program to
the network (devnet by default). To deploy a program, SOL must be allocated to
the on-chain account that stores the program.
Before deployment, ensure you have enough SOL. You can get devnet SOL by either
running solana airdrop 5
in the Playground terminal or using the
Web Faucet.
Alternatively, you can also use the Build
and Deploy
buttons on the
left-side panel.
Build and Deploy
Once the program is deployed, you can now invoke its instructions.
Test Program
Included with the starter code is a test file found in tests/anchor.test.ts
.
This file demonstrates how to invoke the initialize
instruction on the starter
program from the client.
To run the test file once the program is deployed, run test
in the terminal.
You should see an output indicating that the test passed successfully.
You can also use the Test
button on the left-side panel.
Run Test
You can then view the transaction logs by running the solana confirm -v
command and specifying the transaction hash (signature) from the test output:
For example:
Alternatively, you can view the transaction details on SolanaFM or Solana Explorer by searching for the transaction signature (hash).
Reminder to update the cluster (network) connection on the Explorer you are using to match Solana Playground. Solana Playground's default cluster is devnet.
Close Program
Lastly, the SOL allocated to the on-chain program can be fully recovered by closing the program.
You can close a program by running the following command and specifying the
program address found in declare_id!()
:
For example:
Congratulations! You've just built and deployed your first Solana program using the Anchor framework!