Advanced Price Feed Tutorial
Why Optimize Compute Units?
Metric
Basic (Anchor)
Advanced (Pinocchio)
Savings
What You'll Build
Prerequisites
Key Concepts
Pinocchio Framework
Admin Authorization Pattern
Modular Account Initialization
The On-Chain Program
Program Structure
Instruction 0: crank
crankInstruction 1: read
readInstruction 2: init_state
init_stateInstruction 3: init_oracle
init_oracleAccount Initialization Helpers
Quote Account Initialization
State Account Initialization
The TypeScript Client
Running the Example
1. Clone the Examples Repository
2. Install Dependencies
3. Build and Deploy the Program
4. Run the Example
Expected Output
When to Use This Pattern
Scenario
Recommendation
Security Considerations
write_from_ix_unchecked Risks
write_from_ix_unchecked RisksAdmin Authorization Trade-offs
Aspect
Managed Updates (Basic)
Admin Auth (Advanced)
Recommendations
Next Steps
Last updated