anza-xyz/pinocchio
Create Solana programs with no external dependencies attached
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
4 releases in the last 90 days, the latest today, with 46 contributors on GitHub.
Gained 6% fewer stars in the last 90 days than in the 90 days before.
Use Cases & Benefits
- Create Solana on-chain programs in Rust without any external dependencies or reliance on the solana-program crate.
- Eliminates dependency issues and reduces binary size and compute unit consumption by using zero-copy types and no_std environment.
- Use for developing lightweight Solana programs optimized for minimal compute units and binary size.
- Use for building Solana programs requiring fine-grained control over input parsing with lazy entrypoint macros.
- Use for creating no-allocation Solana programs that panic on memory allocation attempts to ensure strict resource control.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
Apache 2.0
Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.
Community files
- README: present
Watch-outs
No watch-outs from GStars' checks.
General guidance from repository metadata, not legal advice. How we score
From the README
Create Solana programs with no dependencies attached.
I've got no dependencies
To hold me down
To make me fret
Or make me frown
I had dependencies
But now I'm free
There are no dependencies on me
Pinocchio is a zero-dependency library to create Solana programs in Rust. It takes advantage of the way SVM loaders serialize the program input parameters into a byte array that is then passed to the program's entrypoint to define zero-copy types to read the input. Since the communication between a program and SVM loader — either at the first time the program is called or when one program invokes the instructions of another program — is done via a byte array, a program can define its own types. This completely eliminates the dependency on the
solana-programcrate, which in turn mitigates dependency issues by having a crate specifically designed to create on-chain programs.As a result, Pinocchio can be used as a replacement for
solana-programto write on-chain programs, which are optimized in terms of both compute units consumption and binary size.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
236+9
Open issues
42+8
Compared with peers in Backend
Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| anthropics/skills | 187.8K | +2.9K | 15 | — |
| DuarteSantos8/openGym | 19.7K | +2.4K | 60 | 2 days ago |
| shiyu-coder/Kronos | 47.0K | +2.3K | 16 | — |
| NationalSecurityAgency/ghidra | 98.2K | +2.3K | 64 | 14 days ago |
| microsoft/VibeVoice | 56.0K | +1.1K | 29 | — |
| anza-xyz/pinocchio | 970 | — | 34 | today |
| Category median | 56.0K | +2.3K | 29 | — |
Discover Repositories
Search across tracked repositories by name or description