CodeGuides.io
|
React
React Native
Node.js
Python
Rust
PostgreSQL
Solana
Claude
AI Agents
Go
Solana Developer SME Guide
FAQs
Search docs...
⌘K
EN
ES
PT
/
/
Search docs...
⌘K
Search Documentation
Search across all documentation pages
Solana SME
/
Tags
/
Rust
#Rust
440 pages
Pages tagged
Rust
across 55 sections.
Serialization
Account Discriminators
Borsh Structs
Data Versioning & Migration
realloc & Growing Accounts
Serialization Basics
Serialization Best Practices
Space Calculation
Zero-Copy Accounts
Account Model
Account Anatomy
Account Model Basics
Account Model Best Practices
Account Ownership & Permissions
Creating & Closing Accounts
Data Accounts & Layout
Program-Owned State
Rent & Rent-Exemption
System Accounts vs. Program Accounts
Accounts & Constraints
Account Types
Account Validation Order
Accounts & Constraints Best Practices
Custom Constraints
init & init_if_needed
Seeds & Bump Constraints
Space & Rent
The #[account] Constraints
Token & Associated Token Constraints
Advanced Anchor
Advanced Anchor Best Practices
CU & Size Optimization
Custom Account Types
Feature Flags & cfg
Interacting with Native/Pinocchio Programs
realloc in Anchor
remaining_accounts
Zero-Copy Accounts
Anchor Basics
Anchor Basics
Anchor Basics Best Practices
Anchor vs Native
Building & Deploying
Project Structure
The #[program] Module
The Accounts Struct
The Anchor Workflow
Case Studies
Before/After: Making Transactions Land Reliably
Before/After: Optimizing a Program for CU & Rent
Lessons-Learned Catalog
Reference: A Compressed-NFT Mint at Scale
Reference: A DeFi Program + dApp
Reference: An SPL Token Launch
Security Incident Retrospectives
Consensus
Confirmation Levels in Clients
Consensus Basics
Consensus Best Practices
Introducing Alpenglow
Migration & Developer Impact
Rotor
TowerBFT + PoH
Vote Accounts & Voting
Votor
Architecture
Architecture Best Practices
Architecture Overview
Cloudbreak & Accounts DB
Gossip & Cluster Communication
Gulf Stream
Leader Schedule & Block Production
Pipelining (TPU/TVU)
Proof of History (PoH)
Sealevel
Turbine
CPIs
Composability Patterns
CPI Basics
CPI Best Practices
CPI Depth & Limits
CPI to SPL Token
CPI to the System Program
invoke vs invoke_signed
Passing Accounts to CPIs
Reentrancy & Safety
Anchor CPIs
CPI Basics in Anchor
CPI Safety
CPI to Custom Programs
CPIs in Anchor Best Practices
Passing Remaining Accounts
Signed CPIs
SPL Token CPIs
DeFi
AMMs (Raydium, Orca, Meteora)
DeFi Basics on Solana
DeFi Integrations Best Practices
Jito & MEV
Lending & Borrowing
Liquid Staking (LSTs)
Oracles
Perps & Order Books
Swaps with Jupiter
Deployment
Deploying Programs
Deployment Basics
Deployment Best Practices
Governance-Gated Upgrades
Making Programs Immutable
Program Upgrades
Rollbacks & Incident Response
Verifiable Builds (solana-verify)
Economics
Economics Basics
Economics Best Practices
Governance & SIMDs
Inflation & Staking Rewards
Liquid Staking & LSTs
MEV on Solana
Priority Fee Markets
Realms & On-Chain Governance
Staking & Delegation
Enterprise Delivery
Delivery Best Practices
Devnet to Mainnet Promotion
DORA Metrics for Web3
Feature Flags & Progressive Rollout
Frontend Release Management
Program Upgrade Strategy
Rollback & Forward-Fix
Anchor Errors
#[error_code] & require!
Client-Side Error Decoding
Custom Error Messages
emit_cpi! & Self-CPI Events
Errors & Events Best Practices
Events with emit!
Logging & CU Cost
es
Conceptos básicos de Anchor
Crates & Libs
@solana/kit, Codama & gill (JS/TS)
anchor-lang & anchor-spl
borsh & bytemuck
Essential Libraries Best Practices
litesvm, mollusk & solana-bankrun
mpl-core & mpl-token-metadata
pinocchio & steel
solana-program & solana-sdk
spl-token & spl-associated-token-account
IDL & Codegen
Codama from an Anchor IDL
Codegen Best Practices
declare_program!
Generating TS Clients
IDL Versioning
On-Chain IDLs
The Anchor IDL
Indexing
Analytics & Dashboards
Building an Indexer
Geyser Plugins
Indexing Basics
Indexing Best Practices
Parsing Program Data
Webhooks
Yellowstone gRPC
Instructions
Accessing Accounts
Instruction Arguments
Instruction Handlers
Instruction Ordering & Dependencies
Instructions Best Practices
Return Values & CPIs from Handlers
The System & Token Programs
Local Dev
Cloning Mainnet Accounts
Loading Programs & Fixtures
Local Dev Basics
Local Dev Best Practices
Local Logs & Debugging
Localnet vs Devnet Workflow
solana-test-validator
Surfpool
Native Programs
Creating Accounts via CPI
Emitting Logs
Instruction Data (de)Serialization
Manual Account Validation
Native Program Basics
Native Programs Best Practices
Reading & Writing Account Data
The Entrypoint & Dispatch
When to Go Native
Next.js dApps
API Routes for Transactions
Caching & Realtime
Client-Side Signing
dApp Integration Basics
dApp Integration Best Practices
Displaying On-Chain Data
Providers & App Router
Server-Side Reads
Transaction UX
NFTs & Metaplex
Candy Machine
Collections & Verification
Metadata & Storage
Metaplex Core
NFT Basics on Solana
NFT Best Practices
Reading NFTs (DAS API)
Royalties & Enforcement
Token Metadata
Program Patterns
Access Control & Authorities
Account Initialization Patterns
Fee & Treasury Patterns
Program Patterns Basics
Program Patterns Best Practices
State Machines On-Chain
Time & Clock
Upgrade-Safe Data Design
Vault & Escrow
Anchor PDAs
Client-Side PDA Derivation
Common PDA Mistakes
PDA Authorities
PDAs in Anchor
PDAs in Anchor Best Practices
Signing with PDAs
Storing Bumps
Pinocchio & Steel
Building a Program with Pinocchio
CU & Binary-Size Wins
Interop & Migration
Lightweight Frameworks Best Practices
Lightweight Frameworks Overview
Pinocchio Basics
Steel Framework
When to Use Which Framework
Tx Optimization
Address Lookup Tables in Practice
Estimating Compute Units
Jito Bundles
Optimization Best Practices
Retries & Blockhash Management
Setting Priority Fees
Transaction Assembly
Why Transactions Fail to Land
Product & Stakeholders
Estimation & Risk
Making the Process Work (Scrum/Kanban/SAFe)
Prioritizing Platform & Tech Debt
Product Collaboration Best Practices
Requirements to Technical Specs
Roadmap Contributions
Stakeholder Communication
Incident Response
Blameless Post-Mortems & RCA
Debugging Failed Transactions
On-Chain Incident Response
Prevention Checklists
Rollback & Mitigation
RPC & Infrastructure Outages
Transactions Not Landing
PDAs
Canonical Bumps
Deriving PDAs
PDA Account Creation
PDA Basics
PDA Best Practices
PDA Security Pitfalls
PDAs as Authorities
Seed Design & Collisions
Signing with PDAs
Errors & Logs
Custom Error Enums
Debugging Failed Transactions
Decoding Errors Off-Chain
Emitting Events
Error Handling Basics
Errors & Logs Best Practices
Logging with msg!
Security
Account Validation Attacks
Arithmetic & Overflow
Audit Workflow
CPI & Reentrancy Risks
PDA & Seed Attacks
Reinitialization Attacks
Sealevel Attacks Catalog
Security Basics
Security Best Practices
Signer & Owner Checks
Sealevel Runtime
Account Locks & Conflicts
Compute Units & Budgets
Program Loaders & Upgradeability
Programs Basics
Sealevel Parallel Execution
Sealevel Runtime Best Practices
Stateless Programs
The Program Entrypoint
The SVM & sBPF
pt
Noções Básicas de Anchor
Python
AnchorPy
Building Transactions in Python
Data Analysis
Python for Solana Basics
Python for Solana Best Practices
Reading Chain Data
solders & solana-py
Trading & Bots
RPC & DAS
Core RPC Methods
getProgramAccounts & Filters
Pagination & Efficiency
Priority Fee & Simulation APIs
RPC Basics
RPC Best Practices
RPC Providers
The DAS API
WebSocket Subscriptions
Rust On-Chain
Borsh Serialization
Error Handling On-Chain
no_std & the Program Environment
Program Size & CU Discipline
Rust for Solana Basics
Rust for Solana Best Practices
Rust for Solana Programs
Safe Arithmetic
Working with Pubkeys & Accounts
Zero-Copy with bytemuck
Solana CLI
Airdrops & Balances
Deploying Programs
Inspecting Accounts & Programs
Keypairs with solana-keygen
Logs & Debugging
Sending SOL & Transactions
Solana CLI Basics
Solana CLI Best Practices
spl-token CLI
Fundamentals
Clusters & Networks
How a Transaction Flows
Keypairs & Addresses
Slots, Blocks & Epochs
SOL, Lamports & Units
Solana Basics
Solana Fundamentals Best Practices
The Solana Mental Model vs. EVM
Wallets & Explorers
@solana/kit
@solana/kit Basics
@solana/kit Best Practices
Address Lookup Tables
Building Transaction Messages
Codecs & Serialization
Keypairs & Signers
Migrating from web3.js v1
RPC & Subscriptions
Signing & Sending
Mobile
Building a Mobile dApp
Deep Links & Session Handling
Mobile Wallet Adapter (MWA)
Seed Vault & Security
Solana Mobile Basics
Solana Mobile Best Practices
The dApp Store
Pay & Actions
Actions (the spec)
Blinks
Building an Action
Security & Verification
Solana Pay & Actions Best Practices
Solana Pay Basics
Transaction Requests
SPL Token
Associated Token Accounts (ATAs)
Authorities
Decimals & Amounts
Minting & Burning
SPL Token Basics
SPL Token Best Practices
SPL Token in Programs
Transfers & Delegates
Wrapped SOL
Governance
Audit & Bug-Bounty Program
Coding & Program Standards
Contribution Guidelines
Dependency & Crate Governance
Documentation Conventions
Governance Best Practices
Spikes, PoCs & Adopting New Tools
Tracking Ecosystem Change
cNFTs
Compressed NFTs (Bubblegum)
Compression Best Practices
Cost & Trade-offs
How Compression Works
Reading Compressed Assets (DAS)
State Compression Basics
Transferring cNFTs
Team
Code Review Guidelines
Environment Setup Checklist
First Program & dApp
Onboarding Devs Checklist
Team Best Practices
The Solana Mental-Model Ramp
Tech Leadership
Architecture Decision Records (ADRs)
Code Review Culture
Delegation & Spreading Context
Handling Technical Disagreements
Leadership Best Practices
Mentoring & Leveling
Running Design Reviews
Technical Decision-Making
Testing
Anchor TS Tests
Bankrun (TS)
Fuzzing Programs
LiteSVM
Mollusk
Testing Against a Validator
Testing Basics
Testing Best Practices
Testing CPIs & PDAs
Token-2022
Confidential Transfers
Interest-Bearing & Default Account State
Metadata & Metadata Pointer
Migrating from SPL Token
Permanent Delegate & Non-Transferable
Token-2022 Basics
Token-2022 Best Practices
Transfer Fees
Transfer Hooks
Toolchain
Building Programs (cargo build-sbf)
create-solana-dapp
Editor & rust-analyzer Setup
Mucho CLI
Toolchain Best Practices
Toolchain Overview
Verifiable Builds (solana-verify)
Version Management (agave-install / avm)
Transactions & Fees
Address Lookup Tables (ALTs)
Blockhashes & Expiry
Instructions & Accounts
Jito Tips & Bundles
Priority Fees
Simulating Transactions
The Compute Budget Program
Transactions Basics
Transactions Best Practices
Versioned Transactions (v0)
Typed Clients
Building Instructions
Codama
Fetching & Decoding Accounts
gill
Keeping Clients in Sync
The Anchor TS Client
Typed Clients Basics
Typed Clients Best Practices
Validators
Agave Client
Firedancer / Frankendancer
Hardware & Networking
Jito-Solana
Monitoring & Epoch Ops
Stake-Weighted QoS (SWQoS)
Validator Basics
Validator Best Practices
Vote Accounts & Staking
Wallets
@wallet-ui/react
Autoconnect & Session UX
Connecting & Disconnecting
Hardware & Mobile Wallets
Signing Transactions & Messages
Wallet Adapter
Wallet Basics
Wallet Integration Best Practices
Related tags
List
Best Practices
Basics
Advanced
Accounts
Cpi
Anchor
Security
Back to Top