Skip to main content
Superteam Academy
Back
Intermediate12 hours15 lessons

Building Your First Solana Program

You arrive holding `vault_core.rs` — a `VaultState` and checked `deposit`/`withdraw` that compile, with no `#[program]` and no `#[derive(Accounts)]`. This course adds exactly that. You wrap your own Rust core in Anchor 1.x, create a per-user vault PDA with the space arithmetic derived rather than copied, and move real lamports: deposit through a System Program CPI, withdraw by debiting the program-owned vault directly above an enforced rent floor — and you learn why signer seeds are not the answer there. Then you write the account constraints that stop three named attacks, read the LiteSVM test that would catch what compiling cannot, deploy from a browser tab, publish the IDL on-chain, and call your own live program. Nothing is installed locally. You finish with a devnet program id, a fetchable IDL, and a build write-up.

850 XP Rewardaccount-modelanchorbuild-serverchecked-arithmeticcpidebuggingidlkeypairs-walletspdasprogram-buildprogram-deploymentprogram-errorsprogram-securityprogram-testingrent-and-spacesolana-explorersolana-programstechnical-writingtoolchain-versionstransactions

Curriculum

4 modules · 15 lessons

Course Discussions

Changelog

  1. 4 lessons retired
    • From Code to Chain
    • Anatomy of an Anchor Program
    • Deploy to Devnet
    • Interact with Your Program
    v4
  2. 3 lessons added
    • PDAs: An Address With No Key
    • CPI: Moving Real Lamports
    • Pre-Flight Check
    v4