boha

Use boha as a Rust library for crypto puzzle and bounty data. Trigger when code imports `boha`, references Bitcoin puzzle transactions, hash collision bounties, or needs programmatic access to crypto challenge collections. Do not use for CLI usage - see boha-cli skill instead.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "boha" with this command: npx skills add oritwoen/boha/oritwoen-boha-oritwoen-boha

Rust library for crypto bounties, puzzles and challenges data. Eight collections across six blockchains (Bitcoin, Ethereum, Litecoin, Monero, Decred, Arweave). All data embedded at compile time as &'static references.

Install

[dependencies]
boha = "0.16"

# With async balance fetching (requires tokio runtime)
boha = { version = "0.16", features = ["balance"] }
tokio = { version = "1", features = ["full"] }

Puzzle ID Format

IDs follow collection/identifier pattern. Two exceptions have no slash.

CollectionID exampleNotes
b1000b1000/66Number 1-256, accepts u32/usize/&str
arweavearweave/weave1Name string
balletballet/AA007448Serial number
bitapsbitapsSingle puzzle, no slash
bitimagebitimage/kittenName string
gsmggsmgSingle puzzle, no slash
hash_collisionhash_collision/sha256sha1, sha256, ripemd160, hash160, hash256, op_abs
zdenzden/level_1snake_case level names

API

use boha::{b1000, hash_collision, zden, Status, Chain};

// Fetch by collection-specific getter
let p = b1000::get(66).unwrap();
println!("{} - {}", p.address.value, p.status);

// Fetch by universal ID
let p = boha::get("hash_collision/sha256").unwrap();

// Iterate and filter
let targets: Vec<_> = b1000::all()
    .filter(|p| p.status == Status::Unsolved)
    .filter(|p| p.pubkey.is_some())
    .collect();

// Key range (b1000 only) - puzzle N has key in [2^(N-1), 2^N-1]
let range = b1000::get(90).unwrap().key_range().unwrap();

// Big key range for bits > 128
let (lo, hi) = b1000::get(200).unwrap().key_range_big().unwrap();

// Stats
let s = boha::stats();
println!("Total: {}, Unsolved: {}", s.total, s.unsolved);

// Explorer URLs
let url = p.chain.tx_explorer_url("txid_here");
let addr_url = p.explorer_url();

Balance fetching (feature: balance)

use boha::balance;

#[tokio::main]
async fn main() {
    let bal = balance::fetch("1A1zP1...", boha::Chain::Bitcoin).await.unwrap();
    println!("{} sats confirmed, {:.8} BTC total", bal.confirmed, bal.total_btc());
}

Supports Bitcoin (mempool.space), Litecoin (litecoinspace.org) and Ethereum (Etherscan).

Key Data Types

See types.md for full struct definitions.

Core types: Puzzle, Address, Key, Chain, Status (Solved/Unsolved/Claimed/Swept), Author, Solver, Transaction.

A puzzle has: address, chain, status, optional prize, optional pubkey, optional private key (if solved), transactions history, solver info, and assets (images/hints for visual puzzles).

Collections Overview

See collections.md for detailed collection data.

Limitations

  • All data is &'static - no heap allocation, no runtime loading.
  • key_range() works for bits <= 128. Use key_range_big() for larger.
  • Balance fetching is async and requires the balance feature flag.
  • Puzzle data lives in data/*.jsonc - don't hardcode in Rust source.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

china-sportswear-outdoor-sourcing

Comprehensive sportswear and outdoor equipment sourcing guide for international buyers – provides detailed information about China's athletic apparel, footwear, outdoor gear, and accessories manufacturing clusters, supply chain structure, regional specializations, and industry trends (2026 updated).

Archived SourceRecently Updated
Web3

china-lighting-sourcing

Comprehensive lighting industry sourcing guide for international buyers – provides detailed information about China's LED, smart, outdoor, automotive, and specialty lighting manufacturing clusters, supply chain structure, regional specializations, and industry trends (2026 updated).

Archived SourceRecently Updated
Web3

china-furniture-sourcing

Comprehensive furniture industry sourcing guide for international buyers – provides detailed information about China's residential, office, hotel, outdoor, and custom furniture manufacturing clusters, supply chain structure, regional specializations, and industry trends (2026 updated).

Archived SourceRecently Updated
boha | V50.AI