NOUVEAU : Helius acquiert Light Protocol
Comment miner Ore
Blog/Développement

Comment miner Ore : guide pour débutants

Ingénieur en expérience développeurAnam Ansari sur XAnam Ansari sur LinkedIn
12 min de lecture
Sommaire

Un grand merci à Hardhat Chad et 0xIchigo pour leurs précieux retours et leur aide dans la rédaction de cet article !

Ore est un token de preuve de travail construit sur Solana que tout le monde peut miner, où qu’il se trouve. Peu après son lancement le 2 avril 2024, il a été présenté comme le projet qui avait mis Solana à genoux. Solana subissait une importante congestion due aux transactions indésirables, dont la plupart provenaient alors des mineurs d’Ore. Le créateur d’Ore, Hardhat Chad, a ensuite suspendu le minage le 16 avril 2024. Le 6 août 2024, Ore v2 est sorti et le minage a repris. Cette version introduit un nouvel algorithme de minage, Drillx, ainsi que des incitations destinées à encourager le staking du token. Depuis sa sortie, les transactions Ore représentent actuellement ~5 % de chaque bloc. 

Dans cet article, nous explorerons la preuve de travail et le minage en remontant à leurs origines dans Bitcoin. Nous comparerons ensuite le minage d’Ore à celui de Bitcoin avant d’apprendre à miner de l’ORE via l’application web et l’interface de ligne de commande (CLI).

Bitcoin

Bitcoin est la première cryptomonnaie, lancée par Satoshi Nakamoto en 2008. Il a introduit le concept des blockchains, dans lesquelles des blocs (c’est-à-dire des lots de transactions) sont reliés entre eux et rendus immuables grâce au chaînage de hachages. En substance, le hachage d’un bloc est un nombre hexadécimal de 64 chiffres obtenu en transmettant les données des transactions contenues dans un bloc à l’algorithme de hachage SHA256. Chaque bloc utilise le hachage du bloc précédent pour les relier, créant ainsi une chaîne de blocs. Cette propriété rend les blockchains immuables : si les données sont modifiées, la valeur de hachage ne correspond plus. 

N’importe qui peut calculer et fournir le hachage d’un bloc. Le réseau commence par définir une valeur de hachage cible. Celle-ci sert à déterminer la difficulté de minage. Cette difficulté est un paramètre dynamique qui s’ajuste tous les 2 016 blocs, soit environ toutes les deux semaines. Elle garantit que les blocs sont ajoutés à la blockchain à un rythme régulier d’environ un bloc toutes les 10 minutes. Les mineurs (c’est-à-dire toute personne disposant d’une machine et d’un logiciel de minage) résolvent un problème mathématique complexe afin de trouver un hachage inférieur ou égal au hachage cible. Tous les mineurs du réseau poursuivent ce calcul jusqu’à ce que la bonne combinaison de hachage et de nonce (nombre utilisé une seule fois) soit trouvée. Le premier à la trouver reçoit une récompense en Bitcoin ainsi que des frais pour le travail accompli. Le minage consiste donc simplement à résoudre des problèmes mathématiques complexes, à soumettre des hachages et à recevoir une récompense pour les calculs effectués. La résolution de ces problèmes exige toutefois une puissance de calcul et une quantité d’énergie considérables. 

Ce processus de minage est appelé preuve de travail (PoW). Le travail réalisé pour générer le hachage gagnant sert de preuve que le mineur a validé les transactions du bloc et que ce travail a bien été effectué. La PoW est un mécanisme de consensus. Le consensus est atteint après la fermeture du bloc et son ajout à la chaîne. Pendant qu’il propose de nouveaux blocs et génère des hachages gagnants, chaque mineur valide également chaque nouveau bloc au moment de son ajout. Chaque mineur indique au réseau que la validité du bloc est confirmée. Les nouveaux blocs utilisent le hachage d’en-tête du bloc précédent, créant une chaîne de preuves qui conduit au consensus du réseau. C’est pourquoi ces preuves sont appelées mécanismes de consensus : elles constituent le fondement du processus par lequel le consensus est atteint. Cela ne nécessite que peu d’énergie ou de puissance de calcul supplémentaire, car chaque nœud de minage effectue cette tâche tout en minant le dernier bloc. À mesure que de nouveaux blocs sont ajoutés, le réseau les confirme.

L’offre totale de Bitcoin est plafonnée à 21 millions. Au moment de la rédaction de cet article, environ 19 millions de bitcoins ont été minés. En 2009, le bloc de genèse (c’est-à-dire le premier bloc) a été miné par son créateur pseudonyme, Satoshi Nakamoto, qui a reçu une récompense de 50 bitcoins. 

Ore

Comme Bitcoin, Ore est un token de preuve de travail, mais il est implémenté sous la forme d’un programme sur Solana. Il peut être miné sur n’importe quel ordinateur portable, téléphone ou ordinateur personnel. Ore v1 présentait quelques problèmes. Tout d’abord, le système était trop facile à exploiter, ce qui a généré une quantité massive de transactions indésirables et congestionné Solana. Un autre problème était la vente immédiate de l’ORE : les mineurs n’avaient aucune raison de faire autre chose que de réclamer et vendre leurs tokens, ce qui a fait chuter leur valeur d’environ 4 000 $ à près de 120 $.

Pour survivre, Ore v2 a apporté plusieurs changements importants par rapport à la version v1, plus simple :

  1. L’introduction d’un nouvel algorithme de minage plus difficile à exploiter, appelé DrillX, garantit que même les mineurs utilisant un simple téléphone ou ordinateur portable ne seront jamais exclus du minage d’Ore
  2. L’introduction du staking d’ORE pour augmenter les récompenses de minage crée une demande qui incite les mineurs à conserver leurs tokens plutôt qu’à les réclamer et les vendre

Comme Bitcoin, Ore dispose également d’une offre fixe de 21 millions de tokens. En moyenne, seul 1 nouvel ORE sera miné chaque minute. Les 21 millions d’ORE devraient donc avoir été entièrement minés vers 2064. Je vous recommande de lire l’article de kelxyz sur le blog Helius, qui présente Ore plus en détail.

Puissance de hachage

La puissance de hachage désigne la puissance de calcul utilisée pour miner une cryptomonnaie. Elle se mesure précisément par le nombre de calculs (hachages) effectués par seconde. Une puissance de hachage plus élevée indique une capacité de calcul supérieure, ce qui permet aux mineurs de résoudre les problèmes plus rapidement et d’augmenter leurs chances d’obtenir des récompenses.

Dans ce cas, votre appareil résoudra le problème et enverra une transaction pour miner de l’Ore. Pour vérifier la puissance de hachage de votre appareil, ouvrez le Terminal ou l’Invite de commandes et exécutez la commande ore benchmark. Vous pouvez également la vérifier en consultant le site web d’Ore. Les captures d’écran ci-dessous montrent que mon appareil peut générer 600 hachages par minute (snif, il me faut un meilleur ordinateur portable). 

Drillx, le nouveau protocole introduit par Ore v2, repose sur le CPU. Un appareil doté de davantage de cœurs peut donc effectuer des calculs plus rapidement. Un cœur est une unité de traitement individuelle au sein du CPU, capable d’exécuter des instructions. Plus un CPU possède de cœurs, plus il peut traiter de tâches simultanément. 

Comment miner Ore ?

Vous pouvez miner de l’ORE via l’interface de ligne de commande (CLI) ou l’application web du site d’Ore. Miner de l’ORE consiste essentiellement à résoudre un problème mathématique complexe pour trouver le hachage, puis à envoyer la transaction. Il existe donc deux moyens d’augmenter vos récompenses de minage : utiliser un appareil puissant et parvenir à faire aboutir les transactions plus rapidement. Drillx, le nouveau protocole introduit par Ore v2, repose sur le CPU. Un appareil doté de davantage de cœurs peut donc effectuer des calculs plus rapidement. Un cœur est une unité de traitement individuelle au sein du CPU, capable d’exécuter des instructions. Plus un CPU possède de cœurs, plus il peut traiter de tâches simultanément. 

Pour améliorer le taux d’aboutissement, utilisez des connexions stakées et des frais de priorité. Les connexions stakées vous donnent un accès prioritaire au leader (le validateur qui exécute actuellement la transaction), afin que vos transactions soient traitées par celui-ci au lieu d’être abandonnées en amont. Pendant le traitement des transactions, les frais de priorité incitent le validateur à exécuter votre transaction avant les autres. En termes simples, les connexions stakées facilitent l’envoi de vos transactions au leader, tandis que les frais de priorité accélèrent leur exécution. Consultez cet article pour optimiser vos transactions, réduire la latence de confirmation et maximiser leur taux de livraison.

La CLI vous donnera un meilleur accès au matériel de votre appareil et davantage de contrôle sur l’URL RPC utilisée et les frais de priorité configurés. Le site web constitue toutefois un bon point de départ pour les débutants. 

Web

Commencez par consulter le site web d’Ore et connectez votre portefeuille.

Vous serez redirigé vers la création d’un nouveau compte de minage. Après avoir cliqué sur « Create Account », vous devrez signer une transaction. Si l’erreur « timed out » s’affiche, vous devrez peut-être réessayer en cliquant de nouveau sur « Create Account ». Cette erreur se produit lorsque la transaction signée n’est pas traitée et expire

Le minage démarrera automatiquement. Vous devrez signer les transactions lorsqu’un hachage sera trouvé. Il est donc préférable de ne pas laisser le processus s’exécuter en arrière-plan.

Enfin, vous pouvez revenir à la page d’accueil pour consulter votre solde et cliquer sur « Claim » afin de transférer les récompenses vers votre portefeuille. Vous pouvez également consulter votre activité en passant à l’onglet Personal

CLI

Une interface de ligne de commande (CLI) est une interface utilisateur textuelle qui permet d’interagir avec un système informatique, un système d’exploitation ou une application depuis un terminal. Selon votre système d’exploitation, vous devez ouvrir l’application Terminal (macOS et systèmes basés sur Linux) ou Invite de commandes (Windows).

Prérequis

  1. Rust et Cargo
  2. Solana CLI

Vous pouvez vérifier que les logiciels ci-dessus sont correctement installés en exécutant ces commandes :

Ici, && sert à exécuter les commandes à la suite.

Installation sous Windows

Rust et Cargo

Téléchargez et exécutez rustup-init.exe. L’installation démarrera dans une console et affichera ce message lorsqu’elle aura réussi : Rust is installed now.

Solana CLI

Ouvrez l’Invite de commandes et exécutez les commandes suivantes :

Code
cmd /c "curl https://release.solana.com/v1.18.18/solana-install-init-x86_64-pc-windows-msvc.exe --output C:\solana-install-tmp\solana-install-init.exe --create-dirs"
Code
C:\solana-install-tmp\solana-install-init.exe v1.18.18

Installation sous Linux/macOS

Rust et Cargo

Code
curl https://sh.rustup.rs -sSf | sh

Solana CLI

Code
sh -c "$(curl -sSfL https://release.solana.com/v1.18.18/install)"

Installer Ore CLI

Code
cargo install ore-cli

La même commande permet de mettre à jour la CLI vers les versions plus récentes. 

Configurer le réseau

Passons au réseau Mainnnet, car il n’est actuellement possible de miner de l’ORE que sur Mainnet. Par défaut, Ore envoie toutes les requêtes de minage à « https://api.mainnet-beta.solana.com ». La commande solana config set permet de modifier la configuration. L’option --url nous permet de changer la configuration du réseau : 

Code
solana config set --url https://api.mainnet-beta.solana.com

L’URL peut être remplacée par n’importe quelle URL RPC. Par exemple, Helius propose l’accès aux connexions stakées dans ses forfaits partagés à partir de 49 $/mois, ce qui est plus avantageux que d’utiliser l’URL par défaut. Dans la commande ci-dessus, remplacez l’URL RPC entre guillemets doubles par l’URL RPC de votre choix :

Code
solana config set --url "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Configurer un portefeuille

Créons un portefeuille pour signer la transaction, payer les frais de réseau et recevoir les récompenses. (Si vous avez déjà un portefeuille sur votre appareil, vous pouvez ignorer cette étape) :

Code
solana-keygen new

La commande ci-dessus crée un nouveau portefeuille. Nous devons ajouter des SOL à ce nouveau portefeuille pour couvrir les frais de nos transactions de minage. Utilisez cette commande pour obtenir la clé publique du portefeuille : 

Code
solana address

Copiez l’adresse et transférez-y des SOL. Vous pouvez également consulter le solde de ce portefeuille avec la commande suivante :

Code
solana balance

Votre portefeuille est maintenant prêt à miner de l’ORE !

Démarrer le minage

Pour miner de l’ORE avec toutes les configurations par défaut, utilisez : 

Code
ore mine

Et voilà, le minage d’ORE va commencer. 

Configurations avancées

Pour modifier la configuration par défaut, ajoutez des options à la commande ore mine. Vous pouvez ajouter des options avec --<command>. Plusieurs options peuvent être transmises simultanément. 

RPC

Si vous souhaitez ajouter l’endpoint Mainnet de votre fournisseur RPC, vous pouvez changer de réseau en ajoutant l’option --rpc, suivie de l’adresse réseau de votre fournisseur RPC :

Code
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Frais de priorité

Dans la capture d’écran du minage d’ORE ci-dessus, les frais de priorité sont fixés à 50 000 microlamports. Nous pouvons modifier cette valeur ainsi que d’autres paramètres. En cas de congestion, les frais de priorité incitent le validateur qui exécute actuellement les transactions à traiter les vôtres. L’idée est que les transactions assorties de frais plus élevés soient traitées en premier, afin de garantir une exécution plus rapide aux utilisateurs prêts à payer davantage.

Utilisez cette option si vous souhaitez appliquer les frais de priorité dynamiques fournis par votre fournisseur RPC (à condition d’avoir configuré celui-ci avec l’option --rpc) : 

Code
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Si vous disposez d’une autre URL permettant de trouver les frais dynamiques, ajoutez cette URL RPC entre guillemets doubles pour l’estimation dynamique des frais :

Code
ore mine --dynamic-fee-url <DYNAMIC_FEE_URL>

Vous pouvez ajouter des frais de priorité fixes avec l’option --priority-fee. Si des frais dynamiques sont utilisés, cette valeur constituera le maximum applicable. Notez que la valeur par défaut est 500000 :  

Code
ore mine --priority-fee <MICROLAMPORTS>

Autres configurations

Lorsque nous créons un portefeuille, sa configuration de payeur de frais est enregistrée à un emplacement par défaut. Par exemple : /Users/username/.config/solana/id.json

Si vous souhaitez utiliser comme payeur de frais un autre portefeuille enregistré à un emplacement différent, vous pouvez ajouter le chemin d’accès au fichier de ce payeur avec cette commande :

Code
ore mine --priority-fee <MICROLAMPORTS>

Comme ORE est un token SPL, un compte de token associé (ATA) est créé pour stocker cet ORE. Cet ATA a été créé lorsque nous avons commencé à miner. Si vous souhaitez toutefois conserver l’ORE dans un autre compte, vous pouvez ajouter le chemin d’accès au fichier de sa paire de clés :

Code
ore mine --keypair <KEYPAIR_FILEPATH>

Pour utiliser toutes les commandes ci-dessus, vous devez continuer à les ajouter après ore mine. 

Vous pouvez également stocker toutes ces configurations dans un fichier YML et transmettre directement le chemin d’accès au fichier :

Code
ore mine --config <PATH>

Voici à quoi ressemble un exemple de fichier config.yml :

Code
---
json_rpc_url: https://mainnet.helius-rpc.com/?api-key=<your-key>
websocket_url: ''
keypair_path: /Users/example/.config/solana/id.json
address_labels:
  '11111111111111111111111111111111': System Program
commitment: confirmed

Notez que Ore CLI est continuellement mis à jour. Vérifiez que vous utilisez la dernière version de la CLI pour accéder aux nouvelles commandes et à tous les correctifs de bugs avec la commande suivante :   

Code
cargo install ore-cli

Vous pouvez consulter la version actuelle avec la commande suivante : 

Code
ore -V

La commande ore help répertorie toutes les options actuelles, leur fonction et leurs arguments.

Réclamer l’ORE

Tout l’ORE miné est restaké. Pour le déstaker et le réclamer, exécutez simplement la commande suivante afin d’envoyer vos récompenses de minage vers votre portefeuille :

Code
ore claim

Vous pouvez utiliser la commande ore stake pour staker votre solde d’ORE.

Conclusion

Bitcoin nous a montré la voie en créant un moyen sécurisé et décentralisé de gérer la monnaie numérique. Ore va maintenant plus loin en rendant le minage plus équitable grâce à son nouvel algorithme. Avec l’introduction du staking, sa nouvelle version encourage les mineurs à conserver leur ORE au lieu de le vendre immédiatement. Vous pouvez facilement miner de l’ORE via l’application web ou la CLI. Backpack a également publié un guide expliquant comment miner Ore depuis son application de portefeuille. Ore CLI bénéficie constamment de nouvelles fonctionnalités, et tous les dépôts du projet sont open source. Pour suivre les dernières actualités, je vous recommande de suivre le fondateur et le compte officiel d’Ore sur Twitter / X. 

Si vous avez lu jusqu’ici, merci, anon ! Saisissez votre adresse e-mail ci-dessous pour ne manquer aucune actualité concernant Solana. Prêt à aller plus loin ? Découvrez les derniers articles sur le blog Helius et poursuivez dès aujourd’hui votre parcours dans l’écosystème Solana.

Sites d’Ore

Ressources

Abonnez-vous à Helius

Suivez les dernières actualités du développement sur Solana et recevez une notification à chaque publication

Image agrandie