4
0
I'm pretty sure bitcoinj is capable of downloading any Bitcoin transaction from P2P nodes by broadcasting GetDataMessage because that's what it does in the peer.downloadDependenciesInternal method.
I'm trying to find/implement a very simple method which would download a transaction with its inputs and outputs and the block in which it's included (if any) but, because of Guava asynchronous futures, I cannot figure it out.
Very simply, I would like to replace 3rd-party services like blockchain.info with something decentralized.
Given that a Bitcoin Core full node cannot locate individual transactions by txid (unless txindex is enabled) for local usage, how would those same nodes be able to provide it to you over the network? If you want to find confirmed transactions, you need to synchronize the blocks (potentially with BIP37 filtering, but that has severe privacy implications). – Pieter Wuille – 2017-02-18T02:20:25.620