Skip to main content

Crate esp_solana

Crate esp_solana 

Source
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 via ed25519-compact
  • wallet — BIP39 mnemonic + SLIP-10 key derivation (enables crypto)
  • std — enables std for host-side testing

Modules§

b64
Minimal base64 encoder (standard alphabet, no padding omission).
bip39wallet
BIP39 mnemonic generation, validation, and seed derivation.
bs58
Minimal base58 encoder/decoder (Bitcoin alphabet, used by Solana).
cryptocrypto
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.
slip10wallet
SLIP-10 Ed25519 hierarchical key derivation.
transaction
Solana transaction signing and serialization.
types
walletwallet
High-level Solana wallet management.