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.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.methodis 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)
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_SERVINGto a gRPC health check request.
- Default value: 30
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)
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