Skip to main content

Goal

This project tests your ability to:
  • Operate and script around a Bitcoin Core node
  • Manage wallets and UTXOs
  • Create, sign, and broadcast raw transactions
  • Work entirely from the command line or via a scripting language

Project specification

Your tool (Bash, Python, or any CLI language) should do the following:

Start a Bitcoin node in regtest mode

Check if bitcoind is already running. If not, start it with:

Generate 101 blocks

Create a wallet and a miner address:
Mine 101 blocks to unlock coinbase outputs:

Send bitcoin to 2 new addresses

Generate two new recipient addresses:
Send 0.25 BTC to each. This needs fallbackfee=0.0001 in bitcoin.conf:

Confirm the transaction

Mine 1 block:

Output full raw transaction

Retrieve and decode the transaction:

Success criteria

Your tool must:
  • Be runnable from a single command or script
  • Wallet balance before and after TX
  • The full transaction hex
  • The decoded transaction JSON
  • Handle errors gracefully (e.g. wallet already exists)
  • Bonus
Add logging and cleanup:
  • Create a log file with all steps and timestamps
  • Allow user to reset the regtest chain (stop, clear, restart)
  • Example
Capstone Start: Initializing Regtest Node… Node running Wallet ‘capstone’ created Mined 101 blocks Sending 0.25 BTC to two new addresses TXID: a6c1f…89 Mined confirmation block 🔍 Raw Transaction:
🔍 Decoded Transaction: