]> git.bitcoin.ninja Git - ln-routing-replay/commitdiff
Add a README
authorMatt Corallo <git@bluematt.me>
Fri, 22 Nov 2024 02:07:49 +0000 (02:07 +0000)
committerMatt Corallo <git@bluematt.me>
Fri, 22 Nov 2024 14:14:30 +0000 (14:14 +0000)
README.md [new file with mode: 0644]

diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..f5c4fbc
--- /dev/null
+++ b/README.md
@@ -0,0 +1,23 @@
+Lightning Routing Replayer
+==========================
+
+This allows you to test a lightning routefinder by replaying historical probe results against
+the success-probability output of a model.
+
+`main.rs` contains three functions:
+ * `do_setup` which is run on startup to generate a `State` object which you can use to track state across steps
+ * `process_probe_result` which is given a `ProbeResult` consisting of the timestamp at which the probe was
+   completed as well as the state of the `NetworkGraph` at that time. It is also given a mutable reference to the
+   `State` generated by `do_setup`. It is run once for each probe result in the datafile.
+ * `results_complete` is run once after all probe results have been processed and can be used to print the
+   evaluation of the model.
+
+`internal.rs` contains the code which parses datafiles and calls the above methods as described. You shouldn't
+need to modify `internal.rs` at all.
+
+In order to run the framework, you must download three data files -
+`channel_updates.txt` and `channel_announcements.txt` contain the history of announcements to the network graph
+and `probes.txt` contains the results of individual probe attempts over time. They can be downloaded from
+https://bitcoin.ninja/ln-replay-data/
+
+See https://bluematt.bitcoin.ninja/2024/11/22/ln-routing-replay/ for more info.