Skip to content
Discussions/App Development/Open a Canton Console to a Docker Compose-hosted CN validator node?Forum ↗

Open a Canton Console to a Docker Compose-hosted CN validator node?

App Development2 posts144 viewsLast activity Jan 2025
WA
WallaceKellyOP
Jan 2025

I have a 0.3.5 bundle of the Docker-Compose Based Deployment of a Validator Node running on my workstation. How do I open a Canton Console for remote administration of the participant node within that network.

WA
WallaceKelly
Jan 2025

Here is what I’m doing on my Mac. I’d welcome simplifying suggestions.

  1. In the docker-compose/validator folder, run source .env to set the environment variable IMAGE_REPO.
  2. Set the IMAGE_TAG environment variable, as was done when setting up the Docker Compose cluster.
  3. Create a canton-console.conf file with the following:
     canton {
       features.enable-preview-commands = yes
       remote-participants {
         participant {
           ledger-api {
             address = participant
             port = 5001
           }
           admin-api {
             address = participant
             port = 5002
           }
         }
       }
     }
    
  4. Identify the Docker network name with the following. For me, the network name is splice-validator_splice_validator.
    docker inspect splice-validator-participant-1 \
      | jq '.[0].NetworkSettings.Networks | keys.[0]'
    
  5. Launch the Canton Console with something like the following:
     docker run -it --rm \
       --network splice-validator_splice_validator \
       --volume ./:/host/ \
       --entrypoint '/app/bin/canton' \
       ${IMAGE_REPO}canton:${IMAGE_TAG} \
       -Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener \
       --log-level-root WARN \
       --config /host/canton-console.conf
    
  6. Confirm success by running participant.health.status within the Canton Console.
Sample results
 docker run -it --rm \
   --network splice-validator_splice_validator \
   --volume ./:/host/ \
   --entrypoint '/app/bin/canton' \
   ${IMAGE_REPO}canton:${IMAGE_TAG} \
   -Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener \
   --log-level-root WARN \
   --config /host/canton-console.conf

 Compiling (synthetic)/ammonite/predef/ArgsPredef.sc
 Compiling /app/(console)
   _____            _
  / ____|          | |
 | |     __ _ _ __ | |_ ___  _ __
 | |    / _` | '_ \| __/ _ \| '_ \
 | |___| (_| | | | | || (_) | | | |
  \_____\__,_|_| |_|\__\___/|_| |_|

   Welcome to Canton!
   Type `help` to get started. `exit` to leave.


 @ participant.health.status

 res0: NodeStatus[ParticipantStatus] = Participant id: PAR::da-wallace-1::12209...
 Uptime: 1h 41m 14.15722s
 Ports:
   ledger: 5001
   admin: 5002
 Connected domains:
   global-domain::122084177677...
 Unhealthy domains: None
 Active: true
 Components:
   db-storage : Ok()
   sync-domain : Ok()
   sync-domain-ephemeral : Ok()
   sequencer-client : Ok()
   acs-commitment-processor : Ok()
 Version: 3.2.0-SNAPSHOT
 Supported protocol version(s): 32
← Back to Discussions