Skip to content

Commit

Permalink
Add cli option to run as part of a distributed validator cluster
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig committed Mar 13, 2023
1 parent 0362077 commit 4c1ca33
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
2 changes: 2 additions & 0 deletions packages/cli/src/cmds/validator/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ export async function validatorHandler(args: IValidatorCliArgs & GlobalArgs): Pr

const {version, commit} = getVersionData();
logger.info("Lodestar", {network, version, commit});
if (args.distributed) logger.info("Client is configured to run as part of a distributed validator cluster");
logger.info("Connecting to LevelDB database", {path: validatorPaths.validatorsDbDir});

const dbPath = validatorPaths.validatorsDbDir;
Expand Down Expand Up @@ -167,6 +168,7 @@ export async function validatorHandler(args: IValidatorCliArgs & GlobalArgs): Pr
scAfterBlockDelaySlotFraction: args.scAfterBlockDelaySlotFraction,
disableAttestationGrouping: args.disableAttestationGrouping,
valProposerConfig,
distributed: args.distributed,
},
metrics
);
Expand Down
10 changes: 10 additions & 0 deletions packages/cli/src/cmds/validator/options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ export type IValidatorCliArgs = AccountValidatorArgs &
"externalSigner.pubkeys"?: string[];
"externalSigner.fetch"?: boolean;

distributed?: boolean;

interopIndexes?: string;
fromMnemonic?: string;
mnemonicIndexes?: string;
Expand Down Expand Up @@ -286,6 +288,14 @@ export const validatorOptions: CliCommandOptions<IValidatorCliArgs> = {
group: "externalSignerUrl",
},

// Distributed validator

distributed: {
description: "Enables specific features required to run as part of a distributed validator cluster",
default: false,
type: "boolean",
},

// Metrics

metrics: {
Expand Down
3 changes: 2 additions & 1 deletion packages/validator/src/validator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export type ValidatorOptions = {
doppelgangerProtectionEnabled?: boolean;
closed?: boolean;
valProposerConfig?: ValidatorProposerConfig;
distributed?: boolean;
};

// TODO: Extend the timeout, and let it be customizable
Expand Down Expand Up @@ -126,7 +127,7 @@ export class Validator {
metrics,
{
afterBlockDelaySlotFraction: opts.afterBlockDelaySlotFraction,
disableAttestationGrouping: opts.disableAttestationGrouping,
disableAttestationGrouping: opts.disableAttestationGrouping || opts.distributed,
}
);

Expand Down

0 comments on commit 4c1ca33

Please sign in to comment.