Feel free to leave your feedback for us to improve the Solana developer experience
It’s possible to auto-generate IDLs for non-Anchor frameworks, but support varies by tool. Full automation is still limited and depends on how well the framework integrates with Shank or custom tooling.
I've enhanced this library to help analyze on-chain data more efficiently. Notable features:
- Supports base64 discriminator printing for easier web lookup
- Fixed a bug where discriminators weren’t snake-cased before hashing
- Added support for event discriminators (previously missing)
Useful for dynamic parsing of on-chain data.
Anchor versions need to be compatible with both the Solana CLI and solana-test-validator
. Version mismatches can cause runtime or build issues. A streamlined solution or compatibility layer would be helpful in
7107
the future.
Updating dependencies can break builds due to mismatches between Solana Rust toolchain versions and upstream crates.
To avoid issues:
- Ensure
cargo build-sbf
uses the same Rust version as Anchor's official toolchain. - Avoid blind
cargo update
in production projects.
Many developers still use Anchor 0.29. I've patched my fork to support proc_macro2 1.0.95
and Rust 1.79.0.
You can clone and build locally from:
👉 https://github.com/daog1/anchor/commits/solana17/
Unlike EVM, Solana does not yet support public on-chain contract source viewing in explorers. You must manually locate the code or IDL and use tools like Codama for reverse analysis. It is inconvenient.
Surfpool now supports custom account logic without LiteSVM. However:
- Many features are not fully integrated
- Transactions might not yet appear in Solscan We hope future updates improve compatibility.
When testing flash loans on mainnet, Surfpool showed overflow errors due to clock discrepancies. Fix submitted:
🔗 txtx/surfpool#101
This error appears when using BaseCollectionV1
with all-zero discriminators. Possible discussion and fix:
🔗 solana-foundation/anchor#3700
Pinocchio does not have declare_program!
macro, and it seems that it is not possible to call instructions or cpi through idl. I hope it will be supported in the future.