a
a
Weather:
city not found
HomeBitcoinExploitation minière | Aller à Ethereum

Exploitation minière | Aller à Ethereum

Ce document explique comment configurer geth pour l’exploitation minière. Le wiki Ethereum a également une page sur l’exploitation minière, assurez-vous de la vérifier également.

L’exploitation minière est le processus par lequel de nouveaux blocs sont créés. Geth crée en fait de nouveaux blocs tout le temps, mais ces blocs doivent être protégés via une preuve de travail afin qu’ils soient acceptés par d’autres nœuds. L’exploitation minière consiste à créer ces valeurs de preuve de travail.

Le calcul de la preuve de travail peut être effectué de plusieurs manières. Geth comprend un mineur de processeur, qui effectue l’extraction dans le processus geth. Nous ne recommandons pas d’utiliser le mineur de processeur avec le réseau principal Ethereum. Si vous voulez extraire de l’éther réel, utilisez l’extraction GPU. Votre meilleure option pour ce faire est le logiciel ethminer.

Assurez-vous toujours que votre blockchain est entièrement synchronisée avec la chaîne avant de commencer à miner, sinon vous ne minerez pas sur la bonne chaîne et vos récompenses de bloc ne seront pas appréciables.

Exploitation minière avec GPU

L’algorithme ethash est difficile à mémoriser et pour adapter le DAG à la mémoire, 1 à 2 Go de RAM sont nécessaires sur chaque GPU. Si vous obtenez Error GPU mining. GPU memory fragmentation? vous n’avez pas assez de mémoire.

Installation d’ethminer

Pour obtenir ethminer, vous devez installer le package binaire ethminer ou le compiler à partir des sources. Voir https://github.com/ethereum-mining/ethminer/#build pour les instructions officielles de construction / installation d’ethminer. Au moment de la rédaction de cet article, ethminer ne fournit qu’un fichier binaire pour Microsoft Windows.

Utiliser ethminer avec geth

Créez d’abord un compte pour conserver vos récompenses de verrouillage.

Suivez les instructions et entrez un bon mot de passe. N’OUBLIEZ PAS VOTRE MOT DE PASSE. Prenez également note de l’adresse publique Ethereum qui est imprimée à la fin du processus de création de compte. Dans les exemples suivants, nous utiliserons 0xC95767AC46EA2A9162F0734651d6cF17e5BfcF10 comme exemple d’adresse.

Maintenant, démarrez geth et attendez qu’il synchronise la blockchain. Cela prendra un peu de temps.

geth --rpc --etherbase 0xC95767AC46EA2A9162F0734651d6cF17e5BfcF10

Nous sommes maintenant prêts à commencer l’exploitation minière. Dans une nouvelle session de terminal, exécutez ethminer et connectez-le à geth:

ethminer -G -P http://127.0.0.1:8545

ethminer communiquez avec geth sur le port 8545 (le port RPC par défaut dans geth). Vous pouvez le changer en donnant le --rpcport option pour geth. Ethminer trouvera get sur n’importe quel port. Vous devez également activer la porte ethminer avec -P
http://127.0.0.1:3301
. La configuration de ports personnalisés est requise si vous souhaitez extraire plusieurs instances sur le même ordinateur. Si vous testez sur un cluster privé, nous vous recommandons d’utiliser à la place l’exploration de CPU.

Si la valeur par défaut pour ethminer cela ne fonctionne pas, essayez de spécifier le périphérique OpenCL avec:
--opencl-device X où X est 0, 1, 2, etc. En courant ethminer avec -M
(benchmark), vous devriez voir quelque chose comme ceci:

Benchmarking on platform: { "platform": "NVIDIA CUDA", "device": "GeForce GTX 750 Ti", "version": "OpenCL 1.1 CUDA" }

Benchmarking on platform: { "platform": "Apple", "device": "Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz", "version": "OpenCL 1.2 " }

Remarque les informations de hachage ne sont pas disponibles dans geth pendant l’extraction de GPU. Vérifiez votre hashrate avec ethminer, miner.hashrate signalera toujours 0.

Minage de CPU avec Geth

Lorsque vous démarrez votre nœud Ethereum avec geth ce n’est pas du minage par défaut. Pour le démarrer en mode minage, vous utilisez le --mine indicateur de ligne de commande. La --minerthreads Le paramètre peut être utilisé pour définir le nombre de threads d’exploration de données parallèles (par défaut, le nombre total de cœurs de processeur).

geth --mine --minerthreads=4

Vous pouvez également démarrer et arrêter le remplacement du processeur au moment de l’exécution à l’aide de la console. miner.start accepte un paramètre facultatif pour le nombre de threads mineurs.

> miner.start(8)
true
> miner.stop()
true

Notez que l’extraction de l’éther réel n’a de sens que si vous êtes synchronisé avec le réseau (puisque le mien est au-dessus du bloc de consentement). Par conséquent, le téléchargeur / synchroniseur eth blockchain retardera l’extraction jusqu’à ce que la synchronisation soit terminée, après quoi l’extraction démarrera automatiquement à moins que vous n’annuliez votre intention avec miner.stop().

Pour gagner de l’éther, vous devez avoir le vôtre étherbase (ou coinbase) ensemble d’adresses. Cette base éthérée est mise en place sur votre compte principal. Si vous n’avez pas d’adresse Etherbase, alors geth --mine ne commence pas.

Vous pouvez définir votre éther de base à partir de la ligne de commande:

geth --etherbase '0xC95767AC46EA2A9162F0734651d6cF17e5BfcF10' --mine 2>> geth.log

Vous pouvez également réinitialiser votre Etherbase sur la console:

> miner.setEtherbase(eth.accounts[2])

Notez que votre base etherbase ne doit pas nécessairement être l’adresse d’un compte local, seulement un compte existant.

Il existe une option pour ajouter des données supplémentaires (32 octets uniquement) aux blocs extraits. Par convention, cela est interprété comme une chaîne Unicode, vous pouvez donc définir votre propre balise de courtoisie.

> miner.setExtra("ΞTHΞЯSPHΞЯΞ")

Vous pouvez vérifier votre hashrate avec miner.hashrate, le résultat est en H / s (opérations de hachage par seconde).

Après avoir extrait avec succès quelques blocs, vous pouvez vérifier le solde éther de votre compte etherbase. En supposant maintenant que votre base etherbase est un compte local:

> eth.getBalance(eth.coinbase).toNumber();
'34698870000000'

Vous pouvez vérifier quels blocs sont extraits par un mineur particulier (adresse) avec l’extrait de code suivant sur la console:

> function minedBlocks(lastn, addr) {
    addrs = [];
    if (!addr) {
        addr = eth.coinbase
    }
    limit = eth.blockNumber - lastn
    for (i = eth.blockNumber; i >= limit; i--) {
        if (eth.getBlock(i).miner == addr) {
            addrs.push(i)
        }
    }
    return addrs
}
// scans the last 1000 blocks and returns the blocknumbers of blocks mined by your coinbase
// (more precisely blocks the mining reward for which is sent to your coinbase).
> minedBlocks(1000, eth.coinbase)
[352708, 352655, 352559]

Notez que vous trouverez souvent un bloc mais qu’il n’atteint jamais la chaîne canonique. Cela signifie que lorsque vous incluez localement votre bloc miné, l’état actuel montrera la récompense minière créditée sur votre compte, cependant, après un certain temps, la meilleure chaîne est découverte et nous passons à une chaîne où votre bloc n’est pas inclus, puis la récompense minière n’est pas créditée. Par conséquent, il est tout à fait possible qu’un mineur qui surveille son solde de coinbase constate qu’il peut fluctuer un peu.

Les journaux montrent les blocs extraits localement confirmés après 5 blocs. Pour le moment, vous trouverez peut-être plus facile et plus rapide de générer la liste de vos blocs extraits de ces journaux.

https://geth.ethereum.org/docs/interface/mining

No comments

leave a comment