# jimmysong/programmingbitcoin

Repository for the book

Repository: https://github.com/jimmysong/programmingbitcoin
Canonical: https://ross.abutalabs.com/products/programmingbitcoin
Language: Python
License: NOASSERTION
License Family: other
Last push: 2024-05-20T22:31:48+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3181, "days_push": 835, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1882, forks 702 (observed 2026-08-28T04:05:48.717377+00:00)

## What it is
Companion code repository for Jimmy Song's O'Reilly book 'Programming Bitcoin', containing Python examples and Jupyter Notebook exercises. It teaches how Bitcoin works under the hood by building elliptic curve math, transactions, and scripting from scratch.

## Use cases
- learn how bitcoin works internally
- implement elliptic curve cryptography in python
- understand bitcoin transactions and script
- work through programming bitcoin book exercises
- study finite fields and secp256k1 from scratch
- learn to parse and sign bitcoin transactions

## When to choose
- you are reading Programming Bitcoin and want to run the exercises
- you want a hands-on, from-first-principles introduction to bitcoin internals
- you prefer learning via Jupyter notebooks in Python

## When to avoid
- you need production bitcoin libraries or wallet software
- you want a maintained tool rather than educational material
- you need permissively licensed code (content is CC-BY-NC-ND)

## Facets
- artifact type: learning-resource
- maturity: stable
- function: cryptography, developer-tools
- domain: blockchain, education, tutorials
- platform: python, cross-platform
- tags: bitcoin, book, jupyter-notebook, elliptic-curves, educational, cryptocurrency

## Member repositories
- jimmysong/programmingbitcoin (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:48.717377+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:13:47.583201+00:00, confidence not recorded.
  - readme: https://github.com/jimmysong/programmingbitcoin (fetched 2026-08-28T04:05:48.717377+00:00, sha 4f26bc864b36)
- Data as of 2026-08-30T08:39:29.467469+00:00.
