Performs a continuous verification of a Merge (Execution-Consensus) testnet and validates the final health by measuring and comparing a set of given metrics Post-Merge.
Execution/Beacon client URL endpoint to check for the client's status in the form: ,http://:. Parameter can appear multiple times for multiple clients.
Terminal Total Difficulty of the Testnet.
Specifies the path to a verifications YML file to override the default verifications.
Specifies the path to a verifications YML file to be added to the default verifications.
Max number of epochs to wait for the TTD to be reached. Disable timeout: 0. Default: 5
Max number of epochs to wait for successful verifications after the merge has occurred. Disable timeout: 0. Default: 5
The verifications file is a YML formatted file that contains a list of all verifications to be performed during the testnet's runtime.
Each verification element contains the following fields (all mandatory unless specified otherwise):
Name of the verification, which will be printed on the output to help identify when the verification fails.
Layer from which the verification data will be obtained -- only accepts "Execution" or "Beacon" values thus far.
Whether the verification data should only be gathered after the merge has occurred (true) or during all the testnet's runtime (false).
Metric to be collected which then will be aggregated and compared to obtain the verification's outcome. Only one data point of this metric will be collected per block/slot. See Supported Metrics section.
Aggregation function used to produce a single value that can be compared in the PassCriteria. See Supported Aggregate Functions section.
Optional aggregate value used for some of the aggregation functions.
Comparison criteria used to determine a successful verification. See Supported Pass Criterias secion.
Pass value used in the PassCriteria comparison.
Number of execution blocks produced.
BaseFee Value of the block header.
Total gas used of the block header.
Difficulty value of the block header.
MixHash value of the block header.
Uncles hash value of the block header.
Nonce value of the block header.
Number of beacon blocks produced -- can only be 0 or 1 per slot.
Number of times the finalized_epoch
value in the finality_checkpoints
changes values; 1 if the finalized_epoch
value changes, 0 if the value is the same as the previous slot.
Number of times the justified_epoch
value in the finality_checkpoints
changes values; 1 if the justified_epoch
value changes, 0 if the value is the same as the previous slot.
Attestation performance throughout the Epoch. Currently can only be obtained if a Lighthouse client is provided, since it uses the validator_inclusion
endpoint and it's calculated by getting the ratio between previous_epoch_head_attesting_gwei
and previous_epoch_active_gwei
.
Target attestation performance throughout the Epoch. Currently can only be obtained if a Lighthouse client is providedm, since it uses the validator_inclusion
endpoint and it's calculated by getting the ratio between previous_epoch_target_attesting_gwei
and previous_epoch_active_gwei
.
Sync participation per slot -- Set bit count of sync_committee_bits
Sync participation percentage per slot -- Set bit count of sync_committee_bits
divided by the SYNC_COMMITTEE_SIZE
value of the spec.
(Requires AggregateFunctionValue): Count all the values equal to AggregateFunctionValue.
(Requires AggregateFunctionValue): Count all the values not equal to AggregateFunctionValue.
Arithmetic mean of all the data points obtained -- 0 when no data points were obtained.
Sum of all the data points obtained.
Minimum value of all data points obtained.
Maximum value of all data points obtained.
Percentage (0 - 100) of all data points that are greater than zero.
Minimum value that the aggregated value can have in order for the verification to be successful.
Maximum value that the aggregated value can have in order for the verification to be successful.
See default_verifications.yml