You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There has been an implementation for this, but it fails in the case that one of the submitted headers is an already existing one. In order to reproduce:
Start babylond and vigilante in a local environment using a btcd node (following the instructions on README).
Let babylond sync with BTC and stop the vigilante.
Restart the vigilante. The vigilante is going to try to submit multiple headers in a message, of which some of them are duplicates (it resubmits headers that are k-deep in babylond). The whole message fails due to those duplicate headers.
I implemented a hotfix for now, but we should try to implement this feature nonetheless.
A compromise could be:
Try to submit the tx with all the headers.
If it fails, remove the header that has the lowest height and retry (1). Do this until success.
In the worst case, this would degrade to the performance of doing a separate query for all headers.
Catched up with all the chats in the infra channel. Then I would suggest the following mechanism: given a list of headers, check if it's contained in btclightclient. Upon finding the last block that is not contained, forward all blocks since this one to btclightclient. Will do a PR shortly.
There has been an implementation for this, but it fails in the case that one of the submitted headers is an already existing one. In order to reproduce:
I implemented a hotfix for now, but we should try to implement this feature nonetheless.
A compromise could be:
In the worst case, this would degrade to the performance of doing a separate query for all headers.
cc @SebastianElvis @gusin13
The text was updated successfully, but these errors were encountered: