2 releases
new 0.1.1 | Mar 28, 2025 |
---|---|
0.1.0 | Mar 28, 2025 |
#385 in Magic Beans
19KB
73 lines
Halide
Solana developer experience that doesn't suck.
The Problem
Let's be real, Solana development can be a pain in the ass sometimes:
- Transaction failures with cryptic error messages that make you want to pull your hair out
- Testing that's slower than a snail on tranquilizers esp on my [insert non mac device]
- Deploying programs feels like you need a PhD in Solana internals
- Trying to test CPIs? Good luck setting up that environment
I once wasted 3 days debugging a transaction that failed with 0x1
as the only error. THREE. DAYS. I'm better at solana stuff now but the lads should have training-wheels
Oh, and testing my program that calls Metaplex? Had to set up a local validator, which takes forever to start, only for it to fail because of some obscure configuration issue.
What This Actually Does
halide
is a CLI I built because I got tired of this crap:
# Deploy your program without the headache(wtf are buffers, and where did all my SOL go, 3 SOL! gone!)
halide deploy program.so
# Monitor ALL transactions for any program - see exactly why they're failing - just like prometheus for your backend
halide monitor Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS
# Run fast tests with LiteSVM and all the programs you actually need
halide spin litezes
Features
Super Fast Testing with LiteSVM
- Tests run in milliseconds, not minutes
- Metaplex, SPL and other common programs pre-loaded
- Test CPIs without wanting to throw your laptop out the window
- No need to start a validator for simple tests
// Example test that would normally be a nightmare to set up
import { setupTest, loadProgram, loadMetaplex } from 'halide';
describe('My Program', () => {
const env = setupTest();
it('can mint an NFT', async () => {
// This just works™ because Metaplex is already loaded
const result = await myProgram.mintNFT({...});
assert(result.success);
});
});
Transaction Monitoring That Actually Helps
Stop guessing why your transactions are failing:
- See the exact instruction that failed
- Get human-readable error messages
- Track all transactions for your program without setting up infrastructure
- Filter by account, transaction type, or time range
One-Command Deployments
Just halide deploy
and you're done. No more:
- Juggling BPF loaders
- Managing program upgrades
- Figuring out which network you're on
- Dealing with insufficient funds
- Squads Multisig authority program upgrade support -- hmm who needs this
Installation
chill a bit
Who Is This For?
- Solana devs who value their time and sanity
- Teams who want to ship faster
- Anyone who's muttered "why is this so complicated?" while working with Solana
Current Status
This is an early version that I'm using for myself. There might rough edges, but if it saves me hours it's a tool alright. PRs welcome!
License
MIT - do whatever you want with it
Dependencies
~20–29MB
~499K SLoC