package config
- Alphabetic
- Public
- Protected
Type Members
- final case class CommunityDomainConfig(init: DomainInitConfig = DomainInitConfig(), auditLogging: Boolean = false, publicApi: CommunityPublicServerConfig = CommunityPublicServerConfig(), adminApi: CommunityAdminServerConfig = CommunityAdminServerConfig(), storage: CommunityStorageConfig = CommunityStorageConfig.Memory(), crypto: CommunityCryptoConfig = CommunityCryptoConfig(), topology: TopologyConfig = TopologyConfig(), sequencer: Database = CommunitySequencerConfig.Database(), serviceAgreement: Option[File] = None, timeTracker: DomainTimeTrackerConfig = DomainTimeTrackerConfig(), sequencerClient: SequencerClientConfig = SequencerClientConfig(), caching: CachingConfigs = CachingConfigs(), parameters: DomainNodeParametersConfig = DomainNodeParametersConfig(), monitoring: NodeMonitoringConfig = NodeMonitoringConfig()) extends DomainConfig with CommunityLocalNodeConfig with ConfigDefaults[DefaultPorts, CommunityDomainConfig] with Product with Serializable
- final case class CommunityPublicServerConfig(address: String = "127.0.0.1", internalPort: Option[Port] = None, tls: Option[TlsBaseServerConfig] = None, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), nonceExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(1), tokenExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofHours(1), overrideMaxRequestSize: Option[NonNegativeInt] = None) extends PublicServerConfig with CommunityServerConfig with Product with Serializable
- trait DomainBaseConfig extends LocalNodeConfig
- trait DomainConfig extends DomainBaseConfig
Configuration parameters for a single domain.
- final case class DomainInitConfig(identity: Option[Identity] = Some(InitConfigBase.Identity()), domainParameters: DomainParametersConfig = DomainParametersConfig()) extends InitConfigBase with Product with Serializable
- final case class DomainManagerConfig(init: DomainInitConfig = DomainInitConfig(), auditLogging: Boolean = false, adminApi: EnterpriseAdminServerConfig = EnterpriseAdminServerConfig(), storage: EnterpriseStorageConfig = EnterpriseStorageConfig.Memory(), replication: ReplicationConfig = ReplicationConfig(), crypto: EnterpriseCryptoConfig = EnterpriseCryptoConfig(), topology: TopologyConfig = TopologyConfig(), timeTracker: DomainTimeTrackerConfig = DomainTimeTrackerConfig(), sequencerClient: SequencerClientConfig = SequencerClientConfig(), caching: CachingConfigs = CachingConfigs(), monitoring: NodeMonitoringConfig = NodeMonitoringConfig(), parameters: DomainManagerNodeParameterConfig = DomainManagerNodeParameterConfig()) extends DomainBaseConfig with EnterpriseLocalNodeConfig with ConfigDefaults[DefaultPorts, DomainManagerConfig] with Product with Serializable
Configuration for a single domain manager with the following enterprise-specific config settings.
Configuration for a single domain manager with the following enterprise-specific config settings. The domain manager node is much more lightweight than the domain node, since it does not any embedded sequencers or mediators. It only runs the topology manager and bootstrap the domain in a distributed manner via console commands.
- final case class DomainManagerNodeParameterConfig(batching: BatchingConfig = BatchingConfig(), watchdog: Option[WatchdogConfig] = None) extends LocalNodeParametersConfig with Product with Serializable
- final case class DomainNodeParametersConfig(maxBurstFactor: PositiveDouble = PositiveDouble.tryCreate(0.5), batching: BatchingConfig = BatchingConfig(), watchdog: Option[WatchdogConfig] = None) extends LocalNodeParametersConfig with Product with Serializable
Various domain node parameters
Various domain node parameters
- maxBurstFactor
how forgiving should the participant rate limiting be with respect to bursts
- final case class DomainParametersConfig(reconciliationInterval: PositiveDurationSeconds = StaticDomainParameters.defaultReconciliationInterval.toConfig, maxRatePerParticipant: NonNegativeInt = StaticDomainParameters.defaultMaxRatePerParticipant, maxInboundMessageSize: MaxRequestSize = StaticDomainParameters.defaultMaxRequestSize, uniqueContractKeys: Boolean = true, requiredSigningKeySchemes: Option[NonEmpty[Set[SigningKeyScheme]]] = None, requiredEncryptionKeySchemes: Option[NonEmpty[Set[EncryptionKeyScheme]]] = None, requiredSymmetricKeySchemes: Option[NonEmpty[Set[SymmetricKeyScheme]]] = None, requiredHashAlgorithms: Option[NonEmpty[Set[HashAlgorithm]]] = None, requiredCryptoKeyFormats: Option[NonEmpty[Set[CryptoKeyFormat]]] = None, protocolVersion: Option[DomainProtocolVersion] = None, devVersionSupport: Boolean = false, betaVersionSupport: Boolean = false, dontWarnOnDeprecatedPV: Boolean = false, resetStoredStaticConfig: Boolean = false) extends ProtocolConfig with PrettyPrinting with Product with Serializable
Configuration of domain parameters that all members connecting to a domain must adhere to.
Configuration of domain parameters that all members connecting to a domain must adhere to.
To set these parameters, you need to be familiar with the Canton architecture. See the Canton architecture overview for further information.
- reconciliationInterval
determines the time between sending two successive ACS commitments. Must be a multiple of 1 second.
- maxRatePerParticipant
maximum number of messages sent per participant per second
- maxInboundMessageSize
maximum size of messages (in bytes) that the domain can receive through the public API
- uniqueContractKeys
When set, participants connected to this domain will check that contract keys are unique. When a participant is connected to a domain with unique contract keys support, it must not connect nor have ever been connected to any other domain.
- requiredSigningKeySchemes
The optional required signing key schemes that a member has to support. If none is specified, all the allowed schemes are required.
- requiredEncryptionKeySchemes
The optional required encryption key schemes that a member has to support. If none is specified, all the allowed schemes are required.
- requiredSymmetricKeySchemes
The optional required symmetric key schemes that a member has to support. If none is specified, all the allowed schemes are required.
- requiredHashAlgorithms
The optional required hash algorithms that a member has to support. If none is specified, all the allowed algorithms are required.
- requiredCryptoKeyFormats
The optional required crypto key formats that a member has to support. If none is specified, all the supported algorithms are required.
- protocolVersion
The protocol version spoken on the domain. All participants and domain nodes attempting to connect to the sequencer need to support this protocol version to connect. Must be defined, otherwise config validation will fail.
- dontWarnOnDeprecatedPV
If true, then this domain will not emit a warning when configured to use a deprecated protocol version (such as 2.0.0).
- resetStoredStaticConfig
DANGEROUS: If true, then the stored static configuration parameters will be reset to the ones in the configuration file
- final case class EnterpriseDomainConfig(init: DomainInitConfig = DomainInitConfig(), auditLogging: Boolean = false, publicApi: EnterprisePublicServerConfig = EnterprisePublicServerConfig(), adminApi: EnterpriseAdminServerConfig = EnterpriseAdminServerConfig(), storage: EnterpriseStorageConfig = EnterpriseStorageConfig.Memory(), crypto: EnterpriseCryptoConfig = EnterpriseCryptoConfig(), topology: TopologyConfig = TopologyConfig(), mediator: EnterpriseMediatorConfig = EnterpriseMediatorConfig(), sequencer: EnterpriseSequencerConfig = EnterpriseSequencerConfig.Database(), serviceAgreement: Option[File] = None, timeTracker: DomainTimeTrackerConfig = DomainTimeTrackerConfig(), sequencerClient: SequencerClientConfig = SequencerClientConfig(), caching: CachingConfigs = CachingConfigs(), parameters: DomainNodeParametersConfig = DomainNodeParametersConfig(), monitoring: NodeMonitoringConfig = NodeMonitoringConfig()) extends DomainConfig with EnterpriseLocalNodeConfig with ConfigDefaults[DefaultPorts, EnterpriseDomainConfig] with Product with Serializable
Configuration for a single enterprise domain with the following enterprise-specific config settings:
- final case class EnterprisePublicServerConfig(address: String = "127.0.0.1", internalPort: Option[Port] = None, tls: Option[TlsBaseServerConfig] = None, keepAliveServer: Option[KeepAliveServerConfig] = Some(KeepAliveServerConfig()), nonceExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofMinutes(1), tokenExpirationTime: NonNegativeFiniteDuration = NonNegativeFiniteDuration.ofHours(1), concurrencyLimit: Option[ConcurrencyLimitConfig] = None, overrideMaxRequestSize: Option[NonNegativeInt] = None) extends PublicServerConfig with EnterpriseServerConfig with Product with Serializable
- trait PublicServerConfig extends ServerConfig
The public server configuration ServerConfig used by the domain.
The public server configuration ServerConfig used by the domain.
TODO(i4056): Client authentication over TLS is currently unsupported, because there is a token based protocol to authenticate clients. This may change in the future.
- final case class RemoteDomainConfig(adminApi: ClientConfig, publicApi: Grpc) extends NodeConfig with Product with Serializable
Configuration parameters to connect to a domain running remotely
Configuration parameters to connect to a domain running remotely
- adminApi
the client settings used to connect to the admin api of the remote process.
- publicApi
these details are provided to other nodes to use for how they should connect to the sequencer if the domain node has an embedded sequencer
- final case class RemoteDomainManagerConfig(adminApi: ClientConfig) extends NodeConfig with Product with Serializable
Configuration parameters to connect to a domain manager running remotely
Configuration parameters to connect to a domain manager running remotely
- adminApi
the client settings used to connect to the admin api of the remote process.
- final case class TopologyConfig(requireParticipantCertificate: Boolean = false, open: Boolean = true) extends Product with Serializable
Configuration parameters for the domain topology manager.
Configuration parameters for the domain topology manager.
- requireParticipantCertificate
requires a participant to provide a certificate of its identity before being added to the domain.
- open
if set to true (default), the domain is open. Anyone who is able to connect to a sequencer node can join. If false, new participants are only accepted if their ParticipantState has already been registered (equivalent to allow-listing).
Value Members
- object DomainBaseConfig