Superteam Academy
|bySuperteam BrasilSuperteam Brasil
Superteam Academy

The decentralized learning platform for Solana developers.

Resources

  • Courses
  • Leaderboard
  • Community

Support

  • Documentation
  • API Reference
  • Community

Legal

  • Terms of Service
  • Privacy Policy
  • Cookie Policy

Follow Us

  • Twitter / X
  • Discord
  • GitHub

Stay in the Loop

Get weekly updates on new courses, Solana ecosystem news, and learning tips.

Powered bySuperteam BrasilSuperteam Brasil

Β© 2026 Superteam Academy. All rights reserved.

Anchor Framework Fundamentals

PDA Constraints
Error Handling
Testing with Anchor
Build Your First Program
Advanced Anchor / PDA Constraints
30 XP

PDA Constraints

PDA Constraints

Rust
#[derive(Accounts)]
#[instruction(course_id: String)]
pub struct CreateCourse<'info> {
    #[account(
        init,
        payer = authority,
        space = 8 + Course::INIT_SPACE,
        seeds = [b"course", course_id.as_bytes()],
        bump
    )]
    pub course: Account<'info, Course>,
    #[account(mut)]
    pub authority: Signer<'info>,
}
You need to enroll in this course before you can mark lessons as complete.
5 / 8