Skip to content

atolc/programming-bitcoin

Repository files navigation

Programming Bitcoin — Interactive Notes

An interactive, bilingual (ES / EN) companion to Jimmy Song's Programming Bitcoin book. Read the chapter notes, run Python examples live in the browser, and solve exercises — all without installing anything.

Live site → https://caeher.github.io/programming-bitcoin/


✨ Features

Feature Details
📖 Chapter notes Markdown notes for all 14 chapters, available in Spanish and English
🐍 Live Python sandbox Run code snippets directly in the browser powered by Pyodide
🧩 Interactive exercises Solve chapter exercises and check your answers with automated tests
🌐 i18n Full Spanish / English support with per-locale routing
🌙 Dark / Light mode Theme toggle included
➕ Math rendering LaTeX equations rendered via KaTeX

🖼️ Screenshots

Coming soon — contributions welcome!


🚀 Quickstart

Prerequisites

  • Node.js ≥ 18
  • pnpm ≥ 10 — install with npm i -g pnpm

Run locally

# Clone the repository
git clone https://github.com/caeher/programming-bitcoin.git
cd programming-bitcoin

# Install dependencies
pnpm install

# Start the development server
pnpm dev

The app will be available at http://localhost:5173.

Build for production

pnpm build

The output goes to dist/.


🏗️ Tech Stack

Layer Technology
Bundler Vite
UI library React + TypeScript
Styling Tailwind CSS v4
Code editor Monaco Editor
Python runtime Pyodide (WASM)
Math KaTeX via remark-math + rehype-katex
Routing React Router v7
i18n i18next + react-i18next
Markdown react-markdown + custom remark/rehype plugins

📁 Project Structure

programming-bitcoin/
├── docs/
│   ├── es/          # Spanish chapter notes (Markdown)
│   └── en/          # English chapter notes (Markdown)
├── src/
│   ├── components/  # Reusable React components
│   ├── context/     # React contexts (locale, theme, …)
│   ├── data/        # Chapter & exercise manifests
│   ├── hooks/       # Custom hooks
│   ├── i18n/        # i18next configuration
│   ├── lib/         # Utility functions & types
│   ├── locales/     # UI translation strings (JSON)
│   └── pages/       # Route-level page components
├── scripts/         # Build & validation scripts (Node.js)
└── pdfs/            # Source PDFs (not tracked in Git)

🤝 Contributing

See CONTRIBUTING.md for a detailed guide on how to add new chapters, fix notes, or improve the codebase.


📄 License

The source code of this project is released under the MIT License.

Chapter notes and exercises are educational summaries of the book Programming Bitcoin by Jimmy Song, published by O'Reilly Media. All rights to the original book content belong to the respective copyright holders. This project is intended for personal study and educational use only.

About

Interactive classes for Programming Bitcoin

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors