bitcoin-dev-project / bitcoin-dev-project/sim-ln

Feature Request: Implement Discrete Event Simulator

Open
#299 0 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
Rust
Stars
80
Forks
40
Avg merge
18h 49m
Merged PRs (30d)
2

Description

**Describe desired feature**

Right now we simulate time speedups by applying a multiplier to our real wall clock to offer some increase in speed. This means that the simulator will still sleep, just for a much shorter period of time, which isn't a great way to run simulations when you want to run long-waiting simulations.

An alternative it to write a discrete event simulator, which always progresses its internal time report the next timestamp that we need to sleep until. This way, we're always artifically jumping into the future rather than pausing for a real sleep that has no point.

I suspect that this will get pretty sticky when we need to implement latency in `sim-node` (and consider other interceptors). Opening this issue up for design discusion.

**Use case for feature**

Faster simultions, moar good.

**Would you like to contribute code for this feature?**

Happy to collaborate on design for this one, but given the expected complexity I'll probably take it on myself.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.