Getting Non-Wallet Transactions from Ethereum Using bitcoin-rpc
As you’re exploring the Bitcoin protocol with Bitcoin-Qt
, you can leverage its API, specifically bitcoin-rpc
, to fetch non-wallet transactions. In this article, we’ll walk through the process of fetching all transactions in a specific block and then extracting information about them.
Prerequisites
Before proceeding, ensure you have:
- Bitcoin-Qt installed on your system.
- A working connection to the Ethereum network (you can use
bitcoin-rpc
‘s built-in client or external tools likegeth
).
Fetching All Blocks and Transactions
To get all blocks and their transactions, you can use a loop that continuously calls getblockchaininfo
with the raw
parameter set to 1
. This will retrieve a list of blocks in JSON format.
import bitcoinrpc
def get_blocks_and_transactions():
rpc = bitcoinrpc.RPC()
block_info = rpc.getblockchaininfo([1000])

fetch the first 1000 blocks
for block in block_info['blocks']:
print(f"Block {block['hash']}:")
for tx in block['transactions']:
print(tx['hex'])
This code will output a list of transactions associated with each block.
Fetching Non-Wallet Transactions
To get non-wallet (i.e., publicly available) transactions, you need to fetch them using the gettransaction
RPC call. This method is more complex because it requires interacting directly with the Ethereum network.
Here’s an example implementation in Python:
import bitcoinrpc
def get_non_wallet_transactions(block_hash):
rpc = bitcoinrpc.RPC()
tx_list = []
for i in range(1, 100):
fetch up to 99 transactions for demonstration purposes
try:
transaction = rpc.gettransaction(block_hash, i)['transaction']['hex']
if 'from' not in transaction:
non-wallet transactions don't have a 'from' address
tx_list.append(transaction)
except Exception as e:
print(f"Error fetching transaction {i}: {e}")
return tx_list
Example usage
block_hash = "your_block_hash_here"
non_wallet_txs = get_non_wallet_transactions(block_hash)
for tx in non_wallet_txs:
print(tx)
This code fetches up to 99 transactions for each block and prints them.
Important Considerations
When working with bitcoin-rpc
, keep the following in mind:
- The
gettransaction
method returns a list of transaction objects, which contain information likefrom
,to
,value
, etc.
- Non-wallet transactions typically don’t have a ‘from’ address or other publicly available details. Therefore, this example will only fetch non-wallet transactions that are directly linked to the specified block hash.
Please note that these examples demonstrate basic usage of bitcoin-rpc
and may require adjustments based on your specific requirements. Also, be aware that interacting with the Ethereum network can be resource-intensive; always ensure you have sufficient connections or consider using more efficient methods like caching or pagination for large datasets.
Leave a Reply