Initialise sequencer/mediator in distributed setup

Hi,

I’m trying to setup sequencer, mediator and domain manager separately. How do I initialise the sequencer?

From the sequencer canton-console

@ sequencer1.is_initialized 
res6: Boolean = false

@ sequencer1.is_running 
res7: Boolean = true

@ health.status 
res8: EnterpriseCantonStatus = Sequencer 'sequencer1' cannot be reached: Sequencer 'sequencer1' has not been initialized
@ sequencer1.config.adminApi 
res10: EnterpriseAdminServerConfig = EnterpriseAdminServerConfig(
  address = "127.0.0.1",
  internalPort = Some(value = 10019),
  tls = None,
  keepAliveServer = Some(
    value = KeepAliveServerConfig(
      time = 40s,
      timeout = 20s,
      permitKeepAliveTime = 20s
    )
  ),
  maxInboundMessageSize = 10485760,
  concurrencyLimit = None
)

From the mediator console

@ mediator1.sequencer_connection.set("http://localhost:10019") 
ERROR c.d.c.c.EnterpriseConsoleEnvironment - Request failed for mediator1. Is the server initialized or is the server incompatible?
  GrpcServiceUnavailable: UNIMPLEMENTED/Method not found: com.digitalasset.canton.domain.admin.v0.EnterpriseSequencerConnectionService/SetConnection
  Request: SetConnection(GrpcSequencerConnection(endpoints = http://localhost:10019, transportSecurity = false, customTrustCertificates = None()))
  Trailers: Metadata(content-type=application/grpc)
  Command SequencerConnectionAdministration$sequencer_connection$.set invoked from cmd2.sc:1
com.digitalasset.canton.console.CommandFailure: Command execution failed.


Hi @Frankie

The initialization is a result of bootstrapping a domain, or more precisely when you successfully onboard your sequencer into a domain. This is not required when you use a single domain node that contains a mediator and a sequencer node as well as the bootstrap is done implicitly.
Please find relevant documentation here:
https://docs.daml.com/canton/usermanual/manage_domain_entities.html#domain-bootstrapping

Also keep in mind that the error message you see does not complain about the sequencer, but the mediator’s admin API.

Also the sequencerConnection that you try to set should not point to the Admin API of the sequencer, but the public API of the sequencer. That is where all the nodes interacting with it should connect to.

Kind Regards,
Mate

1 Like