Skip to content

Commit 43b12ca

Browse files
author
Conor Okus
committed
Adds back in background processing
1 parent 39e95b4 commit 43b12ca

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

docs/building-a-node-with-ldk/setting-up-a-channel-manager.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,58 @@ let persister = FilesystemPersister::new(ldk_data_dir_path);
452452
453453
**References:** [Rust `Persister` docs](https://docs.rs/lightning/*/lightning/chain/chainmonitor/trait.Persist.html), [Java/Kotlin `Persister` bindings](https://github.com/lightningdevkit/ldk-garbagecollected/blob/main/src/main/java/org/ldk/structs/Persist.java)
454454
455+
### Start Background Processing
456+
457+
**What it's used for:** running tasks periodically in the background to keep LDK operational.
458+
459+
<CodeSwitcher :languages="{rust:'Rust'}">
460+
<template v-slot:rust>
461+
462+
```rust
463+
let background_processor = BackgroundProcessor::start(
464+
persister,
465+
Arc::clone(&invoice_payer),
466+
Arc::clone(&chain_monitor),
467+
Arc::clone(&channel_manager),
468+
Arc::clone(&net_graph_msg_handler),
469+
Arc::clone(&peer_manager),
470+
Arc::clone(&logger),
471+
);
472+
```
473+
474+
</template>
475+
</CodeSwitcher>
476+
477+
**Dependencies:** `ChannelManager`, `ChainMonitor`, `PeerManager`, `Logger`
478+
479+
**References:** [Rust `BackgroundProcessor::Start` docs](https://docs.rs/lightning-background-processor/*/lightning_background_processor/struct.BackgroundProcessor.html#method.start)
480+
481+
### Regularly Broadcast Node Announcement
482+
483+
**What it's used for:** if you have 1 or more public channels, you may need to announce your node and its channels occasionally. LDK will automatically announce channels when they are created, but there are no guarantees you have connected peers at that time or that your peers will propagate such announcements. The broader node-announcement message is not automatically broadcast.
484+
485+
<CodeSwitcher :languages="{rust:'Rust'}">
486+
<template v-slot:rust>
487+
488+
```rust
489+
let mut interval = tokio::time::interval(Duration::from_secs(60));
490+
loop {
491+
interval.tick().await;
492+
channel_manager.broadcast_node_announcement(
493+
[0; 3], // insert your node's RGB color
494+
node_alias,
495+
vec![ldk_announced_listen_addr],
496+
);
497+
}
498+
```
499+
500+
</template>
501+
</CodeSwitcher>
502+
503+
**Dependencies:** `Peer Manager`
504+
505+
**References:** [`PeerManager::broadcast_node_announcement` docs](https://docs.rs/lightning/*/lightning/ln/peer_handler/struct.PeerManager.html#method.broadcast_node_announcement)
506+
455507
### Optional: Initialize the Transaction `Filter`
456508

457509
**You must follow this step if:** you are _not_ providing full blocks to LDK,

0 commit comments

Comments
 (0)