Node Sharing (Pro)
ChainLaunch Pro Feature
Node sharing requires ChainLaunch Pro. Learn more about Pro features.
Node sharing lets two ChainLaunch instances exchange node information peer-to-peer, enabling multi-organization consortiums where each company runs their own ChainLaunch.
How It Works
- Instance A generates an invitation (a signed JWT token)
- Instance B accepts the invitation, establishing a trust link
- Both instances can now sync node metadata (IPs, ports, certificates)
- Nodes from Instance B appear as "external nodes" in Instance A, and vice versa
No blockchain data is shared — only the metadata needed to connect nodes across organizations.
Generate an Invitation
Bidirectional (Recommended)
Both instances can see each other's nodes:
chainlaunch nodesharing generate-node-invitation --bidirectional
Output:
Invitation JWT: eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9...
One-Way
Only the accepting instance shares its nodes:
chainlaunch nodesharing generate-node-invitation
Accept an Invitation
On the other ChainLaunch instance:
chainlaunch nodesharing accept-node-invitation \
--invitation_jwt "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9..."
This establishes the trust link between both instances.
Sync External Nodes
After accepting an invitation, sync the remote nodes:
chainlaunch nodesharing sync-external-nodes --peer_node_id "1"
External nodes now appear in the ChainLaunch UI under Nodes > External.
Using External Nodes in Networks
Once synced, external nodes can be used when creating networks:
- Go to Networks > Create Network
- When selecting nodes, external nodes appear alongside local ones
- Select both local and external nodes for your channel
- ChainLaunch handles the cross-instance communication
API Reference
Generate Invitation
curl -X POST http://localhost:8100/api/v1/nodesharing/invitations \
-H "Content-Type: application/json" \
-d '{"bidirectional": true}'
Accept Invitation
curl -X POST http://localhost:8100/api/v1/nodesharing/accept \
-H "Content-Type: application/json" \
-d '{"invitation_jwt": "eyJ..."}'
Sync Nodes
curl -X POST http://localhost:8100/api/v1/nodesharing/sync \
-H "Content-Type: application/json" \
-d '{"peer_node_id": 1}'
List Peers
curl http://localhost:8100/api/v1/nodesharing/peers | jq
Security
- Invitations are signed JWTs with expiration
- Communication between instances uses TLS
- Each instance only shares node metadata (hostnames, ports, public certificates)
- Private keys never leave their origin instance
- Invitations can be revoked at any time
Next Steps
- Multi-Org Fabric Network for building consortium networks
- RBAC & Permissions to control who can manage node sharing
- Security Best Practices for securing inter-instance communication