Suppose I want to design generic crypto currency miner starting from scratch . By generic I mean it can be configured to support a large number of available crypto currencies.
How this miner knows to mine coins for bitcoin as opposed to ethereum coin (ETH), for example ? For ethereum it will connect to etherium P2P network and what is the network address OR there are some kind of API exposed by ethereum network which it invokes?
Assume this generic miner directly connects to crypto currency network for the purpose of mining coins without mining pools. Does it needs to store entire blockchain of the crypto currency in local disk storage?
The answers to above questions do not depend on wether the miner is configured to use CPU or GPU or both?