[don't merge] Hacky way to simulate attempts of get_outs #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
The goal of this is to sanity check the gamma distribution the client's decoy selection algorithm produces by re-attempting
get_outs
a bunch of times. It's super hacky.How to run
First, make sure you're running a node, and pause it (I called the command
max_peers 0
so it would stop syncing with other nodes). Pausing it makes sure each run ofget_outs
will be consistent.Second, make sure you have a mainnet wallet with a recent output, then run
monero-wallet-cli
and just attempt to make a transfer. It will run the simulation, and then automatically fail out of the transaction construction process and tell you to check the logs. Once complete, the logs will contain lines like the following:What to do with the logs
There's probably a way easier way to do this and automate it, but I just copy pasted the logs into LibreOffice calc, used the built-in delimiter, parsed the height diff and frequency into 2 separate columns, then made a chart: