Produces onboarding payloads (topologyTransactions, multiHash, partyId) from GenerateExternalPartyTopologyParams: synchronizer, partyHint, publicKey (SigningPublicKey triple), optional quorum knobs (localParticipantObservationOnly, otherConfirmingParticipantUids, confirmationThreshold, observingParticipantUids).
Receiver: await canton.ledger.generateExternalPartyTopology
Setup
import { Canton } from '@fairmint/canton-node-sdk';
const canton = new Canton({
network: 'devnet',
provider: '5n',
partyId: 'OWN_PARTY_ID',
});
Minimal example
const topo = await canton.ledger.generateExternalPartyTopology({
synchronizer: 'global-synchronizer',
partyHint: 'alice-external',
publicKey: {
format: 'CRYPTO_KEY_FORMAT_DER_X509_SUBJECT_PUBLIC_KEY_INFO',
keyData: 'BASE64…',
keySpec: 'SIGNING_KEY_SPEC_EC_CURVE25519',
},
});
Parameters — GenerateExternalPartyTopologyParams
See GenerateExternalPartyTopologyParamsSchema in source—covers quorum thresholds plus observers versus confirming participant UID hints.
Returns — GenerateExternalPartyTopologyResponse
Includes partyId, topologyTransactions, multiHash outputs Canton expects downstream signatures against prior to allocateExternalParty.
Errors and pitfalls
Hints reused across concurrent onboarding flows collide—ensure partyHint uniqueness relative to Canton allocator conventions.
Auth and party
Participant onboarding scopes gated identical to allocate endpoints using bearer credential parity.