Skip to main content
Back to course
Log in
Get started
Someone wanted to learn this too, so Grasp built them a personal learning path.
Create your own
Solana development by 2026
ยท
Module 5
Anchor Validation, Testing, and System CPIs
1
Defining Instruction Accounts with the `Accounts` Struct
Specify and validate instruction accounts using an `Accounts` struct.
Specify and validate instruction accounts using an `Accounts` struct.
2
Implementing Account Constraints
Implement security checks by applying constraints like `signer`, `mut`, and `has_one` to accounts.
Implement security checks by applying constraints like `signer`, `mut`, and `has_one` to accounts.
3
Initializing Accounts with `init` and `payer`
Initialize new accounts using Anchor's `init` constraint and `payer`.
Initialize new accounts using Anchor's `init` constraint and `payer`.
4
Testing Anchor Programs with TypeScript Clients
Write and run integration tests for an Anchor program using its TypeScript client.
Write and run integration tests for an Anchor program using its TypeScript client.
5
Cross-Program Invocation (CPI) Explained
Explain the concept of a Cross-Program Invocation (CPI) for program-to-program communication.
Explain the concept of a Cross-Program Invocation (CPI) for program-to-program communication.
6
Creating an Account with CPI
Perform a CPI to the System Program to create a new account.
Perform a CPI to the System Program to create a new account.
7
Transfer SOL Using CPI
Perform a CPI to the System Program to transfer SOL between accounts.
Perform a CPI to the System Program to transfer SOL between accounts.
8
Understanding Program Derived Addresses (PDAs)
Explain the purpose of Program Derived Addresses (PDAs) for creating program-controlled accounts.
Explain the purpose of Program Derived Addresses (PDAs) for creating program-controlled accounts.
Previous module
Native Program State and Anchor Foundations
Next module
PDAs, SPL Tokens, and Program-Controlled Assets