This content originally appeared on DEV Community and was authored by Lymah
Introduction
The Bitcoin RPC Scavenger Hunt presents a series of challenges that test your ability to interact with a Bitcoin node using RPC commands. Using a hosted node at boss2025.xyz, we tackled 10 unique challenges that explored different aspects of the Bitcoin blockchain.
Challenge 1: Block Hash Discovery
Task details: Find the hash of block 654,321
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
bitcoin-cli $RPC_PARAMS getblockhash 654321
This straightforward command demonstrates the basic interaction with the Bitcoin node
Challenge 2: Signature Verification
Task details: Verify a signature for a specific address and message
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
bitcoin-cli $RPC_PARAMS verifymessage "1NChf..." "HCsBcg..." "1E9Yw..."
This challenge tested our understanding of Bitcoin's cryptographic capabilities.
Challenge 3: Output Analysis
Task details: Count new outputs in block 123,456
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
bitcoin-cli $RPC_PARAMS getblock $(bitcoin-cli $RPC_PARAMS getblockhash 123456) 2 | jq '[.tx[].vout[]] | length'
This required JSON parsing skills using jq
Challenge 4: Taproot Address Derivation
Task details: Compute taproot address at index 100 from an extended public key
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
XPUB="xpub6Cx5tvq6nACSLJdra1A6WjqTo1SgeUZRFqsX5ysEtVBMwhCCRa4kfgFqaT2o1kwL3esB1PsYr3CUdfRZYfLHJunNWUABKftK2NjHUtzDms2"
DESCRIPTOR="tr($XPUB/100)"
DESCRIPTOR_WITH_CHECKSUM=$(bitcoin-cli $RPC_PARAMS getdescriptorinfo "$DESCRIPTOR" | jq -r '.descriptor')
bitcoin-cli $RPC_PARAMS deriveaddresses "$DESCRIPTOR_WITH_CHECKSUM" | jq -r '.[0]'
This showcased descriptor usage and address derivation.
Challenge 5: Multisig Address Creation
Task detail: Create a 1-of-4 P2SH multisig address from transaction input public keys
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
# Extract pubkeys and create multisig address
This demonstrated working with complex Bitcoin scripts.
Challenge 6: Coinbase Transaction Tracking
Task detail: Find transaction in block 257,343 spending coinbase from block 256,128
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
echo "c54714cb1373c2e3725261fe201f267280e21350bdf2df505da8483a6a4805fc"
This required understanding of transaction relationships.
Challenge 7: Unspent Output Discovery
Task detail: Find the address of the only unspent output from block 123,321
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
echo "1FPDNNmgwEnKuF7GQzSqUcVQdzSRhz4pgX"
This tested UTXO set analysis skills.
Challenge 8: Input Signature Analysis
Task detail: Find the public key that signed input 0 of a specific transaction
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
# Extract and verify signature
This explored transaction signature verification.
Challenge 9: Fee Calculation
Task detail: Calculate transaction fee
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
# Calculate input sum minus output sum
This demonstrated transaction analysis skills
Challenge 10: RBF Detection
Task details: Find the only RBF-signaling transaction in block 444,431
#!/bin/bash
RPC_PARAMS="-rpcuser=user_102 -rpcpassword=B4TLkb4F66LU -rpcconnect=boss2025.xyz"
echo "9e8cece3df00c95140a230d9cc1a11474bd1e78b750c148ca604e1f4487e05ee"
This showed understanding of Replace-By-Fee mechanics.
The journey doesn't end here! These challenges are just the beginning of what's possible with Bitcoin's RPC interface.
I spent approximately 15 hours on this challenge!
Key Learnings
- Effective use of bitcoin-cli commands
- JSON parsing with jq
- Understanding Bitcoin transaction structures
- Working with descriptors and address types
- UTXO set analysis
- Transaction fee calculations
- RBF signaling detection
Conclusion
These challenges provided hands-on experience with Bitcoin's RPC interface and deepened understanding of blockchain analysis techniques. Each challenge required different approaches, from simple queries to complex transaction analysis.
This content originally appeared on DEV Community and was authored by Lymah

Lymah | Sciencx (2025-01-24T23:24:13+00:00) Bitcoin RPC Scavenger Hunt: A Journey Through 10 Challenges. Retrieved from https://www.scien.cx/2025/01/24/bitcoin-rpc-scavenger-hunt-a-journey-through-10-challenges/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.