I run a 0-confirmation tool. To track new transactions I use:
- bitcoind getrawmempool
- new transactions in new block not available in mempool (it seems I do not receive all transactions in mempool before my client accepts a new block)
I trust my bitcoin client transaction verification process (protocol rules). (I expect it to do all the steps in: https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages)
I expect I do not have the guarantee the client/person who created the new block has followed the protocol rules for the included transactions, so I want to check the 'missing' transaction from my mempool.
I know 6 confirmations is expected to be 'safe', but I would like to do a 0-confirmation (or 1-confirmation concerning a new block) as safe as possible.
1: Is every transaction checked by my bitcoind client before accepting a new block (local)? (to be sure every transaction available in mempool and blockchain of my (official) client meet the protocol rules)
2: If 1. is not true: What bitcoind API, or (python) program is available to verify transactions included in a new block if they do meet the (official) protocol rules?