Question: If I have an up-and-running 2.x domain node, how can I determine what protocol version it is using?
For example, I see that Canton 2.7.3 supports Canton protocol versions 3, 4, and 5.
> canton-open-source-2.7.3/bin/canton --version
Canton: 2.7.3
Daml Libraries: 2.7.3
Supported Canton protocol versions: List(3, 4, 5)
Depending on the Canton version with which the domain was initialized, the domain could be expecting any one of those protocol versions.
You can query the domains config from a canton console with
domain_name.config
The protocol version is returned in the result
res0: mydomain.consoleEnvironment.environment.config.DomainConfigType = CommunityDomainConfig(
init = DomainInitConfig(
identity = Some(value = Identity(generateLegalIdentityCertificate = false, nodeIdentifier = Config)),
domainParameters = DomainParametersConfig(
reconciliationInterval = 1m,
maxRatePerParticipant = 1000000,
maxInboundMessageSize = 10485760,
uniqueContractKeys = true,
requiredSigningKeySchemes = None(),
requiredEncryptionKeySchemes = None(),
requiredSymmetricKeySchemes = None(),
requiredHashAlgorithms = None(),
requiredCryptoKeyFormats = None(),
protocolVersion = 5,
devVersionSupport = false,
dontWarnOnDeprecatedPV = false,
resetStoredStaticConfig = false
)
),
2 Likes
If connecting to a remote domain you will need to run the command:
domain_name.service.get_static_domain_parameters
1 Like
rohitt
4
You can do a grpc call and use the DomainService/GetDomainParameters to get the same results.
{
ârequired_signing_key_schemesâ: [
âEd25519â,
âEcDsaP256â,
âEcDsaP384â
],
ârequired_encryption_key_schemesâ: [
âEciesP256HkdfHmacSha256Aes128Gcmâ
],
ârequired_symmetric_key_schemesâ: [
âAes128Gcmâ
],
ârequired_hash_algorithmsâ: [
âSha256â
],
ârequired_crypto_key_formatsâ: [
âTinkâ,
âRawâ,
âDerâ
],
âreconciliation_intervalâ: {
âsecondsâ: â60â,
ânanosâ: 0
},
âmax_rate_per_participantâ: 1000000,
âmax_inbound_message_sizeâ: 10485760,
âunique_contract_keysâ: true,
âprotocol_versionâ: â5.0.0â
}
2 Likes