diff --git a/docs/building-a-node-with-ldk/setting-up-a-channel-manager.md b/docs/building-a-node-with-ldk/setting-up-a-channel-manager.md index 59f681bb6..e2b9e34eb 100644 --- a/docs/building-a-node-with-ldk/setting-up-a-channel-manager.md +++ b/docs/building-a-node-with-ldk/setting-up-a-channel-manager.md @@ -931,16 +931,20 @@ _after_ the `ChannelMonitor`s and `ChannelManager` are synced to the chain tip ( ### Sync `ChannelMonitor`s and `ChannelManager` to chain tip -**What it's used for:** this step is only necessary if you're restarting and have open channels. This step ensures that LDK channel state is up-to-date with the bitcoin blockchain +**What it's used for:** this step is only necessary if you're restarting and have open channels. This step ensures that LDK channel state is up-to-date with the bitcoin blockchain. + +There are 2 main options for synchronizing to chain on startup: + +#### Full Blocks or BIP 157/158 (Compact Block Filters) + +You can use LDK's [lightning-block-sync](https://docs.rs/lightning-block-sync/*/lightning_block_sync/) crate. This provides utilities for syncing LDK via a block-based interface. **Example:** - + + + + +::: tip Full block syncing in mobile environments + +Block syncing for mobile clients tends to present several challenges due to resource contraints and network limitiations typically associated with mobile devices. It requires a full node and usually fetches blocks over RPC. + +Compact block filters (CBFs) are an alternative approach to syncing the blockchain that addresses some of the challenges associated with mobile clients. Please start a [discussion](https://github.com/orgs/lightningdevkit/discussions) if you would like us to expose `lightning-block-sync` in our bindings. + +::: + +#### Electrum or Esplora + +Alternatively, you can use LDK's [`lightning-transaction-sync`](https://docs.rs/lightning-transaction-sync/*/lightning_transaction_sync/) crate. This provides utilities for syncing LDK via the transaction-based [`Confirm`](https://docs.rs/lightning/*/lightning/chain/trait.Confirm.html) interface. + +**Example:** + +