Ce serait une tâche pour laquelle Python est totalement inadapté.
Le minage de crypto-monnaies, pour le bitcoin et de nombreuses alternatives, se fait actuellement sur du matériel spécialisé (des " circuits intégrés spécifiques d'application - ASIC " spécialement conçus). Le minage est passé par des phases où il était réalisable sur votre CPU, puis sur des machines équipées de certains types de GPU (Graphical Processing Units), et par une phase où il se faisait sur des FPGA (Field Programmable Gate Arrays). Il a maintenant traversé quelques générations de conceptions d'ASIC et de cycles de raffinement, et nous sommes à l'aube d'une autre génération dans ce processus.
Les ASIC de 7nm vont amener le minage de bitcoin à un tout nouveau niveau - Bitcoin News
Notez que 10nm (nanomètre) et 7nm sont à la pointe de la technologie des semi-conducteurs.
Donc, exécuter le logiciel de minage de base sur votre ordinateur de bureau ou général serait un peu comme essayer de conduire un vieux pick-up Chevy LUV dans une course de Formule 1.
Il y a deux façons d'envisager le minage de crypto-monnaies.
Si vous le considérez comme une loterie, alors vous obtiendrez probablement des résultats similaires à ceux de votre loterie. Presque personne n'affichera un gain net sur son "investissement".
Ou vous pouvez y penser comme à une course. Chaque pool de minage est dans une course pour débloquer le bloc suivant (trouver la collision de hachage partielle, au réglage de difficulté actuel, sur le nonce du bloc actuel). Les pools coordonnent leurs efforts de hachage pour éviter la duplication du travail (l'ensemble du système est basé sur les collisions de hachage partielles comme "preuve de travail" - PoW). Si vous investissez dans le bon matériel, vous achetez une voiture de course adaptée au type de course que vous essayez de mener. (La plupart du temps, vous rejoignez un pool et exécutez n'importe quel pilote logiciel qui coordonne votre ou vos racks d'équipements miniers avec leurs efforts).
Vous pouvez courir en solo. Il y a environ 144 blocs par jour. Cela représente environ un millier de courses à exécuter par semaine. Tout "gain" doit couvrir le coût de votre matériel, l'énergie pour les mineurs, l'énergie pour votre refroidissement, les frais de réseau / bande passante, ainsi que votre temps et votre expertise pour mettre tout cela en place et le maintenir. Les mineurs haut de gamme en ce moment partent pour environ 6000 $ (USD) par unité et les retards dans le remplissage des commandes sont apparemment assez longs.
Avec tout cela dit, vous pourriez en apprendre davantage sur le minage en étudiant ce code : jgarzik/pyminer
Comme vous pouvez le voir, cela nécessite l'installation d'un bitcoind compilé nativement (ce qui est généralement le cas pour les logiciels et le matériel de minage de bitcoin - ils agissent comme des services de traitement de déchargement pour le démon bitcoin et interagissent par le biais de RPC (Remote Procedure Calla) standard.
Bien sûr, vous pourriez essayer d'optimiser ce code, en utilisant divers modules supplémentaires pour Python, comme l'interface gmpy2 vers les bibliothèques mathématiques GNU mulitpreciaon, PyCUDA (et le matériel GPU approprié), et Cython par exemple.
Dans tous ces cas, vous devriez discerner un thème. Vous retracez des étapes déjà bien foulées par le reste de l'industrie (mais en sortant des sentiers battus en utilisant Python pour le faire). Cela peut être divertissant, éducatif, ou les deux. Mais il est peu probable qu'il soit financièrement gratifiant.
.