I am trying to set up a Bitcoin node. It should be possible to query the node through JSON RPC to get a list of all transactions (including UTXOs) of any Bitcoin Address, which doesn't necessarily belong to my wallet. This node should power a wallet application which can be downloaded and used by anyone.
I ve already tried with Bitcoin Core. In the bitcoin.conf file I specified txindex=1. Of course the blockchain was not pruned, but I could only retrive transactions for the addresses inside my wallet.
I learnt that I could add "watch only" external addresses. However, this requires re-scanning the blockchain every time a new address is added, which is a lengthy process. Another option would be to use blockchain.info APIs, but the whole point of my efforts is to avoid relying on third parties.
Finally I found bcoin which is an alternative implementation of the bitcoin client. I read in their documentation that one can create a full-blown table of transactions inserting into the bitcoin.conf file index-tx=true and index-address=true. Anyway, bcoin documentation doesn't specify if by doing this I ll be able to query the node to get transactions for any address I want or only for addresses which are part of the wallet. I 'd rather avoid re-downloading and validating the whole blockchain only to find out.
Can anybody tell me if bcoin can solve my problem?
In case bcoin doesn t serve my purpose, can anybody please tell me what I can do to be able to query my node to find all transactions for any address I want, including those which are not part of my wallet?