Bitcoin Core (bitcoind + bitcoin-cli) is the reference full node. Most serious backends either run it or carefully justify an alternative.
Why this matters
RPC is how you mine regtest blocks, fund addresses, inspect mempools, and import descriptors. Misconfigured RPC is also how servers get drained.
Analogy
bitcoind is the engine; RPC is the instrument cluster and ignition keyed to authorized operators. Never bolt the ignition onto the public internet.
Essential workflow
bitcoind -regtest -daemon
bitcoin-cli -regtest getblockchaininfo
bitcoin-cli -regtest createwallet "dev"
bitcoin-cli -regtest getnewaddress
bitcoin-cli -regtest generatetoaddress 101 <address>Loading diagram…
Useful call families
- Blockchain:
getblock,getrawtransaction - Mempool:
getmempoolentry,estimatesmartfee - Wallet:
sendtoaddress,importdescriptors, PSBT RPCs
Common mistakes
- Using one wallet for experiments and savings
- Forgetting
-regtestand talking to the wrong chain - Parsing RPC errors poorly and retrying unsafe sends
Worked mental model
Re-read the diagrams in this lesson once out loud in plain language. If you cannot explain the flow to a friend without jargon, pause and revisit Mastering Bitcoin / Mastering Lightning chapters linked in Resources. Chapter references are intentional, not decorative.
Hands-on habit
Every protocol idea should be paired with one local experiment:
- Reproduce the happy path on regtest (or Polar for Lightning)
- Break it on purpose (wrong fee, expired invoice, offline peer)
- Write down what error you saw and which layer produced it (wallet, node, mempool, peer)
That habit turns reading into builder instinct.
Glossary check
Pick three terms from this lesson and define them in one sentence each without opening notes. Weak definitions mean the lesson is not finished yet.
Resource order
Use Resources in order: narrative book chapter first, then BIP/BOLT for precision, then implementation docs for commands. Jumping straight to RPC flags without the mental model creates brittle knowledge.
Next steps
Automate regtest in Docker and CI so protocol tests become routine.