Bitcore v5 and Bcoin

Bitcoin is moving very quickly at the moment. I’m in the middle of doing research for a new and large project and looking and various options for a web service that is required to work with bitcoin with a nodejs backend (an enterprise service).

We implemented some prototypes using earlier Bitcore versions running a full node and it all seemed simple enough - but with v5 coming up we noticed the backend is now using Bcoin

We are also very interested in the Bcoin project - if we’re doing nothing more than accepting payments, signing and sending transactions and running a few wallets what would the benefits of Bitcore on Bcoin be?

As far as I understand so far - in our situation we might not require the entire Bitcore layer, as we aren’t really interested in running a user-facing API or wallet service. Would this be right? Is there anything else we’re missing in terms of what Bitcore is adding to Bcoin?

Here’s my understanding, and could totally be wrong because there isn’t a lot of information yet…

It used to be that Bitcore was tightly integrated into a patched version of Bitcoin Core. It would build these binaries or download them from Bitpay.

Now, Bitcore uses Bcoin to be a real Bitcoin P2P node. You then connect it to a full node of your choice (Bitcoin Core, btc1, Bitcoin ABC, etc) for block storage. This is where I get hazy though, does the Bcoin node store all the block data a second time, or does it just store the extra indexes? I’m not sure and I’m not sure how to find out.

I’m not even sure if there are extra indices any longer. It used to be you’d run bitcore to get the UTXO and address indices - but they’re now in bcoin (it indexes and can persist chainstate, utxo and mempool).

I stepped through the API - and so far I haven’t found anything that we would gain from running Bitcore ontop of Bcoin in our situation. We’re still running them side by side tho - (both stable and v5 version of bitcore)