19 个版本
新 0.0.124-beta | 2024 年 8 月 20 日 |
---|---|
0.0.123 | 2024 年 5 月 9 日 |
0.0.123-beta | 2024 年 4 月 19 日 |
0.0.121 | 2024 年 1 月 23 日 |
0.0.114 | 2023 年 3 月 4 日 |
#485 in 神奇豆子
3,244 每月下载量
用于 2 crates
7MB
114K SLoC
提供通过基于事务的 Confirm
接口同步 LDK 的实用工具。
提供的同步客户端需要通过 ChainMonitor
的 Filter
接口进行注册。然后,需要调用相应的 fn sync
函数,并传入要同步的 Confirm
实现方式,通常是 ChannelManager
和 ChainMonitor
的实例。
功能和后端支持
esplora-blocking
允许基于阻塞客户端与 Esplora 后端同步。esplora-async
允许基于异步客户端与 Esplora 后端同步。esplora-async-https
允许异步 Esplora 客户端支持 HTTPS。
版本兼容性
目前这个 crate 与 LDK 版本 0.0.114 及以上兼容,使用的是在 LDK 版本 0.0.113 及以上创建的通道。
使用示例
let tx_sync = Arc::new(EsploraSyncClient::new(
esplora_server_url,
Arc::clone(&some_logger),
));
let chain_monitor = Arc::new(ChainMonitor::new(
Some(Arc::clone(&tx_sync)),
Arc::clone(&some_broadcaster),
Arc::clone(&some_logger),
Arc::clone(&some_fee_estimator),
Arc::clone(&some_persister),
));
let channel_manager = Arc::new(ChannelManager::new(
Arc::clone(&some_fee_estimator),
Arc::clone(&chain_monitor),
Arc::clone(&some_broadcaster),
Arc::clone(&some_router),
Arc::clone(&some_logger),
Arc::clone(&some_entropy_source),
Arc::clone(&some_node_signer),
Arc::clone(&some_signer_provider),
user_config,
chain_params,
));
let confirmables = vec![
&*channel_manager as &(dyn Confirm + Sync + Send),
&*chain_monitor as &(dyn Confirm + Sync + Send),
];
tx_sync.sync(confirmables).unwrap();
依赖
~8–20MB
~251K SLoC