@fairmint/canton-node-sdk
v0.0.135
Published
Canton Node SDK
Readme
Canton Node SDK
A TypeScript SDK for interacting with Canton blockchain nodes.
📚 Documentation
For complete documentation, examples, and API references, visit: https://sdk.canton.fairmint.com/
Specialized Guides
- 🔐 External Signing Guide - Create and manage external parties with user-controlled private keys
Quick Start
npm install @fairmint/canton-node-sdkimport { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
const client = new LedgerJsonApiClient(config);
const version = await client.getVersion();For Contributors
See CONTRIBUTING.md for information about setting up the development environment.
Testing with LocalNet
The SDK includes comprehensive integration testing against a local Splice network (LocalNet). See the LocalNet Testing Guide for detailed instructions.
We also provide integration tests following the cn-quickstart approach. See test/integration/quickstart/README.md for details.
Quick Start
# Setup CN-Quickstart LocalNet (recommended)
npm run localnet:quickstart
# Environment variables are written to .env.localnet
cat .env.localnet
# Configure SDK environment
cp example.env.localnet .env
# Start LocalNet
npm run localnet:start
# Run regression tests
npm run test:regression
# Or run quickstart-style integration tests
npm run test:integration
# Stop LocalNet
npm run localnet:stopℹ️ If you run
npm run localnet:setupinstead of the quickstart, make sure you have aGITHUB_TOKEN(orSPLICE_GITHUB_TOKEN) with read access to the Splice releases exported so the bundle download can succeed.
Available Commands
npm run localnet:quickstart- Setup CN-Quickstart LocalNet (recommended)npm run localnet:setup- Download and setup Splice LocalNet (alternative)npm run localnet:start- Start LocalNet servicesnpm run localnet:stop- Stop LocalNet servicesnpm run localnet:status- Check LocalNet statusnpm run test:integration- Run quickstart-style integration testsnpm run test:localnet- Run tests against LocalNetnpm run test:regression- Alias for test:localnet
CI/CD
The project uses CircleCI for continuous integration:
- Unit Tests: Run on every commit
- Linting: Code quality checks on every commit
- Integration Tests: LocalNet regression tests on every commit
- Nightly Regression: Scheduled daily tests at 2 AM UTC
See .circleci/config.yml for the complete CI configuration.
