-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BSV Support #37
Comments
Attempt to add Bitcoin SV support bitauth#37
Hi Jason I'd love to contribute to make BSV work. I've made an attempt at https://github.com/ledgitbe/chaingraph/tree/bitcoin-sv however this is still very very rough. I'm unsure how to properly integrate support for a new node, but here's a start anyway and would appreciate your feedback and thoughts. I tried to keep my changes additive without changing too much in-place to prove the concept but there are still a lot of open questions on how to properly integrate a different node implementation. Chart templates
Images
Package.json scripts
What does not workBitcoin SV Node container issuesThere is an issue with the /data directory of the bitcoin-sv-node - when using local developer volumes (cluster init), a directory called After giving up on this, I proceeded to just sync from a local (external from cluster) Bitcoin SV node. See P2P library for how this went. P2P libraryI had to use a different P2P library to sync with an external Bitcoin SV node because
After this I proceeded to make a separate version of the agent so I could use the augmented version of bitcore-p2p to sync with a Bitcoin SV node. To keep my changes mostly additive in nature, I created a P2P Library considerationsI realise it is not optimal having 2 separate P2P libraries integrated in this way - I see a few different scenarios going forward
Looking forward to your insights! |
Hi @ledgitbe – wow, it looks like you made it a long way on integration! My changes to I won't personally have much time to focus on this in the next few months, but I'd consider BSV support to be good way to stress-test the rest of Chaingraph too; I'd love to see you get it working! |
Thanks for having a look. I can start with submitting a PR to the P2P library (https://github.com/bitjson/bitcore) so at least there is that. Then I can get rid of the duplicate agent-bsv.ts and index-bsv.ts files in chaingraph. I'd also be happy to submit a PR for the changes in chaingraph itself to support BSV. That way it will be easier to communicate about any changes. Also as an aside: Have you considered syncing via the JSONRPC API? What were your conclusions when comparing P2P and JSONRPC? I have a very fast JSONRPC client library that supports streaming blocks, it could also potentially be used for syncing in combination with either P2P or ZMQ for realtime events. |
Hi @bitjson, We went a bit further with the experiment that @ledgitbe talks about in the previous comment, and started to index from the BSV node. I'm mainly working on it at the moment, and we are noticing that the DB is the main bottleneck for the indexation. We're currently considering solutions to workaround this challenge. I was wondering if you are able to share a little bit your experience indexing BC, how's your DB deployment? how long did it take to perform the indexation process? We'll appreciate any help! |
@raymundo-mintblue I summarized my performance testing here: https://github.com/bitauth/chaingraph/blob/master/docs/architecture.md#performance--scalability Related, this migration might really improve ingest speed and aggregation performance for chains as large as BSV: #29 |
Unless I missed some deeply breaking change made recently to BSV, Chaingraph should already support the BSV node software. So full support requires only that we:
bitcoind
application)--set bsv.enabled=true
.The text was updated successfully, but these errors were encountered: