Skip to content

Conversation

@rustaceanrob
Copy link
Collaborator

I looked/experimented with BDK, particularly the bdk_chain, and I think this
method
is sufficient to remove the store entirely instead of deprecating it. Since every block header is now emitted, the bdk_kyoto integration can make use of this to avoid starting on an orphan block. Reorganizations don't need to be explicitly emitted. Rather, the node can just emit whatever chain it is on and CheckPoint::insert will reconsile the changes.

It looks like there will also be nice user facing events, so explicitly informing about a re-org might even be returned in the wallet update.

This Kyoto now acts as a decision-maker for the the chain of most work, but there is now a single source-of-truth for the history of headers.

I looked/experimented with BDK, particularly the `bdk_chain`, and I
think [this
method](https://docs.rs/bdk_chain/latest/bdk_chain/struct.CheckPoint.html#method.insert)
is sufficient to remove the store entirely instead of deprecating it.
Since every block header is now emitted, the `bdk_kyoto` integration can
make use of this to avoid starting on an orphan block. Reorganizations
don't need to be explicitly emitted. Rather, the node can just emit
whatever chain it is on and `CheckPoint::insert` will reconsile the
changes.

It looks like there will also be nice [user facing
events](bitcoindevkit/bdk_wallet#310), so
explicitly informing about a re-org might even be returned in the wallet
update.

This Kyoto now acts as a decision-maker for the the chain of most work,
but there is now a single source-of-truth for the history of headers.
@rustaceanrob rustaceanrob merged commit 3a2af5b into 2140-dev:master Sep 17, 2025
10 checks passed
@rustaceanrob rustaceanrob deleted the 9-17-rm branch September 17, 2025 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant