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
Yeah, the only easy workarounds I see here are to clear the entire LRU cache if a block is reconsidered, or to not add the proceeding blocks to the LRU cache in the first place if one of their parents is invalid.
In reality, the invalidateblock call is supposed to be persistent across restarts, which it is with Bitcoin Core. This is possible in Core because it tracks a ton of extra useless stuff on chain headers. Bcoin doesn't really bother with that since it's just extra bloat, and not necessary for a blockchain to function.
When you
invalidate
block, say:bcoin cli rpc invalidateblock 0000000000000dc9f431dc685214fab27a663e09028b3ebb3dc2abc8ac9c2c34
.This block is on
testnet
, height:1178740
.This will rewind blockchain to block 1178739 and add this to Invalid list (LRU).
This is expected behavior.
When you receive new blocks that descended from that block, they will also end up in invalid block set.
But when you reconsider it:
bcoin cli rpc reconsiderblock 0000000000000dc9f431dc685214fab27a663e09028b3ebb3dc2abc8ac9c2c34
It will only remove block
1178740
from the invalid list, it's descendants will be still invalid.Workaround is simple right now: restart the node. (this will clear LRU)
Or reconsider everyblock from invalid list.
The text was updated successfully, but these errors were encountered: