# Resource Hub

Resources and articles are provided in no particular order. They may (or may not!) provide additional insight into one or more facets of Bitcoin understanding. Resources found below are not representative of the views of Btrust Builders or its members.&#x20;

{% hint style="info" %}
Resources have not been verified as accurate; don't trust, verify!
{% endhint %}

***

### Jump to:

* [Open Source Contribution Notes](https://pathways.btrust.tech/resource-hub/open-source-contribution-notes)
* [Open Source Cheat Sheets](#open-source-cheat-sheets)
* [Open Source Projects (with stacks) ](#open-source-projects)
* [Developer Tools](#developer-tools)&#x20;
* [Writing](#writing)&#x20;
  * [Articles](#articles-1)&#x20;
    * [Technical](#technical)&#x20;
    * [Economics](#economics)&#x20;
    * [Energy](#energy)&#x20;
    * [Lightning](#lightning)&#x20;
    * [Culture](#culture)&#x20;
* [Cryptography](#cryptography)
* [Learning](#learning-resources)
  * [Miniscript](#miniscript)
  * [Taproot](#taproot)&#x20;
  * [SegWit](#segwit)
  * [Open Source](#open-source)&#x20;

***

## Open Source: Cheat Sheets

| Link                                                                                                                                                                                                                                                                    | Notes                                                                                                                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [Getting Started in BOSS Contribution](https://docs.google.com/document/d/16oms6LEkxVWZRovxbX9wAkSTFSUg1bJIRTXGiHg3SV4/edit?usp=drivesdk)                                                                                                                               | How to start contributing to OSS projects. Find good projects to start with at <https://bitcoindevs.xyz/>                     |
| [Your First PR](https://docs.google.com/document/d/1uBmLfGrtXQbw7GfOIBUZF4aXoCkAvIcl8IYFxN9NliM/edit?usp=sharing)                                                                                                                                                       | How to prepare, submit your PR, and address reviews                                                                           |
| [Working in Public](https://docs.google.com/document/d/17oQ5QU66QHhCvtMeAl3xxbD63Gqjt8eCxWPjPWiO144/edit?usp=sharing)                                                                                                                                                   | Tips for doing the quiet work out loud                                                                                        |
| [Working in Public: The Making and Maintenance of Open Source Software](https://www.google.com/search?kgmid=/g/11sv8pwsqc\&hl=en-US\&q=Working+in+Public:+The+Making+and+Maintenance+of+Open+Source+Software\&shndl=17\&source=sh/x/kp/osrp/m5/1\&kgs=1d01d8bf1405305d) | Book by Nadia Eghbal. An inside look at modern open source software development and its influence on our online social world. |
| [How to survive open source (sort of)](https://docs.google.com/presentation/d/1GkkE7bW8G2060OqxSZaV96QFWy7BdRVeF8P9nGIvp4U/edit?usp=sharing)                                                                                                                            | Presentation by [Carla Kirk-Cohen](https://github.com/carlakc) on working in open source                                      |

## Open Source Projects

* [Bitcoin Core](https://github.com/bitcoin/bitcoin/issues) - C++, Python, C
* [Bitcoin JS](https://github.com/bitcoinjs/bitcoinjs-lib) - TS, JS
* [Bitcoin XPUB Converter](https://github.com/jlopp/xpub-converter) - JS
* [BtcPayServer](https://github.com/btcpayserver/btcpayserver/issues) - C#, Shell
* [Blue Wallet](https://github.com/bluewallet/bluewallet) - TS, JS
* [Electrum](https://github.com/spesmilo/electrum) - Python
* [Fedimint](https://github.com/fedimint/fedimint/issues) - Rust, Shell
* [LNDHub](https://github.com/BlueWallet/LndHub) - JS
* [Polar](https://github.com/jamaljsr/polar/issues) - Typescript, Docker
* [React Native LDK](https://github.com/BlueWallet/rn-ldk) - C++
* [Samourai wallet](https://code.samourai.io/wallet) - Kotlin, Java
* [Wasabi](https://github.com/zkSNACKs/WalletWasabi/issues) - C#
* [Phoenix](https://github.com/ACINQ/phoenix) - C
* [Eclair](https://github.com/ACINQ/eclair) - Scala
* [Lightning Kotlin Multiplatform](https://github.com/ACINQ/lightning-kmp) -Kotlin
* [Btcd](https://github.com/btcsuite/btcd) - Go
* [Lightning Loop](https://github.com/lightninglabs/loop) - Go
* [RTL](https://github.com/Ride-The-Lightning/RTL) - JS, TS
* [RGB](https://github.com/RGB-WG/rgb) - Rust
* [Mempool](https://github.com/mempool/mempool) - TS
* [Element Projects](https://github.com/elementsproject/elements) - C++, Python
* [Pyblock](https://github.com/curly60e/pyblock) - Python
* [Bitcoinj](https://github.com/bitcoinj/bitcoinj) - Java
* [Bitbox Wallet App](https://github.com/digitalbitbox/bitbox-wallet-app) - GO, TS
* [Trezor firmware](https://github.com/trezor/trezor-firmware) - Python, C
* [JoinMarket](https://github.com/JoinMarket-Org/joinmarket-clientserver) - Python
* [Elements Lightning](https://github.com/ElementsProject/lightning) - C, Python
* [Lightning Pool](https://github.com/lightninglabs/pool) - GO
* [Warden Terminal](https://github.com/pxsocs/warden_terminal) - Python, TS
* [Robosats](https://github.com/RoboSats/robosats) - Python
* [JoinMarket WebUI](https://github.com/joinmarket-webui/jam/) - TS
* [Thunderhub](https://github.com/apotdevin/thunderhub) - TS

***

## Developer Tools

| Link                                                                                                                       | Notes                                                                                  |
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [Onboarding to Bitcoin Core](https://obc.256k1.dev/)                                                                       | GitHub repository: [link](https://github.com/chaincodelabs/onboarding-to-bitcoin-core) |
| [LND developer resources](https://docs.lightning.engineering/)                                                             |                                                                                        |
| [C-Lightning documentation](https://lightning.readthedocs.io/)                                                             | Including information on how to write and use custom plugins in any language           |
| [Bitcoin Programming with BitcoinJS, Bitcoin Core and LND](https://bitcoinjs-guide.bitcoin-studio.com/bitcoinjs-guide/v5/) |                                                                                        |

***

## Writing

### Articles

Writing is one of the cornerstones of the Btrust Builders program. One benefit is that it can help make your learning process more effective by forcing you to think about the subject in more depth. Another benefit is that it contributes to your online portfolio. A good article is a valuable digital artifact that can help you get better exposure to employers, or to the industry in general. [This guide](https://pathways.btrust.tech/resource-hub/writing-guidelines) contains information and tips on how to write better articles and get more out of your time spent on writing.

### Technical Writing

As a SW engineer, you'll have to do quite a bit of technical writing. Technical writing is hard and not something most of us get taught, but doing it well makes all the difference to the reader and can really make your material stand out. If your project is kick ass but people struggle to understand or use it, is it really kick ass?

| **Link**                                                                   | **Notes**                                |
| -------------------------------------------------------------------------- | ---------------------------------------- |
| [Google tech writing](https://developers.google.com/tech-writing/overview) | Technical writing for software engineers |

## Articles

[bitcoin-resources.com](https://bitcoin-resources.com/articles/) has collected a great list of articles covering a broad range of subject areas in and around bitcoin.

In addition to this (and possibly with some overlap) some additional articles and resources are provided below.

### Technical

| **Name**                                                                                                                                                 | **Author** |
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| [Bitcoin Optech](https://bitcoinops.org/en/topics/)                                                                                                      | Various    |
| [Bitcoin StackExchange](https://bitcoin.stackexchange.com/)                                                                                              | Various    |
| [From scratch tour of bitcoin in python](https://karpathy.github.io/2021/06/21/blockchain/)                                                              | Karpathy   |
| [Bitcoin script 101](https://bitcoindev.network/bitcoin-script-101/)                                                                                     | Grokchain  |
| [Bitcoins the hard way: Using the raw bitcoin protocol](https://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html)                         | Shirriff   |
| [Upgrade path to post-quantum](https://gist.github.com/harding/bfd094ab488fd3932df59452e5ec753f)                                                         | Ruffing    |
| [Taproot is coming. What is it and how will it benefit us](https://bitcoinmagazine.com/technical/taproot-coming-what-it-and-how-it-will-benefit-bitcoin) | Van Wirdum |
| [Using BDK to create BIP157 SPV wallet (aka Neutrino)](https://bitcoindevkit.org/blog/2021/06/using-bdk-to-create-bip157-spv-wallet-aka-neutrino/)       | Maitra     |
| [Soft fork activation](https://deploy-preview-531--bitcoinops.netlify.app/en/topics/soft-fork-activation/)                                               | Various    |
| [Timelocks in a nutshell](https://medium.com/@RobinHung/bitcoin-timelocks-in-a-nutshell-4c95aafc7a59)                                                    | Hung       |
| [SPV node assumptions](https://www.reddit.com/r/BitcoinBeginners/comments/3eq3y7/full_node_question/ctk4lnd/)                                            | Wuille     |
| [Understanding the block header](https://medium.com/fcats-blockchain-incubator/understanding-the-bitcoin-blockchain-header-a2b0db06b515)                 | Rybarczyk  |
| [Why is it taking 20 minutes to mine this block?](https://r6.ca/blog/20180225T160548Z.html)                                                              | O'Connor   |
| [Compact Block Filters Deep Dive](https://bitcoin-dev.blog/blog/bip158-deep-dive/)                                                                       | Mouton     |
| [Schnorr Basics](https://bitcoin-dev.blog/blog/schnorr-basics/)                                                                                          | Rosenbaum  |
| [Compact Block Filters (BIP158) deep dive](https://ellemouton.com/posts/bip158/)                                                                         | Mouton     |

### Economics

| **Name**                                                                                                                                   | **Author**      |
| ------------------------------------------------------------------------------------------------------------------------------------------ | --------------- |
| [Why Bitcoin](https://medium.com/@wiz/why-bitcoin-359ada12629e)                                                                            | Wiz             |
| [Cryptoeconomics](https://github.com/libbitcoin/libbitcoin-system/wiki/Cryptoeconomics)                                                    | Voskuil et. al. |
| [ASICs and decentralization](https://download.wpsoftware.net/bitcoin/asic-faq.pdf)                                                         | Poelstra        |
| [The bullish case for bitcoin](https://vijayboyapati.medium.com/the-bullish-case-for-bitcoin-6ecc8bdecc1)                                  | Boyapati        |
| [Shelling out: The origins of money](https://nakamotoinstitute.org/shelling-out/)                                                          | Szabo           |
| [Bitcoin for safety](https://jameso.be/2019/08/24/bitcoin-is-for-this.html)                                                                | O’Beirne        |
| [Check your financial privilege](https://bitcoinmagazine.com/culture/check-your-financial-privilege)                                       | Gladstein       |
| [The monetary case for bitcoin](https://medium.com/coinmonks/the-monetary-case-for-bitcoin-778cd51ff272)                                   | Kaufman         |
| [Bitcoin is time](https://dergigi.com/2021/01/14/bitcoin-is-time/)                                                                         | Gigi            |
| [Masters and slaves of Money](https://breedlove22.medium.com/masters-and-slaves-of-money-255ecc93404f)                                     | Breedlove       |
| [Reject Nocoiner orthodoxy](https://elaineou.com/2018/10/10/reject-nocoiner-orthodoxy/)                                                    | Ou              |
| [Financial freedom in the post-cash world](https://www.cato.org/cato-journal/spring/summer-2021/financial-freedom-privacy-post-cash-world) | Gladstein       |
| [Fighting monetary colonialism](https://bitcoinmagazine.com/culture/bitcoin-a-currency-of-decolonization)                                  | Gladstein       |
| [The humanitarian case for Bitcoin](https://bitcoinmagazine.com/culture/bitcoin-is-humanitarian-and-environmental)                         | Gladstein       |
| [Bitcoin is a trojan horse for freedom](https://bitcoinmagazine.com/culture/bitcoin-is-a-trojan-horse-for-freedom)                         | Gladstein       |

### Energy

| **Name**                                                                                                                                                                   | **Author** |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| [End the FUD](https://endthefud.org/)                                                                                                                                      | Various    |
| [The hidden costs of the petrodollar](https://bitcoinmagazine.com/culture/the-hidden-costs-of-the-petrodollar)                                                             | Gladstein  |
| [Nic Carter archive](https://niccarter.info/)                                                                                                                              | Carter     |
| [Jack Dorsey says Bitcoin can make the world greener. Is he right?](https://nymag.com/intelligencer/2021/05/jack-dorsey-says-bitcoin-is-climate-friendly-is-he-right.html) | Wieczner   |
| [Bitcoin does not waste energy](https://unchained.com/blog/bitcoin-does-not-waste-energy/)                                                                                 | Lewis      |
| [Bitcoin is not backed by nothing](https://unchained.com/blog/bitcoin-is-not-backed-by-nothing/)                                                                           | Lewis      |

### Lightning

| **Name**                                                                                                                           | **Author**               |
| ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| [Lightning Network - Fundamental Limitations](http://www.truthcoin.info/blog/lightning-limitations/)                               | Truthcoin (Paul Sztorc)  |
| [How Lightning Actually Works](https://www.youtube.com/watch?v=yKdK-7AtAMQ)                                                        | Curious Inventor (Video) |
| [Bitcoin and lightning Transactions & Protocol Deep Dive](https://youtu.be/to8XItlplac)                                            | Curious Inventor (Video) |
| [Shortcomings of the Lightning Network](https://stacker.news/items/26339) May-2022                                                 | @nout                    |
| [Async lightning payment recieving (with LSP)](https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-October/003307.html) | Corallo                  |
| [Creating a channel](https://ellemouton.com/posts/creating-a-channel/)                                                             | Mouton                   |
| [Updating state](https://ellemouton.com/posts/updating-state/)                                                                     | Mouton                   |
| [Revocation in more detail](https://ellemouton.com/posts/revocation/)                                                              | Mouton                   |
| [HTLC overview](https://ellemouton.com/posts/htlc/)                                                                                | Mouton                   |
| [HTLC deep dive](https://ellemouton.com/posts/htlc-deep-dive/)                                                                     | Mouton                   |

### Culture

| **Name**                                                                                                                                                                              | **Author**       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| [In defense of Bitcoin Maximalism](https://vitalik.ca/general/2022/04/01/maximalist.html)                                                                                             | Vitalik Buterin  |
| [Various topics](https://dergigi.com/words/)                                                                                                                                          | Gigi             |
| [The Bitcoin Library](https://casebitcoin.com/library)                                                                                                                                | Various          |
| [Who controls Bitcoin Core](https://blog.lopp.net/who-controls-bitcoin-core-/)                                                                                                        | Lopp             |
| [Bitcoinstrings.com (OP\_RETURN)](https://bitcoinstrings.com/)                                                                                                                        | Anduck           |
| [Books recommended by Bitcoiners](https://www.bitcoinerbooks.com/)                                                                                                                    | Various          |
| [Search Bitcoin Stack Exchange](https://bitcoin.stackexchange.com/search?q=%s)                                                                                                        | Various          |
| [Freelancing platforms which pay in Bitcoin](https://cointastical.medium.com/freelancing-platforms-which-pay-in-bitcoin-e38be56166df)                                                 | Various          |
| [True names not required](https://dergigi.com/2020/07/21/true-names-not-required/)                                                                                                    | Gigi             |
| [I AM HODLING](https://bitcointalk.org/index.php?topic=375643.0)                                                                                                                      | GameKyuubi       |
| [The History of the Mt Gox Hack: Bitcoin’s Biggest Heist](https://blockonomi.com/mt-gox-hack/)                                                                                        | Norry            |
| [The Rise and Fall of Mt. Gox](https://darknetdiaries.com/episode/9/) (Podcast, [transcript](https://darknetdiaries.com/transcript/9/))                                               | Darknet Diaries  |
| [The Blocksize War – Chapter 1 – First Strike](https://blog.bitmex.com/the-blocksize-war-chapter-1-first-strike/)                                                                     | Bier/BitMex      |
| [MtGox investigation update and preliminary release](https://blog.wizsec.jp/2015/02/mtgox-investigation-release.html)                                                                 | Wiz              |
| [Dr Bitcoin - The Man Who Wasn't Satoshi Nakamoto](https://anchor.fm/dr-bitcoin) (Podcast)                                                                                            | CONTENT:ED Audio |
| [The Craig Wright May 2016 Signing Sessions Debacle, In Full Context](https://mylegacykit.medium.com/the-craig-wright-may-2016-signing-sessions-debacle-in-full-context-338e2b316310) | MyLegacyKit      |
| [Private Presentations Aren't Proof](https://blog.wizsec.jp/2021/07/ppap.html)                                                                                                        | Wiz              |

## Cryptography

| **Name**                                                                                                                                                                                                             | **Author** |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| [ROAST is an async. protocol that makes t-of-n FROST signing robust: t honest signers can produce a Schnorr signature even if other signers disrupt.](https://twitter.com/real_or_random/status/1523964246945636352) | Ruffing    |
| [Practical Cryptography for Developers](https://cryptobook.nakov.com/)                                                                                                                                               | Nakov      |

In a Bitcoin context the chapters from Practical Cryptography for Developers (PCfD) on [Digital Signatures](https://cryptobook.nakov.com/digital-signatures) and specifically [ECDSA Signatures](https://cryptobook.nakov.com/digital-signatures/ecdsa-sign-verify-messages) are well-worth reading, as is the chapter on [Hash Functions](https://cryptobook.nakov.com/cryptographic-hash-functions).

In a lightning context, and in addition to the above, its worth also reading the [MAC and Key Derivation](https://cryptobook.nakov.com/mac-and-key-derivation) and [ECDH Key Exchange](https://cryptobook.nakov.com/asymmetric-key-ciphers/ecdh-key-exchange) chapters from PCfD, both of which are used as [part](https://github.com/lightning/bolts/blob/master/08-transport.md#cryptographic-messaging-overview) of the encrypted transport layer.

## Learning Resources

* [Mastering Bitcoin](https://github.com/bitcoinbook/bitcoinbook) - Andreas M. Antonopoulos
* [How Bitcoin Works](https://www.lopp.net/bitcoin-information.html) - Jameson Lopp
* [Bitcoin Developer Guide](https://developer.bitcoin.org/) - Bitcoin.org
* [Learning Bitcoin from the Cli](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line) - Christopher Allen and Shannon Appelcline
* [Understanding the Lightning Network](https://bitcoinmagazine.com/technical/understanding-the-lightning-network-part-building-a-bidirectional-payment-channel-1464710791) - Aaron van Wirdum
* [Bitcoin OPCODES](https://en.bitcoin.it/wiki/Script) - Wiki
* [A Gentle Introduction to Bitcoin development](https://programmingblockchain.gitbook.io/programmingblockchain/) - Gitbook
* [Bitcoin Addresses prefix](https://en.bitcoin.it/wiki/List_of_address_prefixes) - Wiki
* [Curated technical and Non technical articles for developers](https://bitcoinmagazine.com/tags/developers) - Bitcoin Magazine
* [LND](https://dev.lightning.community/overview/) - LND Documentation
* [BITCOIN FOR DEVELOPERS](https://learn.saylor.org/course/CS120) - Saylor.org

#### **Miniscript**

* [Understanding Miniscript](https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-August/017270.html) - Peter Weille
* [Miniscript](https://bitcoin.sipa.be/miniscript/)- Peter Weille
* [Miniscript Workshop](https://github.com/apoelstra/miniscript-workshop) - Andrew Polster

#### **Taproot**

* [Taproot Workshop](https://github.com/bitcoinops/taproot-workshop) - Bitcoinops
* [Optech Taproot Workshop](https://bitcoinops.org/en/schorr-taproot-workshop/) - Bitcoinops

#### **SegWit**

* [Benefits of SEGWIT](https://en.bitcoin.it/wiki/Segregated_Witness#Benefits) - Bitcoin Wiki
* [BIP 141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki) - Eric Lombrozo, Johnson Lau and Pieter Wuille

#### Open Source

* [How to Contribute to Open Source Project](https://opensource.guide/how-to-contribute/) - Open Source Guide
* [Contributing to Bitcoin - tips and tricks](https://danielabrozzoni.com/posts/contributing_to_oss/) - Daniela Brozzoni
* [Bitcoin Core Onboarding](https://bitcoincore.academy/) - Will Clark
* [A Gentle Introduction to Bitcoin Core Development](https://medium.com/bitcoin-tech-talk/a-gentle-introduction-to-bitcoin-core-development-fdc95eaee6b8) - Jimmy Song
* [Onboarding to Bitcoin Core](https://medium.com/@amitiu/onboarding-to-bitcoin-core-7c1a83b20365)- Amiti Uttarwar
