Open darosior opened 10 months ago
some kind related to #672
Yes although we would still need bitcoind
. Being able to start without it would only be a hack.
I'm in favor of this as it give ability to use Liana in some kind of offline mode
as an example sparrow uses a a toggle button to turn on/off to the bitcoin backend:
The user would still be able to access the wallet during IBD. It doesn't appear to be much, but currently the mandatory IBD progress bar before being able to access the wallet really hurts UX.
Actually this is unrelated, this can already be done today right @edouardparis? It's only the poller which doesn't start polling until IBD is done.
If the first startup is actually a user willing to import an existing descriptor, today they would have to wait for IBD and then rescan whereas this makes it possible to load the descriptor and then IBD (removing the need for an additional rescan).
Same here, it's actually what we do already!
First step toward not relying on bitcoind for transaction storage (and instead use our own DB) which is necessary to introduce different Bitcoin backends.
Even for this i'm not sure. We can do this without making a running Bitcoin backend a hard dependency of the software.
I originally implemented
lianad
with a hard dependency on a runningbitcoind
: it must be present at startup and if it becomes unreachable for more than X minutes we crash. It made it easier to reason about operations as we could assume it was always present. However there are some advantages in removing this hard dependency:The user would still be able to access the wallet during IBD. It doesn't appear to be much, but currently the mandatory IBD progress bar before being able to access the wallet really hurts UX.Possible today, see https://github.com/wizardsardine/liana/issues/883#issuecomment-1878533601If the first startup is actually a user willing to import an existing descriptor, today they would have to wait for IBD and then rescan whereas this makes it possible to load the descriptor and then IBD (removing the need for an additional rescan).Orthogonal, see https://github.com/wizardsardine/liana/issues/883#issuecomment-1878535840bitcoind
for transaction storage (and instead use our own DB) which is necessary to introduce different Bitcoin backends.Cons:
Result<>
s creeping everywhere in the BitcoinInterfaceAny thoughts?