mirror of
https://github.com/lightningnetwork/lnd.git
synced 2026-08-18 13:07:58 +02:00
In this commit, we close the biggest fidelity gap the simulator had: hidden liquidity only moved when the sender's own payments moved it, so knowledge never went stale and evidence-based routing strategies were unbeatable by construction. Real networks keep churning between a node's sends. Two additions, both opt-in per scenario file. A virtual clock advances simulated time between payments (payment_gap_sec) and per attempt (attempt_sec); the mission control stack behind the lnd baseline is switched onto the same settable clock, so decay half-lives operate over simulated rather than wall-clock time, and candidate routers can read the current time through the new Now() method on SimNetworkView. A background traffic engine executes seeded payments between random node pairs in each gap: naive fee-optimizing senders route along the cheapest public path with no knowledge of hidden balances, retrying around failed edges a bounded number of times, so only the payments that genuinely clear move liquidity, hop by hop, with per-channel conservation. The traffic sequence depends only on its seed, so competing routers face the identical exogenous process, and scenario files without the new sections reproduce their previous results bit for bit. The corpus generator grows a --drift flag that scales traffic volume with network size, and the code-mode reflection prompt now describes the drifting environment neutrally, flagging that the champions' hard liquidity bounds were learned in a static world, without prescribing whether time-awareness is the answer -- that is exp-008's question to settle. |
||
|---|---|---|
| .. | ||
| commands | ||
| lncli | ||
| lnd | ||
| routesim | ||