Bitcoin Developer Basics
Base58’s flagship Bitcoin Developer Basiscs course. Get a hands-on view of raw transaction data, bitcoin Script, secp256k1, ECDSA, and sighashes. We cover both legacy and segwit in this class.
Base58’s flagship Bitcoin Developer Basics course gives you an in-depth intro to the bitcoin protocol. Our class will get you comfortable with the bitcoin-cli and command line interfaces. No prior experience required, but some understanding of bytes and encodings will be extremely helpful.
Here’s a quick overview of the topics we’ll cover.
- Intro to bitcoin transactions: What is a transaction? Specifically, what fields do they contain? We learn how to calculate a transaction id and what transaction fees are, and how are they calculated. Finally, we’ll talk about coinbases and block rewards.
- Intro to Script: Let’s learn about Bitcoin’s native “programming language”: Script! We’ll write our own script this week (and learn about hashes and preimages). Once we’ve written a script we’ll try locking some bitcoins up to it, as well as unlocking them.
- SegWit: Now that we’ve seen how transactions are constructed and built, time to introduce the bitcoin omnibus update bill, the SegWit soft-fork. SegWit impacted the structure of a transaction and its fee calculations, so we’ll dive into how these updates work and two of the ‘new’ SegWit script types: P2WSH and P2SH-P2WSH.
- secp256k1: We’re halfway through class, it’s about time we introduced cryptography. Time to start building an understanding of elliptic curves over a finite field and looking at bitcoin’s secp256k1 curve parameters. Then we’ll pick a private key and derive a public key. Finally we’ll make our first signed transactions.
- ECDSA: Signing transactions is actually a bit complicated. We’ll talk about the ECDSA and walk through how a private key produces signatures for a transaction.
- SIGHASH: How to bitcoin transactions turn into signatures? We’ll go deep into how sighash flags work.
- Multisigs: This is the last topic of the course class. We’ll cover multisig transactions and the OP_CHECKMULTISIG opcode.
Exercises in this class will be in Python, using Replit.
What to know before class (pre-requisites)
- Strongly Recommended: nifty’s 1.5h class on Encodings and Endianness. These are really core topics that we’ll use the first day of the class (and every class).
- Strongly Recommended: The Intro to Wire Protocols Replit
- Strongly Recommended: Andreas Antonopoulos’ classic book, Mastering Bitcoin.
Feeling motivated? We've got self-paced online classes
Let's goo! Sign up for one of our self-paced online courses today and get your journey into bitcoin started without delay.