Skip to content

Conversation

@friedemannf
Copy link
Member

@friedemannf friedemannf commented Dec 18, 2025

This adds support for spinning up a local Canton Network blockchain to the testing framework.


This pull request adds support for the Canton blockchain to the testing framework. It introduces new configuration options, endpoints, and documentation for running and interacting with a local Canton network, including support for multiple validators and detailed API access. The changes span documentation, configuration, workflow, and implementation.

Canton blockchain support:

  • Added a new TypeCanton blockchain type and FamilyCanton chain family, along with support for the canton value in configuration validation and chain family mapping in blockchain.go. [1] [2] [3]
  • Introduced a new NumberOfCantonValidators field in the blockchain input struct to configure the number of Canton validators, and extended the output struct to include new CantonEndpoints for accessing Canton-specific APIs. [1] [2]
  • Implemented the newCanton function in canton.go, which provisions the required containers (Postgres, Canton, Splice, Nginx), sets up endpoints for the super validator and participants, and returns the configuration for use in tests.

Documentation and workflow:

  • Added comprehensive documentation for the Canton blockchain client, configuration, endpoints, authentication, and usage examples in canton.md.
  • Updated the framework changelog to note the addition of Canton blockchain support.
  • Added a Canton smoke test job to the GitHub Actions workflow for golden tests.

@friedemannf friedemannf requested a review from makramkd January 7, 2026 18:51
@friedemannf friedemannf marked this pull request as ready for review January 7, 2026 18:52
@friedemannf friedemannf requested a review from a team as a code owner January 7, 2026 18:52
Copilot AI review requested due to automatic review settings January 7, 2026 18:52
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces support for Canton blockchain networks within the testing framework, enabling developers to spin up Canton network simulations with configurable numbers of validators.

Key changes include:

  • Added Canton as a new blockchain type with validation and family mappings
  • Implemented container orchestration for Canton infrastructure (Postgres, Canton nodes, Splice validators, and Nginx proxy)
  • Configured reverse proxy routing for accessing Canton participant APIs through standardized localhost endpoints

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
framework/components/blockchain/blockchain.go Adds Canton type constants, input validation, and routing logic for Canton network initialization
framework/components/blockchain/canton.go Implements the main Canton network setup function coordinating container deployment
framework/components/blockchain/canton/canton.go Defines Canton node container configuration including health checks and HOCON config generation
framework/components/blockchain/canton/splice.go Configures Splice application containers for Canton validator operations
framework/components/blockchain/canton/postgres.go Sets up Postgres database containers with initialization scripts for Canton storage
framework/components/blockchain/canton/nginx.go Configures Nginx reverse proxy for routing to Canton participant APIs
framework/.changeset/v0.13.0.md Documents the feature addition in changelog

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sebawo sebawo requested review from Tofel and skudasov January 7, 2026 19:22
@friedemannf friedemannf requested review from Tofel and Copilot January 9, 2026 12:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@friedemannf friedemannf requested a review from Copilot January 9, 2026 12:53
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 13 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@friedemannf friedemannf changed the title Add Canton Blockchain Add Canton Blockchain (NONEVM-3438) Jan 9, 2026
@friedemannf friedemannf merged commit 20805b0 into main Jan 9, 2026
73 of 75 checks passed
@friedemannf friedemannf deleted the canton branch January 9, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants