Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@
→ No technical background needed

### "I understand Bitcoin but haven't coded on it"
→ Join the **Bitcoin Dojo** (7 weeks, Chaincode BOSS Challenge)
→ Or join **rawBit** (10 weeks, elliptic curves to Taproot)
→ Join the **Bitcoin Dojo** (7 weeks, Programming Bitcoin)
→ Or join **rawBit** (10 weeks, raw transactions from P2PKH to Taproot)
→ You'll write your first Bitcoin scripts and understand the protocol

### "I can code and want to contribute to Bitcoin"
→ Join **Decoding Bitcoin** (8 weeks, transaction deep dive)
→ Or jump into the **Privacy Track** (24 sessions, chain analysis through CoinSwap)
→ Or drop into the **Privacy Track** (12 biweekly sessions, Silent Payments through ecash)
→ You'll submit your first PR to a real Bitcoin project

### "I'm already contributing and want funding"
→ Apply for a **Developer Fellowship** ($500/mo, 6 months)
→ Apply for a **Developer Fellowship** ($512/mo, 6 months)
→ Pick a project, get a mentor, ship code: fellowship@codeorange.dev
→ Details: https://github.com/code-orange-dev/fellowships

Expand Down Expand Up @@ -72,18 +72,18 @@ All our curriculum is CC0-licensed. You can use, adapt, and improve it.

## Your First Bitcoin Open-Source PR

Not sure where to start contributing to Bitcoin itself? Here are beginner-friendly projects our community contributes to:
Not sure where to start contributing to Bitcoin itself? Here are some projects that label beginner-friendly issues:

| Project | Language | Good First Issues |
|---------|----------|-------------------|
| [rust-bitcoin](https://github.com/rust-bitcoin/rust-bitcoin) | Rust | Documentation, tests, small fixes |
| [BDK](https://github.com/bitcoindevkit/bdk) | Rust | Wallet tooling, tests |
| [Floresta](https://github.com/Davidson-Souza/Floresta) | Rust | Light client node, good first issues labeled |
| [Floresta](https://github.com/getfloresta/Floresta) | Rust | Light client node, good first issues labeled |
| [BlueWallet](https://github.com/BlueWallet/BlueWallet) | React Native | Translations, UI improvements |
| [BTCPay Server](https://github.com/btcpayserver/btcpayserver) | C# | Merchant payments, documentation |
| [peer-observer](https://github.com/peer-observer/peer-observer) | Rust | P2P network monitoring |

**Pro tip**: Start by reading the project's CONTRIBUTING.md, then look for issues labeled `good first issue` or `help wanted`. Our Discord has a #contribution-help channel where you can ask questions.
**Pro tip**: Start by reading the project's CONTRIBUTING.md, then look for issues labeled `good first issue` or `help wanted`. You can also ask in the Code Orange Discord.

---

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

## About This Repository

This is the master curriculum repository for [Code Orange Dev School](https://codeorange.dev) - Asia's Bitcoin Developer Pipeline. It contains everything an educator needs to fork this repo and run their own Bitcoin developer cohort, anywhere in the world, in any language.
This is the master curriculum repository for [Code Orange Dev School](https://codeorange.dev), a Bitcoin-only developer education program. It contains everything an educator needs to fork this repo and run their own Bitcoin developer cohort, anywhere in the world, in any language.

All materials are released under **CC0 1.0 Universal (Public Domain)** - use them, adapt them, translate them, teach with them. No permission needed.

Expand Down Expand Up @@ -128,7 +128,7 @@ curriculum/

## Upstream Resources

This curriculum builds on world-class open-source Bitcoin education:
This curriculum builds on these open-source Bitcoin education resources:

- [Chaincode Labs Bitcoin Curriculum](https://github.com/chaincodelabs/bitcoin-curriculum) - Protocol development study groups
- [Bitcoin Dev Project](https://bitcoindevs.xyz/) - Developer onboarding and learning paths
Expand Down
25 changes: 3 additions & 22 deletions bitcoin-dojo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@

## Overview

Bitcoin Dojo is a 7-week study cohort run in partnership with [Chaincode Labs](https://chaincode.com/) as part of the [BOSS Challenge](https://learning.chaincode.com/) (Building Open Source Software). Participants build Bitcoin's cryptographic primitives from scratch using Jimmy Song's [Programming Bitcoin](https://github.com/jimmysong/programmingbitcoin) - covering finite fields, elliptic curves, ECDSA, key generation, address encoding, and transaction construction.
Bitcoin Dojo is a 7-week study cohort. Participants build Bitcoin's cryptographic primitives from scratch using Jimmy Song's [Programming Bitcoin](https://github.com/jimmysong/programmingbitcoin) - covering finite fields, elliptic curves, ECDSA, key generation, address encoding, and transaction construction.

This is not a lecture course. Participants study independently, then defend their understanding in weekly group calls where they explain answers to assigned questions. The goal: turn developers into Bitcoiners who are ready to contribute to open-source projects.

**Our first cohort had 49 registrants and produced 21 graduates**, many of whom are now pursuing Good First Issues across Bitcoin Core, rust-bitcoin, BDK, and other projects.

## Prerequisites

- Comfortable writing code in Python (the exercises use Python)
Expand All @@ -28,9 +26,7 @@ This is not a lecture course. Participants study independently, then defend thei
| **Time commitment** | 6-10 hours per week (self-study + calls) |
| **Weekly calls** | Mondays 11:00 UTC via Discord |
| **Textbook** | [Programming Bitcoin](https://github.com/jimmysong/programmingbitcoin) by Jimmy Song |
| **Partner** | [Chaincode Labs](https://chaincode.com/) BOSS Challenge |
| **Registrants (Cohort 1)** | 49 |
| **Graduates (Cohort 1)** | 21 |
| **Related program** | Chaincode Labs' [BOSS Challenge](https://learning.chaincode.com/) (separate, run by Chaincode) |

## How It Works

Expand Down Expand Up @@ -233,8 +229,7 @@ Each participant presents:

### Before the Cohort

- [ ] Confirm partnership with Chaincode Labs / BOSS Challenge (if applicable)
- [ ] Open registration (target: 40-50 registrants, expect ~50% completion rate)
- [ ] Open registration
- [ ] Set up Discord channel with weekly topic threads
- [ ] Ensure all participants have Python 3 installed
- [ ] Clone Jimmy Song's [programmingbitcoin repo](https://github.com/jimmysong/programmingbitcoin)
Expand All @@ -258,20 +253,6 @@ Each participant presents:

---

## Outcomes (Cohort 1: Feb-Apr 2026)

| Metric | Value |
|--------|-------|
| Registrants | 49 |
| Graduates | 21 |
| Completion rate | ~43% |
| Partner | Chaincode Labs (BOSS Challenge) |
| Graduates pursuing Good First Issues | Multiple |
| Graduates joining rawBit cohort | In progress |
| Graduates joining Code Orange workshops | In progress |

---

## License

CC0 1.0 Universal. Public domain. Fork it, translate it, teach with it.
4 changes: 2 additions & 2 deletions bitcoin-dojo/week-07/exercises/capstone.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ If every signature verifies, you have independently validated a real Bitcoin tra

## 4. Next step: pick one

- **Keep building on these exact skills:** the [Privacy Track](../../../privacy-track/) Silent Payments lab uses the same curve math, tagged hashes and taproot keys. It's graded against the official BIP352 test vectors, and it's where many Code Orange contributors started
- **Keep building on these exact skills:** the [Privacy Track](../../../privacy-track/) Silent Payments lab uses the same curve math, tagged hashes and taproot keys. It's graded against the official BIP352 test vectors.
- **Go deeper on transactions:** [rawBit](../../../rawbit/) or [Decoding Bitcoin](../../../decoding-bitcoin/)
- **Contribute:** pick an issue from the Privacy Track's [curated issue pool](../../../privacy-track/ISSUE_POOL.md) and run the [PR checklist](../../../privacy-track/PR_CHECKLIST.md) before submitting
- **Contribute:** find a current beginner issue with the Privacy Track's [live searches](../../../privacy-track/ISSUE_POOL.md) and run the [PR checklist](../../../privacy-track/PR_CHECKLIST.md) before submitting
6 changes: 2 additions & 4 deletions decoding-bitcoin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@

## Overview

Decoding Bitcoin is Code Orange Dev School's flagship developer program. Over 8 weeks, participants self-study Bitcoin protocol fundamentals - transactions, Script, Taproot, PSBTs - and learn how to contribute to Bitcoin open-source software through structured peer-learning sessions with experienced mentors.

**Our 2nd cohort produced 12 graduates who are now actively contributing to Bitcoin open-source projects** - with merged and approved PRs across Bitcoin Core, rust-bitcoin, BDK, rust-payjoin, peer-observer, LDK, and BlueWallet.
Decoding Bitcoin is an 8-week developer study cohort. Over 8 weeks, participants self-study Bitcoin protocol fundamentals - transactions, Script, Taproot, PSBTs - and learn how to contribute to Bitcoin open-source software through structured peer-learning sessions with experienced mentors.

## Prerequisites

Expand All @@ -28,7 +26,7 @@ Decoding Bitcoin is Code Orange Dev School's flagship developer program. Over 8
| **Weekly sessions** | 2x per week - group discussion + TA office hours |
| **Group size** | 10-20 participants, split into study groups of 4-5 |
| **Assessments** | 2 technical questions per week + final contribution project |
| **Mentors** | Experienced Bitcoin developers and Code Orange alumni |
| **Mentors** | Volunteer mentors and teaching assistants |

## How It Works

Expand Down
6 changes: 3 additions & 3 deletions privacy-track/FACILITATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ You're a host, not a professor. You need to be one session ahead of the room, ha

- [ ] Do the session's hands-on end to end on a clean machine. Write down every gotcha
- [ ] Pick 1-2 live PRs for the Review Circle. Good picks are small, privacy-relevant, active in the last month, and have a clear "how would you test this?" angle. For S3 (Review Club), announce the PR a week ahead and ask people to build it
- [ ] Pull 3-5 targets from [ISSUE_POOL.md](./ISSUE_POOL.md) for the Proof-of-Work Board
- [ ] Use the live searches in [ISSUE_POOL.md](./ISSUE_POOL.md) to find 3-5 targets for the Proof-of-Work Board, and check each one the morning of the session
- [ ] Post the session announcement with: the topic, what to install, the lab link, and "drop-ins welcome"

## The morning of
Expand Down Expand Up @@ -56,7 +56,7 @@ These come from the program's [Review Club playbook](https://github.com/code-ora

**"My build failed."** Keep a pre-built binary or a shared regtest box around. Setup pain belongs in a breakout room, and afterwards it makes a great docs PR.

**"I can't find anything to contribute."** A test report on an open PR is a contribution. So are docs. So is a reproduction of an open bug. The [pool](./ISSUE_POOL.md) is curated for exactly this.
**"I can't find anything to contribute."** A test report on an open PR is a contribution. So are docs. So is a reproduction of an open bug. [ISSUE_POOL.md](./ISSUE_POOL.md) links live searches and test targets for every session.

**"Bitcoin Core is intimidating."** Start with the SP lab, which uses the exact vectors in `src/test/data/bip352_send_and_receive_vectors.json`. Then read `src/common/bip352.cpp`, which is short. That's a much gentler entry to Core than most.

Expand All @@ -80,7 +80,7 @@ Builders working on this season's topics. Invite one per month. Offer 30 minutes
## After the season

- Run S12 as a sprint, then hold a retro: which sessions produced proof of work, which labs broke, and which PRs got reviewed
- Update [ISSUE_POOL.md](./ISSUE_POOL.md) and move merged/closed entries to the log
- Record what people actually shipped (with links) in the program's tracking
- Invite repeat contributors into the Review Club and the [fellowship](https://github.com/code-orange-dev/fellowships) pipeline
- Measure retention at 3, 6 and 12 months, per the program's [MEASUREMENT.md](https://github.com/code-orange-dev/code-orange-dev/blob/main/privacy-contributor-program/MEASUREMENT.md)

Expand Down
Loading
Loading