コンテンツにスキップ

Dingo v0.81.3 Configuration Reference

このコンテンツはまだ日本語に翻訳されていません。

This page covers the configuration shipped with Dingo v0.81.3. The complete field reference, including descriptions, defaults, environment variables, command-line flags, provider settings, and deployment patterns, is in the release-matched dingo.yaml.example file. The same file is available in the Dingo v0.81.3 source.

The example has no active settings. Leave values commented to use Dingo’s built-in defaults; uncomment a setting only when you want to override its default. Do not copy a configuration file from a different Dingo release without checking the release’s example, because available fields and behavior can change.

Dingo resolves a setting from the command line first, then environment variables, the YAML file, and finally the built-in default. CLI flag and environment variable names are documented alongside the fields in the example. See Node Configuration and Storage Modes for the main runtime choices.

AreaMain settingsPurpose
Network and pathsnetwork, networkMagic, cardanoConfig, topology, databasePath, socketPathSelect a Cardano network and locate node, topology, and data files.
Listeners and diagnosticsbindAddr, privateBindAddr, relayPort, privatePort, metricsBindAddr, metricsPort, healthPort, debugPort, debugBindAddr, tracing, localStateQueryViewMaxLifetimeConfigure node and private listeners, metrics, health probes, profiling, tracing, and LocalStateQuery snapshot lifetime.
Logging and TLSlogging, tlsCertFilePath, tlsKeyFilePath, api.tlsSelect log output and secure supported API or Bark listeners.
Storage and APIsstorageMode, plugins.storage, plugins.mempool, plugins.api, corsAllowedOriginsChoose stored history, storage providers, transaction ordering, and application APIs.
Bootstrap and synchronizationmithril, mithril.downloadMaxBytes, mithril.server, mithril.server.aggregator, genesisBootstrap, intersectTip, immutableDbPath, chainsync, validateHistorical, strictUtxoValidationConfigure snapshot or genesis bootstrap, synchronization, and historical validation.
Peer managementtargetNumberOfKnownPeers, targetNumberOfEstablishedPeers, targetNumberOfActivePeers, targetNumberOfRootPeers, activePeersTopologyQuota, activePeersGossipQuota, activePeersLedgerQuota, inboundWarmTarget, inboundHotQuota, inboundMinTenure, inboundHotScoreThreshold, inboundPruneAfter, inboundDuplexOnlyForHot, inboundCooldownSet peer targets, source quotas, and inbound peer policy.
Block production and ledger rulesblockProducer, shelley*, forge*, validateForgedBlock, minPoolMargin, pledgeLeverage*, fullPotRewards*, delegatorInactivity*, ledgerApplyRowBatchingEnabled, ledgerPrefetchAheadEnabledConfigure forging keys, safety thresholds, and optional ledger behaviors.
Archives and database lifecyclebark*, historyExpiry, databaseLifecycleServe or consume archive data, expire local history, and manage snapshots.
Optional indexes and diagnosticsmidnight, tokenRegistry, koiosParity, cache, skipRewardLiveStakeBackfillCheckConfigure optional indexing, registry refresh, parity diagnostics, caching, and startup validation.
SettingYAML keyCLI flagEnvironment variableDefault and behavior
Ledger row batchingledgerApplyRowBatchingEnabled--ledger-apply-row-batching-enabledDINGO_LEDGER_APPLY_ROW_BATCHING_ENABLEDfalse (off). In core storage mode, Dingo applies multi-row batching to eligible unvalidated block deltas. Dingo forwards this setting to serve and dingo load; API mode already uses batching. This setting does not affect consensus.
Ledger prefetch aheadledgerPrefetchAheadEnabled--ledger-prefetch-ahead-enabledDINGO_LEDGER_PREFETCH_AHEAD_ENABLEDfalse (off). For validated blocks, Dingo prefetches the next block’s input UTxOs from a read-only transaction while the current block applies. This setting does not affect consensus.
Blockfetch low watermarkblockfetchLowWatermarkEnabled--blockfetch-low-watermark-enabledDINGO_BLOCKFETCH_LOW_WATERMARK_ENABLEDfalse (off). When enabled while the header is far from the peer tip, Dingo starts blockfetch after one queued blockfetch header range instead of waiting for four. The setting leaves header queue capacity unchanged and does not affect consensus.
SettingYAML keyCLI flagEnvironment variableDefault and behavior
Metrics bind addressmetricsBindAddr--metrics-bind-addrDINGO_METRICS_BIND_ADDR127.0.0.1. This address is independent of bindAddr. Set it explicitly to a wildcard or remote reachable address when a scraper runs outside the host.
Metrics portmetricsPort--metrics-port—12798 by default. Set it to 0 to disable the Prometheus listener.

The immutableDbPath setting and the positional input to dingo load accept a local directory or a remote URL. Remote sources require an https:// URL; http:// works only for loopback hosts, and Dingo rejects non-loopback HTTP. Remote roots provide tip.json and numbered .chunk, .primary, and .secondary files as chunk triads. Dingo rejects mismatched or incomplete published chunk data. See the bootstrap and data maintenance guide for the remote source, chunk, and integrity requirements.

SettingYAML keyCLI flagEnvironment variableDefaultValidation and behavior
Maximum lifetime of an acquired ledger snapshotlocalStateQueryViewMaxLifetime--local-state-query-view-max-lifetimeDINGO_LOCAL_STATE_QUERY_VIEW_MAX_LIFETIME5mUse a positive duration string, such as 5m. Dingo rejects an invalid, zero, or negative value during startup or configuration validation. After the maximum lifetime, Dingo closes the held snapshot. The next query reopens it at the acquired point and answers from that snapshot; tip acquires use their snapshotted tips. If a rollback removes the acquired point or retention pruning removes it, Dingo cannot reopen the snapshot and closes the connection.
SettingYAML keyCLI flagEnvironment variableDefault and behavior
Compressed size limit for each downloaded Mithril objectmithril.downloadMaxBytes--mithril-download-max-bytesDINGO_MITHRIL_DOWNLOAD_MAX_BYTES0 uses the built-in per-object compressed limits. A positive value replaces the limit for every downloaded object. Dingo rejects a negative value during startup or configuration validation.

When mithril.downloadMaxBytes is 0, Dingo uses these built-in compressed limits:

Mithril objectBuilt-in limit
v1512 GiB
v2 immutable archive1 GiB
v2 digest list256 MiB
v2 ancillary data64 GiB

The mithril.server settings control dingo mithril snapshot create and dingo mithril serve. Snapshot artifact reads are public. Aggregator signer registration and registration closure require the bearer token in mithril.server.aggregator.operatorTokenFile. A non-loopback aggregator bind requires TLS. Set mithril.server.publicBaseUrl to the public origin that appears in snapshot download locations; use HTTPS except for an HTTP loopback origin.

SettingYAML keyCLI flagEnvironment variableDefault and behavior
Artifact server portmithril.server.port--mithril-server-portDINGO_MITHRIL_SERVER_PORT8081. dingo mithril serve listens on this port and the root bindAddr.
Public snapshot originmithril.server.publicBaseUrl--mithril-server-public-base-urlDINGO_MITHRIL_SERVER_PUBLIC_BASE_URLRequired by dingo mithril serve. Set an origin without credentials, a path, a query, or a fragment. HTTPS is required except for loopback HTTP.
Artifact storemithril.server.artifactStore--mithril-server-artifact-storeDINGO_MITHRIL_SERVER_ARTIFACT_STOREEmpty. Set a filesystem directory, s3://bucket/prefix, or gcs://bucket/prefix. The latter two require a build with dingo_extra_plugins.
Redirect base URLmithril.server.redirectBaseUrl--mithril-server-redirect-base-urlDINGO_MITHRIL_SERVER_REDIRECT_BASE_URLEmpty. When set, archive requests redirect to this base URL plus the object key instead of streaming the object. Use it only when the remote objects are publicly readable.
Snapshot retentionmithril.server.keepSnapshots--mithril-server-keep-snapshotsDINGO_MITHRIL_SERVER_KEEP_SNAPSHOTS0 keeps every produced snapshot. A positive value retains that many newest snapshots.
Ancillary signing keymithril.server.ancillarySigningKeyFile--mithril-server-ancillary-signing-key-fileDINGO_MITHRIL_SERVER_ANCILLARY_SIGNING_KEY_FILEEmpty. Set the Ed25519 Mithril JSON hex key that signs each ancillary manifest.
Artifact server TLSmithril.server.tlsEnabled--mithril-server-tls-enabledDINGO_MITHRIL_SERVER_TLS_ENABLEDfalse. When enabled, the server uses the shared tlsCertFilePath and tlsKeyFilePath.
Aggregator endpointsmithril.server.aggregator.enabled--mithril-aggregator-enabledDINGO_MITHRIL_AGGREGATOR_ENABLEDfalse. Enable signer registration, signature collection, and snapshot certification.
Signer registration epochmithril.server.aggregator.epoch--mithril-aggregator-epochDINGO_MITHRIL_AGGREGATOR_EPOCH0 selects no usable epoch; set at least 1 when the aggregator is enabled. The genesis certificate uses the preceding epoch.
STM quorummithril.server.aggregator.k--mithril-aggregator-kDINGO_MITHRIL_AGGREGATOR_K0 until configured. Set a positive quorum that does not exceed m.
STM lottery sizemithril.server.aggregator.m--mithril-aggregator-mDINGO_MITHRIL_AGGREGATOR_M0 until configured. Set a positive value when the aggregator is enabled.
STM win probabilitymithril.server.aggregator.phiF--mithril-aggregator-phi-fDINGO_MITHRIL_AGGREGATOR_PHI_F0 until configured. Set a value greater than 0 and no greater than 1.
Aggregator genesis signing keymithril.server.aggregator.genesisSigningKeyFile--mithril-aggregator-genesis-signing-key-fileDINGO_MITHRIL_AGGREGATOR_GENESIS_SIGNING_KEY_FILERequired when the aggregator is enabled. Set an Ed25519 Mithril JSON hex key.
Aggregator operator tokenmithril.server.aggregator.operatorTokenFile--mithril-aggregator-operator-token-fileDINGO_MITHRIL_AGGREGATOR_OPERATOR_TOKEN_FILERequired when the aggregator is enabled. Set a file containing at least 32 random bytes.

When plugins.storage.metadata.provider is sqlite, or when the configuration omits the provider and Dingo defaults it to sqlite, set a root databasePath that is not empty. Dingo rejects startup when databasePath is empty in either case.

SettingYAML keyCLI flagEnvironment variableDefaultValidation and scope
Snapshot commit pause bounddatabaseLifecycle.snapshotMaxCommitPause--db-snapshot-max-commit-pauseDINGO_DB_LIFECYCLE_SNAPSHOT_MAX_COMMIT_PAUSE30s. Set 0s for no bound.Set a nonnegative duration. Dingo rejects negative values during configuration validation. A positive duration limits manual and offline, live, and automatic epoch-boundary snapshots after they acquire the commit barrier. If the bound is exceeded, Dingo cancels the snapshot, removes partial output, and reports an error that wraps ErrCommitPauseExceeded.

The remote Bark lifecycle service is disabled by default. When enabled, it provides Stop, Restart, and GetStatus operations through Bark. Bark uses 127.0.0.1 by default when a lifecycle service is mounted; set barkHost to expose it on another interface.

SettingYAML keyCLI flagEnvironment variableDefault and requirements
Enable lifecycle servicebarkLifecycleEnabled--bark-lifecycle-enabledDINGO_BARK_LIFECYCLE_ENABLEDfalse. Enabling it requires a nonzero barkPort, barkClientCaFilePath, both tlsCertFilePath and tlsKeyFilePath, and at least one barkLifecycleOperatorCertificateFingerprints value.
Lifecycle operator certificatesbarkLifecycleOperatorCertificateFingerprints--bark-lifecycle-operator-certificate-fingerprintsDINGO_BARK_LIFECYCLE_OPERATOR_CERTIFICATE_FINGERPRINTSEmpty by default. Each value must be the SHA-256 fingerprint of the client certificate DER bytes, encoded as hexadecimal; colons are accepted and matching ignores case. These credentials authorize Stop and Restart only.

All lifecycle operations require a client certificate verified against barkClientCaFilePath. Stop and Restart additionally require a matching certificate fingerprint from the lifecycle operator list. GetStatus requires mTLS but does not require that allowlist. DatabaseService operator credentials remain separate and do not grant lifecycle access. Restart is available on Unix platforms; other platforms return an unsupported operation error.

Use tokenRegistry.headerSecrets for credentials required by an authenticated token registry mirror. The YAML form is a map of header names to secret values:

tokenRegistry:
headerSecrets:
Authorization: "Bearer <token>"

The environment form is DINGO_TOKEN_REGISTRY_HEADER_SECRETS, using name:value pairs separated by commas. Dingo splits each pair at the first colon, so a value can contain additional colons but cannot contain a comma. No CLI flag exists because a command line would expose these credentials in the process list.

Dingo redacts header values from rendered configuration and errors. A request with header credentials must use an HTTPS source URL or a loopback source. Dingo rejects malformed header names and values as well as reserved header names used by the transport or request. When a redirect changes the scheme or host, Dingo removes the configured credentials before following it.

Dingo v0.77.1 removes ForgePrimaryChainTipToleranceSlots and forgePrimaryChainTipToleranceSlots from YAML, the CLI, and environment variables. Remove these settings rather than replacing them with another field.

Set the optional forgeAppliedTipStalenessSlots setting in YAML, with the --forge-applied-tip-staleness-slots CLI flag, or with the DINGO_FORGE_APPLIED_TIP_STALENESS_SLOTS environment variable. Its default is 0, which disables the bound. Dingo evaluates the bound only when a corroborated upstream target exists and ignores it when the target is unknown.

The --shelley-kes-agent-socket flag supports filesystem socket paths and Linux abstract socket addresses. Dingo resolves a relative filesystem path once at client construction and reuses the resolved path across reconnects. It preserves @-prefixed abstract addresses, rejects literal NUL-prefixed addresses at client construction, and enforces platform socket-length limits.

The optional Kupo provider belongs under plugins.api.kupo. Set provider: "builtin" to use the built-in provider. Kupo requires storageMode: api; the --kupo-provider flag selects the provider from the CLI. Set plugins.api.kupo.config.port to 0 to disable the Kupo listener.

The example also contains commented deployment patterns for relay, API/data, block producer, archive, history-expiry, and development nodes. Review the warnings in each pattern before enabling settings that alter consensus, forging, or network exposure.


Doc Holiday logo

Docs authored by Doc Holiday