# Claude Dev Suite Claude Dev Suite Bitcoin Libraries Rust Bitcoin

> rust-bitcoin

- Skill: `tomevault-io/claude-dev-suite-claude-dev-suite-bitcoin-libraries-rust-bit` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/claude-dev-suite-claude-dev-suite-bitcoin-libraries-rust-bit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/claude-dev-suite-claude-dev-suite-bitcoin-libraries-rust-bit/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/claude-dev-suite-claude-dev-suite-bitcoin-libraries-rust-bit

---


# rust-bitcoin

The foundation Rust crate for Bitcoin. Used by BDK, LDK, miniscript-rs,
electrs, etc. Stable, comprehensive.

Repo: `github.com/rust-bitcoin/rust-bitcoin`.

## Install

```toml
[dependencies]
bitcoin = "0.32"   # check current; API stabilizing
```

## Key types

- `Transaction`, `TxIn`, `TxOut`, `OutPoint`.
- `Script`, `ScriptBuf`, `Address`, `Network`.
- `Block`, `BlockHash`, `BlockHeader`.
- `secp256k1::SecretKey`, `secp256k1::PublicKey`.
- `bip32::ExtendedPrivKey`, `ExtendedPubKey`, `DerivationPath`.
- `psbt::Psbt` (BIP174).

## Quick examples

### Address generation
```rust
use bitcoin::{Address, Network};
use bitcoin::secp256k1::{Secp256k1, SecretKey, PublicKey};
use bitcoin::PrivateKey;

let secp = Secp256k1::new();
let sk = SecretKey::from_slice(&[1u8; 32]).unwrap();
let pk = PublicKey::from_secret_key(&secp, &sk);
let addr = Address::p2wpkh(&PublicKey::new(pk), Network::Bitcoin).unwrap();
println!("{}", addr);   // bc1q...
```

### Parse + construct tx
```rust
use bitcoin::{Transaction, consensus::encode};

let raw = hex::decode("01000000...").unwrap();
let tx: Transaction = encode::deserialize(&raw).unwrap();
println!("txid: {}", tx.compute_txid());

let bytes = encode::serialize(&tx);
```

### Sign with secp256k1
```rust
let secp = Secp256k1::new();
let msg = bitcoin::secp256k1::Message::from_digest_slice(&hash).unwrap();
let sig = secp.sign_ecdsa(&msg, &sk);
```

## Modules

- `consensus` — wire format encode/decode.
- `blockdata` — block / tx / script.
- `network` — message types, magic bytes.
- `psbt` — partially-signed tx.
- `bip32` — HD derivation.
- `taproot` — Taproot (TaprootBuilder, ControlBlock).
- `address` — addr parsing + generation.

## Use cases

- Wallet / signer / explorer code in Rust.
- Backend services consuming Bitcoin data.
- Foundation for higher-level libs (BDK, LDK).

## Common pitfalls

- API churn between minor versions in 0.x range. Pin carefully.
- `Script` (zero-cost wrapper) vs `ScriptBuf` (owned) — most APIs
  take `&Script`.
- Network mismatch errors when building cross-network apps.

## See also

- [bdk/SKILL.md](../bdk/SKILL.md)
- [ldk/SKILL.md](../ldk/SKILL.md)
- [miniscript-rs/SKILL.md](../miniscript-rs/SKILL.md)
- [secp256k1-rs/SKILL.md](../secp256k1-rs/SKILL.md)

---
> Source: [claude-dev-suite/claude-dev-suite](https://github.com/claude-dev-suite/claude-dev-suite) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-16 -->

