Expand description
no_std Solana SDK for ESP32 microcontrollers.
Wallet creation (BIP39/SLIP-10), Ed25519 signing, transaction building, and JSON-RPC — all in ~163KB of flash on ESP32-C3.
§Quick start
[dependencies]
esp-solana = { version = "0.1", features = ["wallet"] }ⓘ
use esp_solana::prelude::*;
use esp_solana::wallet::Wallet;
use esp_solana::instruction::system_transfer;
use esp_solana::message::Message;
use esp_solana::transaction::Transaction;
let wallet = Wallet::generate_12(&entropy).unwrap();
let keypair = wallet.keypair(0).unwrap();
let ix = system_transfer(keypair.pubkey(), recipient, 1_000_000);
let msg = Message::compile(keypair.pubkey(), &[ix], blockhash).unwrap();
let tx = Transaction::new(msg, &[&keypair]).unwrap();
let b64 = tx.to_base64();§Features
crypto(default) — Ed25519 signing viaed25519-compactwallet— BIP39 mnemonic + SLIP-10 key derivation (enablescrypto)std— enables std for host-side testing
Modules§
- b64
- Minimal base64 encoder (standard alphabet, no padding omission).
- bip39
wallet - BIP39 mnemonic generation, validation, and seed derivation.
- bs58
- Minimal base58 encoder/decoder (Bitcoin alphabet, used by Solana).
- crypto
crypto - Ed25519 keypair, signing, and verification via
ed25519-compact. - instruction
- Solana instruction types and System Program builders.
- message
- Solana message compilation and wire-format serialization.
- prelude
- Curated re-exports for common use.
use esp_solana::prelude::*; - rpc
- Transport-agnostic Solana JSON-RPC client.
- slip10
wallet - SLIP-10 Ed25519 hierarchical key derivation.
- transaction
- Solana transaction signing and serialization.
- types
- wallet
wallet - High-level Solana wallet management.