Domains

What is a domain?

In a composed solution, each domain is a sub-network. A Participant Node connects to one or more Domains, enabling transactions that span Domains

Domains in Canton
Figure 1. Domains in Canton

For more information about Participants please check Participants

How do I create a domain?

To create a Domain, go to the Domains tab and click on the “Create” button to open a side window.

Create Domain button
Figure 2. Create Domain button

1- Provide a Domain name (required).

2- Fill in the main settings

Using a predefined image is recommended for compatibility issues. However, you can select your image if needed. If you want to use an image from a private repository you should specify an imagePullSecret. You can create an imagePullSecret in your Kubernetes cluster and reference it by name here.
  • Choose domain image

  • Enable Daemon if required

  • Enable Ingress if required

  • Resources allocation:

    • Requested CPU. Guaranteed CPU resources that will be allocated.

    • CPU limit. Maximum CPU resources that will be allocated.

    • Requested memory (MB). Guaranteed amount of RAM that will be allocated.

    • Memory limit (MB). The maximum amount of RAM that can be allocated.

    • Storage size.

  • You can add custom environment variables if needed.

3- Fill in Topology

  • Enable Embedded Topology if needed

  • Topology

    • Choose between using the form or raw view topology

    • Choose Admin Port

    • Choose Public port

    • Choose Storage type

      • Memory

      • PostgreSQL

        • Choose User

        • Choose Password

        • Choose Storage size

      • External

        • Choose User

        • Choose Password

        • Choose Hostname

        • Choose Port

When selecting PostgreSQL as storage type, a postgres database will be provisioned in the cluster. When selecting external, a database is expected to be hosted at given hostname and port with the same name as the domain and a user with given credentials.

4- Bootstrap

  • Provide bootstrap commands if needed