Seeder
Repository: Seeder GitHub
The Seeder plays a crucial role in coordinating transaction orderers (tx_orderers) by providing the necessary information for network communication.
To become a tx_orderer, a node must first register itself in the LivenessServiceManager contract. Once registered, it can join a cluster through the Seeder. The Seeder then verifies the node’s wallet address in the Liveness Contract before storing its IP address.
After successful registration, the tx_orderer receives the IP addresses of other peers in the cluster, enabling seamless internal communication between nodes.


Seeder: Managing Tx_Orderer RPC URLs
The Seeder functions as a key-value store, mapping tx_orderer addresses to their corresponding RPC URLs.
Key Responsibilities
- Stores tx_orderer addresses as keys and their RPC URLs as values. 
- Ensures that only tx_orderers registered in the LivenessServiceManager contract can register on the Seeder. 
Registration Process
To register, a tx_orderer must send a signed message containing:
- Tx_Orderer Address 
- External RPC URL (handles user transactions) 
- Cluster RPC URL (for inter-cluster messages with signature verification) 
- Cluster ID (received upon registering with the LivenessServiceManager contract) 
Validation Steps
When a registration request is received, the Seeder:
- Verifies the message signature. 
- Confirms that the tx_orderer is registered on the LivenessServiceManger contract. 
- Checks the accessibility of the external RPC URL via the - /healthendpoint.
Upon successful validation, the tx_orderer's address and RPC URLs are stored in the Seeder, making them available to Secure RPC, Tx_Orderers, and Rollups.
Deregistration Process (TBD)
A tx_orderer can deregister by sending a signed message containing:
- Tx_Orderer Address 
- Cluster ID 
Validation Steps
When a deregistration request is received, the Seeder:
- Verifies the message signature. 
- Checks if the tx_orderer has been removed from the LivenessServiceManager contract. 
If confirmed, the Seeder removes the tx_orderer’s address, making its RPC URLs unavailable.
Last updated
