@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
49 lines (44 loc) • 1.89 kB
text/typescript
import {ApiOptions, defaultApiOptions} from "../api/options.js";
import {ArchiveMode, DEFAULT_ARCHIVE_MODE, IChainOptions, defaultChainOptions} from "../chain/options.js";
import {ValidatorMonitorOpts, defaultValidatorMonitorOpts} from "../chain/validatorMonitor.js";
import {DatabaseOptions, defaultDbOptions} from "../db/options.js";
import {
ExecutionBuilderOpts,
ExecutionEngineOpts,
defaultExecutionBuilderHttpOpts,
defaultExecutionBuilderOpts,
defaultExecutionEngineHttpOpts,
defaultExecutionEngineOpts,
} from "../execution/index.js";
import {MetricsOptions, defaultMetricsOptions} from "../metrics/options.js";
import {MonitoringOptions, defaultMonitoringOptions} from "../monitoring/options.js";
import {NetworkOptions, defaultNetworkOptions} from "../network/options.js";
import {SyncOptions, defaultSyncOptions} from "../sync/options.js";
// Re-export so the CLI doesn't need to depend on lodestar-api
export {allNamespaces} from "../api/rest/index.js";
// Re-export to use as default values in CLI args
export {defaultExecutionEngineHttpOpts, defaultExecutionBuilderHttpOpts, ArchiveMode, DEFAULT_ARCHIVE_MODE};
export interface IBeaconNodeOptions {
api: ApiOptions;
chain: IChainOptions;
db: DatabaseOptions;
executionEngine: ExecutionEngineOpts;
executionBuilder: ExecutionBuilderOpts;
metrics: MetricsOptions;
validatorMonitor: ValidatorMonitorOpts;
monitoring: MonitoringOptions;
network: NetworkOptions;
sync: SyncOptions;
}
export const defaultOptions: IBeaconNodeOptions = {
api: defaultApiOptions,
chain: defaultChainOptions,
db: defaultDbOptions,
executionEngine: defaultExecutionEngineOpts,
executionBuilder: defaultExecutionBuilderOpts,
metrics: defaultMetricsOptions,
validatorMonitor: defaultValidatorMonitorOpts,
monitoring: defaultMonitoringOptions,
network: defaultNetworkOptions,
sync: defaultSyncOptions,
};