Bump bdk_kyoto version#864
Conversation
a78f5eb to
d0d2a95
Compare
| .build() | ||
| .unwrap() | ||
| .block_on(lookup_host(hostname, self.dns_resolver)); | ||
| .block_on(lookup_host(hostname)); |
There was a problem hiding this comment.
if blocking here should we remove the async for the function?
I know it was already like this but it just caught my eye here on review
There was a problem hiding this comment.
Yes we should, good call.
d0d2a95 to
f5d30a4
Compare
The CBF crate, renamed on crates.io from `kyoto` to `bip157`, includes some performance improvements and dependency reduction. Starting with a relatively simple change, the configuration of a DNS resolver has been removed, as DNS is now carried out by the operating system. In testing this has resolved problems for DNS queries while using a VPN or on public WiFi (with firewalls). Now the CBF node does no disk I/O over `sqlite`. This removes a number of warings and errors related to persistance. All chain data is stored within the `Wallet` structure and subsequently persisted to `bdk_chain`'s extension for `sqlite`. This creates a single source-of-truth for persistance between sessions, which has been a huge pain point in the past. The logic of `CheckPoint::insert` handles competing forks. The builder has no error cases at the FFI level with this change. The `ScanType` has been reduced to two options, `Scan` or `Recovery`. The `Recovery` variant contains a few notable checkpoints to start from. It also contains a field that the user may set to peek scripts while scanning filters. This should be approximately the number of scripts revealed by the wallet being recovered. The guidance for developers here would be to set conservatively. One scheme is setting the peek to 1_000, 10_000, 100_000, depending on profiles: normal, power user, enterprise. The `Info` variants have been reduced to a single `Progress` containing all info related to the sync. Broadcasting a transaction now waits for the confirmation of gossip, as in at least one remote node asked for the transaction be shared with them. `Node::run` is now mutable. This implies `CbfNode.run()` can only be called once. I think that is perferctly reasonable as any other type of behavior is faulty. `bitcoin-address-book` is a simple crate I created to abstract peer selection, which `bip157` depends on.
f5d30a4 to
e428b03
Compare
|
@rustaceanrob For |
|
It will actually start from genesis. This was partially due to developers not using the option in practice, and the checkpoints being a trust-vector and maintenance burden. For wallets that are known to be new, they may recover from taproot. Another strategy is they can ping mempool.space for a recent checkpoint and add it to the wallet. |
Alright, thanks for the explanation. |
Work in progress draft PR. Copied from my commit message:
The CBF crate, renamed on crates.io from
kyototobip157, includes some performance improvements and dependency reduction.Starting with a relatively simple change, the configuration of a DNS resolver has been removed, as DNS is now carried out by the operating system. In testing this has resolved problems for DNS queries while using a VPN or on public WiFi (with firewalls).
Now the CBF node does no disk I/O over
sqlite. This removes a number of warings and errors related to persistance. All chain data is stored within theWalletstructure and subsequently persisted tobdk_chain's extension forsqlite. This creates a single source-of-truth for persistance between sessions, which has been a huge pain point in the past. The logic ofCheckPoint::inserthandles competing forks. The builder has no error cases at the FFI level with this change.The
ScanTypehas been reduced to two options,ScanorRecovery. TheRecoveryvariant contains a few notable checkpoints to start from. It also contains a field that the user may set to peek scripts while scanning filters. This should be approximately the number of scripts revealed by the wallet being recovered. The guidance for developers here would be to set conservatively. One scheme is setting the peek to 1_000, 10_000, 100_000, depending on profiles: normal, power user, enterprise.The
Infovariants have been reduced to a singleProgresscontaining all info related to the sync.Broadcasting a transaction now waits for the confirmation of gossip, as in at least one remote node asked for the transaction be shared with them.
Node::runis now mutable. This impliesCbfNode.run()can only be called once. I think that is perferctly reasonable as any other type of behavior is faulty.bitcoin-address-bookis a simple crate I created to abstract peer selection, whichbip157depends on.Changelog notice
Checklists
All Submissions:
cargo fmtandcargo clippybefore committingNew Features: