@@ -28,41 +28,39 @@ in the `raw_block_data/` directory, each file named as `<project_name>_raw_data.
2828By default,
2929there is a (very small) sample input file for some supported projects; to use it, remove the prefix ` sample_ ` .
3030
31- Run `python run.py --ledgers <ledger_1> <ledger_n> --timeframe <timeframe > --estimation-window <days to aggregate
32- blocks by> --frequency <days between two data points >` to analyze the n specified ledgers for the given timeframe,
33- aggregated using the given estimation window and frequency.
34- All arguments are optional, so it's possible to omit any of them; in this case, the default values
35- will be used. Specifically:
36-
37- - ` ledgers ` accepts any number of the supported ledgers (case-insensitive). For example, ` --ledgers bitcoin `
38- would run the analysis for Bitcoin, while ` --ledgers Bitcoin Ethereum Cardano ` would run the analysis for Bitcoin,
39- Ethereum and Cardano. If the ` ledgers ` argument is omitted, then the analysis is performed for the ledgers
40- specified in the ` config.yaml ` file, which are typically all supported ledgers.
41- - The ` timeframe ` argument accepts one or two values of the form ` YYYY-MM-DD ` (month and day can be
42- omitted), which indicate the beginning and end of the time period that will be analyzed. For example,
43- ` --timeframe 2022 ` would run the analysis for the year 2022 (so from January 1st 2022 to
44- December 31st 2022), while we could also get the same result using ` --timeframe 2022-01 2022-12 ` or
45- ` --timeframe 2022-01-01 2022-12-31 ` . Similarly, ` --timeframe 2022-02 ` or ` --timeframe 2022-02-01 2022-02-28 ` would
46- do it for the month of February 2022 (February 1st 2022 to February 28th 2022), while ` --timeframe 2022-02-03 `
47- would do it for a single day (Feburary 3rd 2022). Last, ` --timeframe 2018 2022 ` would run the analysis for the
48- entire time period between January 1st 2018 and December 31st 2022. If the ` timeframe ` argument is omitted, then
49- the start date and end dates of the time frame are sourced from the ` config.yaml ` file.
50- - ` estimation_window ` corresponds to the number of days that will be used to aggregate the data. For example,
51- ` --estimation_window 7 ` means that every data point will use 7 days of blocks to calculate the distribution of
52- blocks to entities. If left empty, then the entire time frame will be used (only valid when combined with empty frequency).
53- - ` frequency ` determines how frequently to sample the data, in days. If left empty, then only one data point will be
54- analyzed (snapshot instead of longitudinal analysis), but this is only valid when combined with an empty estimation_window.
55-
56- Additionally, there are three flags that can be used to customize an execution:
57-
58- - ` --force-map ` forces the parsing, mapping and aggregation to be performed on all data, even if the relevant output
59- files already exist. This can be useful for when mapping info is updated for some blockchain. By default, this flag is
60- set to False and the tool only performs the mapping and aggregation when the relevant output files do not exist.
61- - ` --plot ` enables the generation of graphs at the end of the execution. Specifically, the output of each
31+ Run ` python run.py ` to run the analysis with the parameters specified in the ` config.yaml ` file.
32+
33+ The parameters that can be specified in the ` config.yaml ` file are:
34+
35+ - ` metrics ` : a list with the metrics that will be calculated. By default, includes all implemented metrics.
36+ - ` ledgers ` : a list with the ledgers that will be analyzed. By default, includes all supported ledgers.
37+ - ` force-map ` : a flag that can force the parsing, mapping and aggregation to be performed on all data, even if the
38+ relevant output files already exist. This can be useful for when mapping info is updated for some blockchain. By
39+ default, this flag is set to False and the tool only performs the mapping and aggregation when the relevant output
40+ files do not exist.
41+ - ` clustering ` : a flag that specifies whether block producers will be clustered based on the available mapping
42+ information. By default, this flag is set to True.
43+ - ` start_date ` : a value of the form ` YYYY-MM-DD ` (month and day can be omitted), which indicates the beginning of the
44+ time period that will be analyzed.
45+ - ` end_date ` : a value of the form ` YYYY-MM-DD ` (month and day can be omitted), which indicates the end of the time
46+ period that will be analyzed.
47+ - ` estimation_window ` : the number of days that will be used to aggregate the data. For example,
48+ ` estimation_window 7 ` means that every data point will use 7 days of blocks to calculate the distribution of
49+ blocks to entities. If left empty, then the entire time frame will be used (only valid when combined with empty
50+ frequency).
51+ - ` frequency ` : number of days that determines how frequently to sample the data. If left empty, then only one data
52+ point will be analyzed (snapshot instead of longitudinal analysis), but this is only valid when combined with an
53+ empty estimation_window.
54+ - ` population_windows ` : number that defines the number of windows to look back and forward when calculating the
55+ population of block producers. For example, ` population_windows 3 ` , combined with ` estimation_window 7 ` means that the
56+ population of block producers will be calculated using the blocks produced in the 3 weeks before and after each
57+ week under consideration. If ` all ` is specified, then the entire time frame will be used to determine the population.
58+ - ` plot ` : a flag that enables the generation of graphs at the end of the execution. Specifically, the output of each
6259implemented metric is plotted for the specified ledgers and timeframe, as well as the block production dynamics for each
6360specified ledger. By default, this flag is set to False and no plots are generated.
64- - ` --animated ` enables the generation of (additional) animated graphs at the end of the execution. By default, this flag
65- is set to False and no animated plots are generated. Note that this flag is ignored if ` --plot ` is set to False.
61+ - ` animated ` : a flag that enables the generation of (additional) animated graphs at the end of the execution. By
62+ default, this flag is set to False and no animated plots are generated. Note that this flag is ignored if ` plot ` is
63+ set to False.
6664
6765
6866All output files can then be found under the ` results/ ` directory, which is automatically created the first time the
0 commit comments