The current ServiceRegistry smart contract in Livepeer stores a single serviceURI string per orchestrator Ethereum address. This works for basic discovery but has limitations:
- Single endpoint only: Multi-node operators can’t advertise all their nodes without multiple on-chain identities.
- No structured metadata: Broadcasters can’t pre-filter by location, capabilities, or other attributes.
- On-chain churn: Any endpoint change requires a transaction.
- Opaque capabilities: Job type support, GPU specs, or other features aren’t discoverable until after connection.