The Hook
A real Bitcoin transaction, before you know anything. By the end of this course you'll understand every field.
Welcome
You don't need to understand it yet.
This module is not an explanation — it's a provocation. We're going to look at a real Bitcoin transaction right now. Most fields will look strange. That's the point.
What this course is
- A technical course about how blockchains actually work — not a hype course.
- Built for developers who know Node.js and TypeScript.
- Three parts: Bitcoin foundations, public DApps (Ethereum / Solidity), enterprise blockchains.
- Every module ends with a hands-on exercise you can run on your machine.
What this course is NOT
- An investment course. We do not discuss "going to the moon".
- An NFT speculation guide.
- A beginner programming course — you must know JavaScript.
By module 3 you will have implemented a functioning cryptocurrency in Node.js, using the same cryptographic primitives Bitcoin uses.
Your First Bitcoin Transaction
This is a real transaction that moved Bitcoin on the main network. Every field shown here was verified by the entire Bitcoin network:
4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
COINBASE
1A1zP1eP5QGe...Uk1osKAHB
Try it yourself
Go to mempool.space and paste any transaction hash. Everything you see there is public, immutable, and cryptographically verified.
Your questions (write them down)
- Who controls those Bitcoin addresses? Could anyone own them?
- What stops someone from spending Bitcoin they don't have?
- If there's no bank, who verified this transaction?
- Why is it irreversible?
Transaction Anatomy
Every field in a Bitcoin transaction has a specific job. Here's the bird's-eye view — we'll go deep on each one later.
VersionInputsOutputsLocktimeWitness (SegWit)The UTXO Model
Bitcoin doesn't have "accounts" with balances. Instead it has Unspent Transaction Outputs — discrete coin objects. To spend 0.3 BTC you consume one or more UTXOs that total at least 0.3 BTC, then create new UTXOs: one for your target, one back to yourself as change.
Locking & Unlocking Scripts
Each output has a locking script (scriptPubKey) that sets conditions for spending. The corresponding input must provide an unlocking script (scriptSig / witness) that satisfies those conditions.
Block Anatomy
Transactions are grouped into blocks. Each block is sealed with a header. The header is the piece that makes the chain.
0000000000000000...
Hash of the preceding block's header. For the genesis block this is all zeros — there is no previous block. Every subsequent block links back through this field.
4a5e1e4baab89f3a...
A single hash that summarises all transactions in the block. Tamper with one transaction, the root changes.
1231006505
Unix time when the miner started hashing this block.
0x1d00ffff
Compact encoding of the difficulty target. The block hash must be below this value.
2083236893
A 32-bit number miners increment billions of times per second searching for a valid hash.
4a5e1e4b... — coinbase (50 BTC)The chain
Each block contains the hash of the previous block. Altering a block changes its hash, breaking the link to the next block, which would then need to be re-mined — and the one after, and the one after. The longest chain always wins.
The Central Question
How does the network know Mehdi actually owns those coins?
There is no bank. No trusted server. No account database. Just thousands of anonymous computers, each holding a copy of the same ledger.
The answers involve three ideas you'll master in Part 1:
Asymmetric Cryptography
A private key that only Mehdi knows, and a public address anyone can verify against.
Digital Signatures
A mathematical proof that cannot be forged without the private key — attached to every transaction.
Distributed Consensus
A protocol that lets thousands of strangers agree on one truth without trusting each other.
If someone offered you 1 BTC if you could counterfeit a transaction, you would need to solve a problem that would take the computing power of all CPUs on Earth thousands of years to crack. That's Proof of Work. That's Module 4.
Your Roadmap
Part 1 — Bitcoin Foundations
Modules 0 – 5Why Bitcoin was invented, how the cryptography works, build a cryptocurrency step by step in Node.js.
Part 2 — Smart Contracts & DApps
Modules 6 – 14Ethereum EVM, Solidity, Hardhat v3, viem, full DApp with MetaMask, security, Layer 2.
Part 3 — Enterprise Blockchains
Modules 15 – 19Why permissioned networks, Hyperledger Besu hands-on (same Solidity!), Fabric conceptually.
After Part 2, your ERC-20 token will be a real cryptocurrency running on a global network. The same ScroogeCoin you built in Node.js in Module 3 — but unstoppable.
Prerequisites & Setup
You need to know
- JavaScript / TypeScript — async/await, classes, modules
- Node.js — npm, running scripts, require/import
- Basic command line — cd, mkdir, running commands
- Git — clone, commit, push
Helpful but not required
- HTTP protocol basics
- Any backend framework experience
- Some cryptography curiosity
Install now (Part 1 & 2)
Hardhat, Foundry, and Docker are installed during the relevant modules — you don't need them now.