diff --git a/docs/docs-developers/docs/cli/aztec_cli_reference.md b/docs/docs-developers/docs/cli/aztec_cli_reference.md index 3fa836e238c2..e351820227f6 100644 --- a/docs/docs-developers/docs/cli/aztec_cli_reference.md +++ b/docs/docs-developers/docs/cli/aztec_cli_reference.md @@ -1023,7 +1023,7 @@ aztec setup-protocol-contracts [options] **ARCHIVER** - `--archiver` - Starts Aztec Archiver with options + Configures the archiver component within a node (use with --node) - `--archiver.blobSinkMapSizeKb ` The maximum possible size of the blob sink DB in KB. Overwrites the general dataStoreMapSizeKb. diff --git a/docs/docs-operate/operators/reference/cli-reference.md b/docs/docs-operate/operators/reference/cli-reference.md index 9037dd1c0dd9..f6c31f2e9766 100644 --- a/docs/docs-operate/operators/reference/cli-reference.md +++ b/docs/docs-operate/operators/reference/cli-reference.md @@ -120,7 +120,7 @@ tags: ARCHIVER --archiver - Starts Aztec Archiver with options + Configures the archiver component within a node (use with --node) --archiver.blobSinkUrl ($BLOB_SINK_URL) The URL of the blob sink @@ -704,7 +704,7 @@ tags: PXE --pxe - Starts Aztec PXE with options + Configures the PXE component within a node (use with --node) --pxe.l2BlockBatchSize (default: 50) ($PXE_L2_BLOCK_BATCH_SIZE) Maximum amount of blocks to pull from the stream in one request when synchronizing diff --git a/yarn-project/aztec/src/cli/aztec_start_action.ts b/yarn-project/aztec/src/cli/aztec_start_action.ts index f7c3c7c5ff07..64a481810930 100644 --- a/yarn-project/aztec/src/cli/aztec_start_action.ts +++ b/yarn-project/aztec/src/cli/aztec_start_action.ts @@ -65,8 +65,11 @@ export async function aztecStart(options: any, userLog: LogFn, debugLogger: Logg const { startBot } = await import('./cmds/start_bot.js'); await startBot(options, signalHandlers, services, userLog); } else if (options.archiver) { - const { startArchiver } = await import('./cmds/start_archiver.js'); - ({ config } = await startArchiver(options, signalHandlers, services)); + userLog(`Cannot run a standalone archiver without a node. Use --node instead.`); + process.exit(1); + } else if (options.pxe) { + userLog(`Cannot run a standalone PXE without a node. Use --node instead.`); + process.exit(1); } else if (options.p2pBootstrap) { const { startP2PBootstrap } = await import('./cmds/start_p2p_bootstrap.js'); ({ config } = await startP2PBootstrap(options, signalHandlers, services, userLog)); diff --git a/yarn-project/aztec/src/cli/aztec_start_options.ts b/yarn-project/aztec/src/cli/aztec_start_options.ts index 269609bd1911..8a67ed17cbd0 100644 --- a/yarn-project/aztec/src/cli/aztec_start_options.ts +++ b/yarn-project/aztec/src/cli/aztec_start_options.ts @@ -207,7 +207,7 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = { ARCHIVER: [ { flag: '--archiver', - description: 'Starts Aztec Archiver with options', + description: 'Configures the archiver component within a node (use with --node)', defaultValue: undefined, env: undefined, }, @@ -312,7 +312,7 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = { PXE: [ { flag: '--pxe', - description: 'Starts Aztec PXE with options', + description: 'Configures the PXE component within a node (use with --node)', defaultValue: undefined, env: undefined, }, diff --git a/yarn-project/aztec/src/cli/cmds/start_archiver.ts b/yarn-project/aztec/src/cli/cmds/start_archiver.ts deleted file mode 100644 index 2063fadbb6ed..000000000000 --- a/yarn-project/aztec/src/cli/cmds/start_archiver.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { type ArchiverConfig, archiverConfigMappings, createArchiver, getArchiverConfigFromEnv } from '@aztec/archiver'; -import { createLogger } from '@aztec/aztec.js/log'; -import { type BlobClientConfig, blobClientConfigMapping, createBlobClient } from '@aztec/blob-client/client'; -import { getL1Config } from '@aztec/cli/config'; -import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server'; -import { ArchiverApiSchema } from '@aztec/stdlib/interfaces/server'; -import { type DataStoreConfig, dataConfigMappings } from '@aztec/stdlib/kv-store'; -import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client'; - -import { extractRelevantOptions } from '../util.js'; - -export type { ArchiverConfig, DataStoreConfig }; - -/** Starts a standalone archiver. */ -export async function startArchiver( - options: any, - signalHandlers: (() => Promise)[], - services: NamespacedApiHandlers, -): Promise<{ config: ArchiverConfig & DataStoreConfig }> { - const envConfig = getArchiverConfigFromEnv(); - const cliOptions = extractRelevantOptions( - options, - { ...archiverConfigMappings, ...dataConfigMappings, ...blobClientConfigMapping }, - 'archiver', - ); - - let archiverConfig = { ...envConfig, ...cliOptions }; - archiverConfig.dataStoreMapSizeKb = archiverConfig.archiverStoreMapSizeKb ?? archiverConfig.dataStoreMapSizeKb; - - if (!archiverConfig.l1Contracts.registryAddress || archiverConfig.l1Contracts.registryAddress.isZero()) { - throw new Error('L1 registry address is required to start an Archiver'); - } - - const { addresses, config: l1Config } = await getL1Config( - archiverConfig.l1Contracts.registryAddress, - archiverConfig.l1RpcUrls, - archiverConfig.l1ChainId, - ); - - archiverConfig.l1Contracts = addresses; - archiverConfig = { ...archiverConfig, ...l1Config }; - - const telemetry = await initTelemetryClient(getTelemetryClientConfig()); - const blobClient = createBlobClient(archiverConfig, { logger: createLogger('archiver:blob-client:client') }); - const archiver = await createArchiver(archiverConfig, { telemetry, blobClient }, { blockUntilSync: true }); - services.archiver = [archiver, ArchiverApiSchema]; - signalHandlers.push(archiver.stop); - - return { config: archiverConfig }; -}