Mastering Bitcoin Core from the Command Line
A hands-on course teaching developers how to use bitcoind, bitcoin-cli, and regtest to build, test, and simulate Bitcoin applications using Bitcoin Core.
Last updated 05/2025
Run your own Bitcoin Core node with confidence, learning how to set up, configure, and maintain a secure and efficient local or testnet environment.
Leverage regtest to create isolated Bitcoin networks, mine blocks instantly, and test apps safely without risking real funds.
Create and manage wallets and addresses (Bech32, legacy) while understanding their differences and practical use cases in your apps.
Build, sign, and broadcast raw Bitcoin transactions directly from the command line, giving you full control over UTXO selection and fees.
Explore and inspect blockchain data, UTXOs, mempool state, and block details using precise commands to debug and monitor Bitcoin activity.
Write Bash or Python scripts to automate regtest environments and Bitcoin workflows, making your development and testing seamless.
Course Modules8 modules . 1h 25m total length
Module 1: Installing & Running Bitcoin Core

- Downloading from official sources
- Verifying binary signatures (optional)
- Setting up bitcoin.conf for regtest or testnet
- Running bitcoind as a daemon
- Basic node health checks
Module 2: Bitcoin Core Architecture

- What is a full node?
- bitcoind vs bitcoin-cli
- Datadir, blocks, mempool, wallets
- Permissioning and RPC ports
Module 3: Wallets and Addresses in Bitcoin Core

- Creating and loading wallets
- Generating new addresses
- Watching vs active wallets
- Bech32 and legacy formats
- Labeling addresses
Module 4: Using Regtest to Simulate Bitcoin

- Why regtest matters
- Setting up a fully isolated Bitcoin environment
- Mining blocks instantly
- Sending transactions instantly
Module 5: Transactions and UTXO Control

- UTXO model explained using listunspent
- Funding transactions manually
- Creating, signing, broadcasting raw transactions
- Decoding transactions with decoderawtransaction
Module 6: Blocks and Blockchain State

- Reading block data with getblock, getblockheader, getchaintips
- Chain re-orgs in regtest
- Understanding confirmations and depth
- Inspecting mempool transactions
Module 7: Working with Bitcoin RPC

- Using bitcoin-cli vs curl RPC calls
- Reading/writing raw JSON requests
- Authentication (cookie, rpcuser)
- Securing RPC on real nodes
Module 8: Developing with Bitcoin Core Locally

- Building testing environments for apps using regtest
- Writing integration scripts in Bash, Python
- Mocking confirmations and network events
- Production notes: when to use a pruned node, when to separate wallet/node
Capstone ProjectYou will create a command-line tool that:
Spins up a regtest node
Mines 101 blocks instantly
Creates a wallet and sends Bitcoin to two addresses
Confirms the transaction
Outputs the full transaction hex and decoded data
Final Quiz + CompletionYou will create a command-line tool that:
15–20 technical questions to test your knowledge
3 scenario challenges to apply what you’ve learned (e.g. “What happens if you send a tx with 0 fee on regtest?”)
Completion OutcomeBy the end of this course, you’ll be able to:
Operate and inspect Bitcoin Core via CLI with confidence.
Simulate Bitcoin payments safely in regtest.
Build, sign, and broadcast raw transactions manually.
Use regtest as a sandbox for developing Bitcoin apps.