I am working through mastering bitcoin. I am confused by
getrawtransaction. I would like to look at the first transaction in block
from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException # rpc_user and rpc_password are set in the bitcoin.conf file p = AuthServiceProxy("http://%s:%firstname.lastname@example.org:8332"%(username, pw)) # look at specific block blockheight = 277316 # get the hash of that block block_hash = p.getblockhash(277316) # get the block block = p.getblock(block_hash) # get the transactions in the block transactions = block['tx'] first_transaction = transactions print p.getrawtransaction(first_transaction)
Gives this error:
bitcoinrpc.authproxy.JSONRPCException: -5: No such mempool transaction. Use -txindex to enable blockchain transaction queries. Use gettransaction for wallet transactions.
It seems like it only wants to look in the
mempool. How do I use the
-txindex parameter it suggests?
If I run the below code, it works fine. This is also a transaction from the same block (64th transaction) and clearly not in the mempool. What is the difference between this and the how I get the transaction id in the above code?