pinocchio-development

Build zero-copy Solana programs with bytemuck-based parsing and manual validation.

116|9|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/elophanto/EloPhanto --skill pinocchio-development-elophanto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pinocchio-development
Source: https://github.com/elophanto/EloPhanto/tree/main/skills/pinocchio-programs
Command: npx skills add https://github.com/elophanto/EloPhanto --skill pinocchio-development-elophanto

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and resources (resource) components.

What problem does it solve?

Pinocchio addresses the complexity and performance overhead of building Solana programs by providing a zero-dependency, zero-copy framework that replaces heavier toolchains with manual, efficient patterns and bytemuck-based data representations.

Core Features & Use Cases

  • Zero-copy account data with bytemuck Pod/Zeroable for fixed-size state
  • Manual account validation patterns (Struct-based, TryFrom, Builder, Macro-based) with strong safety checks
  • PDA derivation, signer handling, and CPI patterns through pinocchio-system and pinocchio-token
  • Entrypoint optimizations (lazy, no_allocator) and serialization guidance
  • Migration guidance from Anchor to Pinocchio, including IDL generation with Shank
  • Rich examples and templates to accelerate development

Quick Start

Scaffold a new Pinocchio program using the provided scaffolding and begin implementing instructions with zero-copy state and explicit validation.

Frequently Asked Questions about pinocchio-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the best way to build high-performance Solana programs with zero-copy state?

Pinocchio provides a zero-dependency, zero-copy framework for building high-performance Solana programs using bytemuck Pod and Zeroable traits to enable efficient fixed-size state management without heavy toolchain overhead.

How do I migrate my Anchor program to Pinocchio?

Migrating from Anchor to Pinocchio involves replacing macro-based validation with manual patterns and using bytemuck for zero-copy parsing, while generating IDLs via Shank to maintain client-side compatibility throughout the transition.

How do I handle cross-program invocations and PDA derivation in Rust for Solana?

Cross-program invocations and PDA derivation in Pinocchio are managed through the pinocchio-system and pinocchio-token modules, handling signer seeds and CPI patterns with minimal dependencies for optimized execution.

Does Pinocchio support manual account validation patterns for Solana programs?

Yes, Pinocchio supports multiple manual account validation patterns including Struct-based, TryFrom, Builder, and Macro-based approaches, ensuring strong safety checks while maintaining zero-copy efficiency for Solana program state.

Why use bytemuck for data serialization instead of Borsh in Solana programs?

Bytemuck enables zero-copy data parsing for fixed-size Solana account state, avoiding the compute and memory overhead of traditional serialization frameworks like Borsh while enforcing single-byte discriminators for instruction routing.

Can I use Pinocchio with no_allocator entrypoints for optimized Solana programs?

Yes, Pinocchio supports lazy and no_allocator entrypoint optimizations to minimize compute unit consumption, allowing Solana programs to bypass standard memory allocation overhead during instruction processing.