Experience Base58's

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.

Bitcoin Developer Basics

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)

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.