To support a custom indexer application, we need to be able to control chainsync programmatically; the indexer should be able to decide where syncing should begin from, at runtime.
- Make PeerNetworkInterface listen for "sync" commands over some new topic. When it receives one of these commands, it should reset the chain to the specified point.
- Make the PeerNetworkInterface
sync-point configuration setting optional. If it's not specified, the module should not start running chainsync until it receives a "sync" command.