karpathy/cryptos — explained in plain English
Analysis updated 2026-07-17 · repo last pushed 2021-06-21
Generate a real Bitcoin wallet address and key pair to see exactly how the math works.
Sign a fake transaction using the elliptic curve code to understand digital signatures.
Run the lightweight node to download and validate 40,000 real Bitcoin block headers.
Build educational material or a course module explaining Bitcoin's cryptography from first principles.
| karpathy/cryptos | trekhleb/machine-learning-experiments | raiyanyahya/how-to-train-your-gpt | |
|---|---|---|---|
| Stars | 1,915 | 1,810 | 2,278 |
| Language | Jupyter Notebook | Jupyter Notebook | Jupyter Notebook |
| Last pushed | 2021-06-21 | — | 2026-06-23 |
| Maintenance | Dormant | — | Active |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 4/5 | 3/5 | 2/5 |
| Audience | researcher | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Pure Python is slow and simplified, not for real Bitcoin use, only for learning.
A from-scratch Python implementation of Bitcoin's cryptography and a lightweight node, built to teach exactly how Bitcoin works under the hood without relying on any pre-built libraries.
Mainly Jupyter Notebook. The stack also includes Python, Jupyter Notebook.
Dormant — no commits in 2+ years (last push 2021-06-21).
No license information was mentioned in the explanation.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.