ScalarDL Configurations
This page describes the following available configurations for ScalarDL:
Ledger configurationsβ
You can configure several settings for the Ledger server, such as service port settings, authentication settings, and TLS settings.
auditor.cert_holder_id
(Deprecated)β
- Field:
scalar.dl.ledger.auditor.cert_holder_id
- Description: Auditor certificate holder ID. This field is used to identify the certificate holder for the Auditor.
- Default value:
auditor
This configuration is deprecated and will be deleted in release 5.0.0 since Ledger-Auditor authentication will use HMAC only. For more details about authentication, see the ScalarDL Authentication Guide.
auditor.cert_version
(Deprecated)β
- Field:
scalar.dl.ledger.auditor.cert_version
- Description: Auditor certificate version. This field specifies the version of the Auditor certificate.
- Default value:
1
This configuration is deprecated and will be deleted in release 5.0.0 since Ledger-Auditor authentication will use HMAC only. For more details about authentication, see the ScalarDL Authentication Guide.
auditor.enabled
β
- Field:
scalar.dl.ledger.auditor.enabled
- Description: A flag to enable Auditor. This field determines whether the Auditor is enabled.
- Default value:
false
authentication.hmac.cipher_key
β
- Field:
scalar.dl.ledger.authentication.hmac.cipher_key
- Description: A cipher key used to encrypt and decrypt the HMAC secret keys of client entities. This field is used to specify the cipher key for HMAC authentication.
- Default value: empty (Optional)
authentication.method
β
- Field:
scalar.dl.ledger.authentication.method
- Description: The authentication method for a client and servers. This field specifies the authentication method used between clients and servers.
- Default value: empty (Optional)
direct_asset_access.enabled
β
- Field:
scalar.dl.ledger.direct_asset_access.enabled
- Description: A flag to access the asset table directly without going through
asset_metadata
. This field determines whether direct access to the asset table is enabled. - Default value:
false
executable_contracts
β
- Field:
scalar.dl.ledger.executable_contracts
- Description: Binary names of contracts that can be executed. This field specifies the binary names of executable contracts.
- Default value: empty
function.enabled
β
- Field:
scalar.dl.ledger.function.enabled
- Description: A flag to enable function for mutable database. This field determines whether the function for mutable database is enabled.
- Default value:
true
name
β
- Field:
scalar.dl.ledger.name
- Description: Name of the ledger. This field specifies the name of the ledger.
- Default value:
Scalar Ledger
(Optional)
namespace
β
- Field:
scalar.dl.ledger.namespace
- Description: Namespace of ledger tables. This field specifies the namespace of the ledger tables.
- Default value:
scalar
(Optional)
proof.enabled
β
- Field:
scalar.dl.ledger.proof.enabled
- Description: A flag to enable asset proof that is used to verify assets. This field determines whether asset proof is enabled.
- Default value:
false
proof.private_key_path
β
- Field:
scalar.dl.ledger.proof.private_key_path
- Description: The path of a private key file in PEM format. This field specifies the path of the private key file in PEM format.
- Default value: empty
proof.private_key_pem
β
- Field:
scalar.dl.ledger.proof.private_key_pem
- Description: PEM-encoded private key data. This field specifies the PEM-encoded private key data.
- Default value: empty
server.admin_port
β
- Field:
scalar.dl.ledger.server.admin_port
- Description: Server admin port. This field specifies the server admin port.
- Default value:
50053
server.decommissioning_duration_secs
β
- Field:
scalar.dl.ledger.server.decommissioning_duration_secs
- Description: Decommissioning duration where the servers are running but returning
NOT_SERVING
to a gRPC health check request. This field specifies the decommissioning duration. - Default value:
30 seconds
(Optional)
server.grpc.max_inbound_message_size
β
- Field:
scalar.dl.ledger.server.grpc.max_inbound_message_size
- Description: The maximum message size allowed for a single gRPC frame. This field specifies the maximum message size for a single gRPC frame.
- Default value: empty (Optional)
server.grpc.max_inbound_metadata_size
β
- Field:
scalar.dl.ledger.server.grpc.max_inbound_metadata_size
- Description: The maximum size of metadata allowed to be received. This field specifies the maximum size of metadata allowed to be received.
- Default value:
8 KiB
(Optional)
server.port
β
- Field:
scalar.dl.ledger.server.port
- Description: Server port. This field specifies the server port.
- Default value:
50051
server.privileged_port
β
- Field:
scalar.dl.ledger.server.privileged_port
- Description: Server privileged port. This field specifies the server privileged port.
- Default value:
50052
server.prometheus_exporter_port
β
- Field:
scalar.dl.ledger.server.prometheus_exporter_port
- Description: Prometheus exporter port. This field specifies the Prometheus exporter port.
- Default value:
8080
server.tls.cert_chain_path
β
- Field:
scalar.dl.ledger.server.tls.cert_chain_path
- Description: Certificate chain file used for TLS communication. This field specifies the certificate chain file used for TLS communication.
- Default value: empty
server.tls.enabled
β
- Field:
scalar.dl.ledger.server.tls.enabled
- Description: A flag to enable TLS between clients and servers. This field determines whether TLS is enabled between clients and servers.
- Default value:
false
server.tls.private_key_path
β
- Field:
scalar.dl.ledger.server.tls.private_key_path
- Description: Private key file used for TLS communication. This field specifies the private key file used for TLS communication.
- Default value: empty
servers.authentication.hmac.secret_key
β
- Field:
scalar.dl.ledger.servers.authentication.hmac.secret_key
- Description: A secret key of HMAC for the authentication of messages between (Ledger and Auditor) servers. This field specifies the secret key of HMAC for authentication between Ledger and Auditor servers.
- Default value: empty
tx_state_management.enabled
β
- Field:
scalar.dl.ledger.tx_state_management.enabled
- Description: A flag to manage transaction states by Ledger. This field determines whether transaction state management is enabled by the Ledger.
- Default value:
false
Auditor configurationsβ
You can configure several settings for the Auditor server, such as service port settings, authentication settings, and TLS settings.
authentication.hmac.cipher_key
β
- Field:
scalar.dl.auditor.authentication.hmac.cipher_key
- Description: A cipher key used to encrypt and decrypt the HMAC secret keys of client entities. This is used only when
scalar.dl.auditor.authentication.method
is set to "hmac". - Default value: empty (Optional)
authentication.method
β
- Field:
scalar.dl.auditor.authentication.method
- Description: The authentication method for a client and Auditor servers. This must be consistent with the client configuration.
- Default value:
digital-signature
(Optional)
authorization.credential
β
- Field:
scalar.dl.auditor.authorization.credential
- Description: An authorization credential (e.g., Bearer token).
- Default value: empty (Optional)
grpc.deadline_duration_millis
β
- Field:
scalar.dl.auditor.grpc.deadline_duration_millis
- Description: Deadline duration in milliseconds for each gRPC request.
- Default value: empty (Optional)
ledger.host
β
- Field:
scalar.dl.auditor.ledger.host
- Description: Hostname or IP address of the Ledger server.
- Default value:
localhost
ledger.port
β
- Field:
scalar.dl.auditor.ledger.port
- Description: Port number of the Ledger server.
- Default value:
50051
ledger.privileged_port
β
- Field:
scalar.dl.auditor.ledger.privileged_port
- Description: Privileged port number of the Ledger server.
- Default value:
50052
name
β
- Field:
scalar.dl.auditor.name
- Description: Name of the auditor.
- Default value:
Scalar Auditor
(Optional)
namespace
β
- Field:
scalar.dl.auditor.namespace
- Description: Namespace of auditor tables.
- Default value:
auditor
(Optional)
server.admin_port
β
- Field:
scalar.dl.auditor.server.admin_port
- Description: Server admin port.
- Default value:
40053
server.decommissioning_duration_secs
β
- Field:
scalar.dl.auditor.server.decommissioning_duration_secs
- Description: Decommissioning duration in seconds where the servers are running but returning
NOT_SERVING
to a gRPC health check request. - Default value:
30
server.grpc.max_inbound_message_size
β
- Field:
scalar.dl.auditor.server.grpc.max_inbound_message_size
- Description: The maximum message size allowed for a single gRPC frame.
- Default value: empty (Optional)
server.grpc.max_inbound_metadata_size
β
- Field:
scalar.dl.auditor.server.grpc.max_inbound_metadata_size
- Description: The maximum size of metadata allowed to be received.
- Default value:
8 KiB
(Optional)
server.port
β
- Field:
scalar.dl.auditor.server.port
- Description: Server port.
- Default value:
40051
server.privileged_port
β
- Field:
scalar.dl.auditor.server.privileged_port
- Description: Server privileged port.
- Default value:
40052
server.prometheus_exporter_port
β
- Field:
scalar.dl.auditor.server.prometheus_exporter_port
- Description: Prometheus exporter port.
- Default value:
8080
server.tls.enabled
β
- Field:
scalar.dl.auditor.server.tls.enabled
- Description: A flag to enable TLS communication between clients and servers.
- Default value:
false
server.tls.cert_chain_path
β
- Field:
scalar.dl.auditor.server.tls.cert_chain_path
- Description: Path to the certificate chain file used for TLS communication.
- Default value: empty
server.tls.private_key_path
β
- Field:
scalar.dl.auditor.server.tls.private_key_path
- Description: Path to the private key file used for TLS communication.
- Default value: empty
servers.authentication.hmac.secret_key
β
- Field:
scalar.dl.auditor.servers.authentication.hmac.secret_key
- Description: A secret key of HMAC for the authentication of messages between Ledger and Auditor servers.
- Default value: empty (Optional)
tls.enabled
β
- Field:
scalar.dl.auditor.tls.enabled
- Description: A flag to enable TLS communication.
- Default value:
false
tls.ca_root_cert_path
β
- Field:
scalar.dl.auditor.tls.ca_root_cert_path
- Description: Path to the custom CA root certificate for TLS communication.
- Default value: empty
tls.ca_root_cert_pem
β
- Field:
scalar.dl.auditor.tls.ca_root_cert_pem
- Description: PEM-encoded custom CA root certificate for TLS communication.
- Default value: empty
tls.override_authority
β
- Field:
scalar.dl.auditor.tls.override_authority
- Description: Custom authority for TLS communication.
- Default value: empty
Client configurationsβ
You can configure several settings for clients, such as Ledger server and Auditor server settings, authentication settings, and TLS settings.
auditor.authorization.credential
β
- Field:
scalar.dl.client.auditor.authorization.credential
- Description: An authorization credential for Auditor.
- Default value: empty (Optional)
auditor.enabled
β
- Field:
scalar.dl.client.auditor.enabled
- Description: A flag to enable Auditor.
- Default value:
false
auditor.host
β
- Field:
scalar.dl.client.auditor.host
- Description: A hostname or IP address of the Auditor.
- Default value:
localhost
auditor.linearizable_validation.contract_id
β
- Field:
scalar.dl.client.auditor.linearizable_validation.contract_id
- Description: The ID of the ValidateLedger contract.
- Default value:
validate-ledger
auditor.port
β
- Field:
scalar.dl.client.auditor.port
- Description: A port number of the Auditor.
- Default value:
40051
auditor.privileged_port
β
- Field:
scalar.dl.client.auditor.privileged_port
- Description: A port number of the Auditor for privileged services.
- Default value:
40052
auditor.tls.ca_root_cert_path
β
- Field:
scalar.dl.client.auditor.tls.ca_root_cert_path
- Description: A custom CA root certificate (file path) for TLS communication for Auditor.
- Default value: empty
auditor.tls.ca_root_cert_pem
β
- Field:
scalar.dl.client.auditor.tls.ca_root_cert_pem
- Description: A custom CA root certificate (PEM data) for TLS communication for Auditor.
- Default value: empty
auditor.tls.enabled
β
- Field:
scalar.dl.client.auditor.tls.enabled
- Description: A flag to enable TLS communication for Auditor.
- Default value:
false
auditor.tls.override_authority
β
- Field:
scalar.dl.client.auditor.tls.override_authority
- Description: A custom authority for TLS communication for Auditor.
- Default value: empty
authentication_method
β
- Field:
scalar.dl.client.authentication_method
- Description: The authentication method for a client and servers.
- Default value: empty (Optional)
authorization.credential
β
- Field:
scalar.dl.client.authorization.credential
- Description: An authorization credential for Ledger.
- Default value: empty (Optional)
entity.id
β
- Field:
scalar.dl.client.entity.id
- Description: A unique ID of a requester (e.g., a user or a device).
- Default value: empty
entity.identity.hmac.secret_key
β
- Field:
scalar.dl.client.entity.identity.hmac.secret_key
- Description: A secret key for HMAC.
- Default value: empty
entity.identity.hmac.secret_key_version
β
- Field:
scalar.dl.client.entity.identity.hmac.secret_key_version
- Description: The version of the HMAC key.
- Default value: empty (Optional)
grpc.deadline_duration_millis
β
- Field:
scalar.dl.client.grpc.deadline_duration_millis
- Description: A deadline duration for each request.
- Default value: empty (Optional)
grpc.max_inbound_message_size
β
- Field:
scalar.dl.client.grpc.max_inbound_message_size
- Description: The maximum message size allowed for a single gRPC frame.
- Default value: empty (Optional)
grpc.max_inbound_metadata_size
β
- Field:
scalar.dl.client.grpc.max_inbound_metadata_size
- Description: The maximum size of metadata allowed to be received.
- Default value: empty (Optional)
mode
β
- Field:
scalar.dl.client.mode
- Description: A client mode (CLIENT or INTERMEDIARY).
- Default value: empty (Optional)
server.host
β
- Field:
scalar.dl.client.server.host
- Description: A hostname or IP address of the server.
- Default value:
localhost
server.port
β
- Field:
scalar.dl.client.server.port
- Description: A port number of the server.
- Default value:
50051
server.privileged_port
β
- Field:
scalar.dl.client.server.privileged_port
- Description: A port number of the server for privileged services.
- Default value:
50052
tls.ca_root_cert_path
β
- Field:
scalar.dl.client.tls.ca_root_cert_path
- Description: A custom CA root certificate (file path) for TLS communication for Ledger.
- Default value: empty
tls.ca_root_cert_pem
β
- Field:
scalar.dl.client.tls.ca_root_cert_pem
- Description: A custom CA root certificate (PEM data) for TLS communication for Ledger.
- Default value: empty
tls.enabled
β
- Field:
scalar.dl.client.tls.enabled
- Description: A flag to enable TLS communication for Ledger.
- Default value:
false
tls.override_authority
β
- Field:
scalar.dl.client.tls.override_authority
- Description: A custom authority for TLS communication for Ledger.
- Default value: empty