Closed thunderbiscuit closed 2 months ago
As we consider changes like this it is also important to consider that bdk_kyoto may be a piece of a bigger system where the node events are also relayed to LDK APIs. It may be worthwhile to determine what the scope of bdk_kyoto is. If we assume BDK is the only consumer of the events, I think it is a lot easier to do what is described here
I would consider this completed with LightClientBuilder
and the bdk_kyoto
Client<K>
which returns a FullScanResult
when calling update
. any other thoughts on this?
cc @ValuedMammal @thunderbiscuit
Yes I think this issue can be closed.
To answer your question more directly, nothing too clear in my mind yet. I have been writing some thoughts on my "Dream Kyoto API" in a side document this week, and trying to see how it compares/relates to what it currently is (tradeoffs, understandings/misunderstandings on my part, requirements for fitting with BDK architecture, etc.)
I'll try (ok I'm committing publicly to this right now!) to post this on this repo next week.
no worries on timelines. that's awesome, excited for feedback
a simple example of how the API works in Rust is built out in my workshop repo, hope you can attend in ATL!
Under this model the user of
bdk_kyoto
would not create a KyotoNode
themselves or handle any of the messages directly. bdk_kyoto would be in charge of running a Kyoto node in the background and updating the tx_graph of the wallet and everything that comes with it. You'd basically give it either aFullScanRequest
orSyncRequest
and it would add those spks to the list of spks it keeps track of for you.A few questions come to mind for this: