Pages:
Author

Topic: Comment miner (des bitcoins) soi-même avec un serveur P2Pool. - page 6. (Read 30100 times)

legendary
Activity: 1512
Merit: 1011
En jouant avec les paramêtres de mon PC, j'ai pu remarquer que Bitcoin Core en mode RPC (server=1) est extrêmement "sensible" et c'est rien de le dire. Roll Eyes

Si votre Bitcoin Core plante systématiquement quelques secondes après qu'il ait terminé de démarrer (avec, donc le P2Pool qui attend d'avoir le RPC de libre) ... c'est que votre machine est clairement une cause du problème.

Un simple mauvais timing ou vitesse sur la mémoire RAM par exemple. Lips sealed

Le plus chiant dans l'histoire, c'est que aucun autre programme sur la machine en question ne plante (et pourtant, certains bouffent un tas de RAM dans des cas bien précis).

Le pire, c'est que tout cela n'est pas visible sur le RPC est éteint (server=0).  Roll Eyes
legendary
Activity: 1512
Merit: 1011
Et ça marche ... plus aucune perte dans le travail avec serverdoc et Bitcoin Core 0.11.0 RC3.

legendary
Activity: 1512
Merit: 1011
Voilà, vous êtes prêt !

Pour faire fonctionner l'ensemble :

lancer "severdoc bitcoin.bat" (dans le dossier C:\serverdoc )
puis "P2Pool.bat" (dans le dossier C:\p2pool_win32_14.0 )
puis "P2Pool mining.bat" (dans le dossier C:\bfgminer-5.2.0-win32 )

Je n'ai jamais vu planter le P2Pool ou BFGminer (CGMiner, par contre, si ... il plante) ... donc je n'ai jamais eu besoin de les surveiller.

---

Les explications sont finies.

si vous avez besoin d'aide pour la mise en place d'un P2Pool ... postez ici à la suite, ça permettra que je corrige le tutoriel du dessus avec les différents retours d'autres machines (qui font donc tourner Bitcoin Core et P2Pool).

 Kiss

Bitcoin (le réseau) n'est intéressant que si les personnes gardent le contrôle de celui-ci au lieu de le sous-traiter à des Pools professionnelles qui se gardent des frais et peuvent (théoriquement) encore faire planer l'ombre d'une attaque des 51%.

P2Pool empêche cela.
legendary
Activity: 1512
Merit: 1011
4) http://serverdoc.com/

Cliquez sur "download/purchase"
Regardez la colonne "Free" puis cliquez sur "Download" en bas de celle-ci

Choisissez la première ligne "#1 serverdoc" par exemple (c'est-à-dire, ne prenez pas le package !).

Enregistrez le fichier
Créer un nouveau dossier sur C: (Windows)
Appelez-le "serverdoc"
Coupez-collez le fichier "serverdoc.exe" dans ce dossier

cliquez-droit dans l'espace blanc
Nouveau
Document Texte

Ouvrez ce fichier "document texte.txt"

Copier-coller ces informations suivantes :

Code:
C:\serverdoc\serverdoc.exe C:\%APPDATA%\Bitcoin\bitcoin-qt.exe

Enregistrer le fichier et fermez-le

Cliquez-droit dessus
Renommer
Ecrivez "serverdoc bitcoin.bat" ... ce qui permet de démarrer Serverdoc en lui demandant de lancer et surveiller le programme désigné.

C'est tout.  Cool
legendary
Activity: 1512
Merit: 1011
Bien, passons aux choses qui fachent : le développement du P2Pool et du Bitcoin Core fonctionnent suivant un flux commun ... prodigué par les commandes envoyées au serveur RPC-JSON.

En clair, ça peut merder ... et faire planter ... tout simplement et gratuitement, c'est à dire sans aucune information dans le debug.log ... votre Bitcoin Core qui n'avait AUCUN problème jusqu'à ce que vous mettiez la ligne "server=1" dans "bitcoin.conf".

Dur, la vie ... des claques se perdent, moi je vous le dis.  Tongue

Bref, si c'est votre cas et que vous retrouvez BFGMiner et P2Pool ouverts ... mais ils crient "au secours !" car "BITCOIND IS LOST OR MISSING" ... vous remarquerez que Bitcoin Core est éteint.

Non, ce n'est pas un hacker.
Non, ce n'est pas le chat qui a appuyé sur une mauvaise touche (j'espère que vous verrouillez le PC avec un Win+L avant de partir ?).

Il vous faut donc un programme qui surveille et relance régulièrement Bitcoin Core pour que le P2Pool est un accès permanent au réseau Bitcoin (scruter la blockchain, et d'autres trucs ...).

J'en ai trouvé un : http://serverdoc.com/

J'en ai pas trouvé d'autre (j'ai cherché 2 mois).
Je suis donc prêt à faire des concessions sur ce programme qui demande tous les 3 mois de bien vouloir le re-télécharger (même si vous le payez).

 Wink Donc, allons-y : installons-le !
legendary
Activity: 1512
Merit: 1011
3) https://bitcointalksearch.org/topic/bfgminer-550-cpugpufpgaasic-mining-software-gbtstratum-rpc-linuxwin64-877081

BFGminer à ma préférence ... mais c'est une histoire de goût.

Téléchargez, dans le sujet indiqué, la version 32 bits ou 64 bits dans la section "Last Release".

Cliquez-droit sur le fichier, par exemple "bfgminer-5.2.0-win32.zip"
Extraire-tout
Couper-Coller le dossier pour le placer dans le disque C: (Windows)

Ouvrez le dossier "bfgminer-5.2.0-win32"

cliquez-droit dans l'espace blanc
Nouveau
Document Texte

Ouvrez ce fichier "document texte.txt"

Copier-coller ces informations suivantes :

Code:
c:\bfgminer-5.2.0-win32\bfgminer -o http://localhost:9332 -u votreadressebitcoindereception -p 0 XXXXXXX

Alors, déjà ... à partir de là, je ne peux plus trop vous aider car il faut indiquer à BFGMiner quel est le driver qu'il doit utiliser pour reconnaître votre miner.

Cette information doit être mise à la place des XXXXXXX ... par exemple : "-S rockminer:all"

---

Ensuite, n'oubliez pas de mettre votre vrai adresse bitcoin de réception ... à l'identique de celle mise dans la P2Pool dans le critère "votreadressebitcoindereception" (User).

Si vous le demandez, j'ai mis -p 0 (ce qui veut dire que le password est zéro) ... car le P2Pool n'a besoin d'aucun mot de passe pour laisser travailler quelqu'un chez lui.

C'est là qu'on voit la rebondance du P2Pool, vous lui demandez du travail ... mais il accepte de donner du travail aux autres aussi.

---

Enregistrer le fichier et fermez-le

Cliquez-droit dessus
Renommer
Ecrivez "P2Pool mining.bat" ... ce qui permet de démarrer BFGMiner proprement suivant votre matériel de minage branché.

---

Voilà, BFGMiner est prêt à récupérer le travail de la P2Pool et de l'envoyer à votre mineur local !
legendary
Activity: 1512
Merit: 1011
2) http://p2pool.in/

Choisissez le téléchargement où "Download the newest version from the Windows binaries" apparaît.
Par exemple : p2pool_win32_14.0.zip

Le P2Pool est écrit en Python (un langage de programme).
Il requiert donc l'installation de plusieurs "supports" ou bibliothèques pour que le P2Pool fonctionne correctement.

Ces informations sont expliquées ici : https://github.com/forrestv/p2pool

Code:
Windows:

    Install Python 2.7: http://www.python.org/getit/
    Install Twisted: http://twistedmatrix.com/trac/wiki/Downloads
    Install Zope.Interface: http://pypi.python.org/pypi/zope.interface/3.8.0
    Install python win32 api: http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/
    Install python win32 api wmi wrapper: https://pypi.python.org/pypi/WMI/#downloads
    Unzip the files into C:\Python27\Lib\site-packages

Installation en Python 3.4, allez ici = https://bitcointalksearch.org/topic/m.26086837

---

Si vous avez fini de télécharger le P2Pool (14.0 dans l'exemple) ... poursuivez les téléchargements (n'installez rien !).

- http://www.python.org/getit/ (choisissez la v2.7 avec un numéro en plus à la fin, c'est la révision ... c'est pas important ... mais v2.7 est très important !)
- http://twistedmatrix.com/trac/wiki/Downloads (choisissez "Twisted 15.2.1 for Python 2.7" en format ​"exe" )
- http://pypi.python.org/pypi/zope.interface/3.8.0 (appuyez sur le bouton vert "download" qui vous envoie à la fin de la page ... puis choisissez la colonne "MS Windows installer" pour regarder puis "2.7" doit vous attirer puis "win32" ou "amd64" pour choisir la version 32 bits ou 64 bits)
- http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/ (regardez les versions "2.7" puis choisissez "win32" ou "amd64" pour choisir la version 32 bits ou 64 bits ... puis choisissez une version "exe" )
- https://pypi.python.org/pypi/WMI/#downloads (choisissez la version "WMI-1.4.9.win32.exe" par exemple)

Bien ... maintenant que vous avez tous les packages, on peut se borner à les installer dans un ordre précis ... comme l'indiquait la boite "CODE" sur le haut.

Allez-y :
- langage python v2.7 (choisissez pour "only me")
- puis le complément "twisted" (il vous indiquera clairement où est le langage Python v2.7 durant l'installation)
- puis la présentation Zope (même remarque)
- puis l'API pour windows
- puis une modification de cet API

Et c'est bon !

---

Vous venez d'installer les bibliothèques nécessaires au fonctionnement du P2Pool.

---

Vous avez téléchargé "p2pool_win32_14.0.zip" au début du point 2 ... vous pouvez, maintenant, l'extraire dans un dossier.

Cette extraction se fait, par exemple, en faisant un clic-droit sur le fichier indiqué puis "extraire tout".

Un dossier "p2pool_win32_14.0" doit donc apparaître au même endroit où vous êtes (par exemple, dans "téléchargement").

Couper-coller ce dossier sur le disque C: directement ... (le disque dur de WINDOWS).

---

Vous vous souvenez qu'on a créé un fichier "bitcoin.conf" avant ?
Et bien ... ce genre de création va se répéter maintenant.

Ouvrez le dossier "p2pool_win32_14.0" sur le disque C:
Vérifiez que "run_p2pool.exe" est bien là ... (on sait jamais avez les antivirus, ils sont bizarres et idiots des fois).

cliquez-droit dans l'espace blanc
Nouveau
Document Texte
comme vous avez laissé décocher "masquer les extensions connues", le document texte.txt apparaît directement (c'est comme ça qu'on dépanne un Windows généralement).

Ouvrez ce fichier "document texte.txt"

Copier-coller ces informations suivantes :

Code:
c:\p2pool_win32_14.0\run_p2pool --net bitcoin -a votreadressebitcoindereception --give-author 0.0 nom motdepasse

3 critères sont à modifier (vous voyez, c'est répétitif) :

- votreadressebitcoindereception = indiquez une vrai adresse Bitcoin de réception ... qui sera donc utilisée pour que la P2Pool vous envoie vos bitcoins chèrement gagnés
- nom = vous avez indiquez cela dans le fichier "bitcoin.conf"
- motdepasse = vous avez indiquez cela dans le fichier "bitcoin.conf"

Enregistrer le fichier et fermez-le

Cliquez-droit dessus
Renommer
Ecrivez "P2Pool.bat" ... ce qui permet de vous fournir un vrai démarrage du P2Pool sur votre propre ordinateur.

C'est un des points manquants dans le tutoriel en anglais sur p2pool.in ... il faut appeler une ligne de commande DOS puis lancer "run_p2pool -h" pour avoir des informations fractionnée sur ce fichier BAT à créer.

---

Le programme P2Pool est installé !

---

Informations techniques supplémentaires pour les utilisateurs avancés :
Code:
>run_p2pool -h

usage: run_p2pool [-h] [--version]
                  [--net {bitcoin,fastcoin,litecoin,terracoin}] [--testnet]
                  [--debug] [-a ADDRESS] [-i NUMADDRESSES] [-t TIMEADDRESSES]
                  [--datadir DATADIR] [--logfile LOGFILE]
                  [--merged MERGED_URLS] [--give-author DONATION_PERCENTAGE]
                  [--iocp] [--irc-announce] [--no-bugreport]
                  [--p2pool-port PORT] [-n ADDR[:PORT]] [--disable-upnp]
                  [--max-conns CONNS] [--outgoing-conns CONNS]
                  [--external-ip ADDR[:PORT]] [--disable-advertise]
                  [-w PORT or ADDR:PORT] [-f FEE_PERCENTAGE]
                  [--bitcoind-config-path BITCOIND_CONFIG_PATH]
                  [--bitcoind-address BITCOIND_ADDRESS]
                  [--bitcoind-rpc-port BITCOIND_RPC_PORT] [--bitcoind-rpc-ssl]
                  [--bitcoind-p2p-port BITCOIND_P2P_PORT]
                  [BITCOIND_RPCUSERPASS [BITCOIND_RPCUSERPASS ...]]

p2pool (version 14.0)

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --net {bitcoin,fastcoin,litecoin,terracoin}
                        use specified network (default: bitcoin)
  --testnet             use the network's testnet
  --debug               enable debugging mode
  -a ADDRESS, --address ADDRESS
                        generate payouts to this address (default:                         requested from bitcoind>), or (dynamic)
  -i NUMADDRESSES, --numaddresses NUMADDRESSES
                        number of bitcoin auto-generated addresses to maintain
                        for getwork dynamic address allocation
  -t TIMEADDRESSES, --timeaddresses TIMEADDRESSES
                        seconds between acquisition of new address and removal
                        of single old (default: 2 days or 172800s)
  --datadir DATADIR     store data in this directory (default:                         run_p2pool.py is in>/data)
  --logfile LOGFILE     log to this file (default: data//log)
  --merged MERGED_URLS  call getauxblock on this url to get work for merged
                        mining (example:
                        http://ncuser:[email protected]:10332/)
  --give-author DONATION_PERCENTAGE
                        donate this percentage of work towards the development
                        of p2pool (default: 1.0)
  --iocp                use Windows IOCP API in order to avoid errors due to
                        large number of sockets being open
  --irc-announce        announce any blocks found on
                        irc://irc.freenode.net/#p2pool
  --no-bugreport        disable submitting caught exceptions to the author
  --disable-upnp        don't attempt to use UPnP to forward p2pool's P2P port
                        from the Internet to this computer
  --disable-advertise   don't advertise local IP address as being available
                        for incoming connections. useful for running a dark
                        node, along with multiple -n ADDR's and --outgoing-
                        conns 0

p2pool interface:
  --p2pool-port PORT    use port PORT to listen for connections (forward this
                        port from your router!) (default: bitcoin:9333,
                        fastcoin:23660, litecoin:9338, terracoin:9323)
  -n ADDR[:PORT], --p2pool-node ADDR[:PORT]
                        connect to existing p2pool node at ADDR listening on
                        port PORT (defaults to default p2pool P2P port) in
                        addition to builtin addresses
  --max-conns CONNS     maximum incoming connections (default: 40)
  --outgoing-conns CONNS
                        outgoing connections (default: 6)
  --external-ip ADDR[:PORT]
                        specify your own public IP address instead of asking
                        peers to discover it, useful for running dual WAN or
                        asymmetric routing

worker interface:
  -w PORT or ADDR:PORT, --worker-port PORT or ADDR:PORT
                        listen on PORT on interface with ADDR for RPC
                        connections from miners (default: all interfaces,
                        bitcoin:9332, fastcoin:5150, litecoin:9327,
                        terracoin:9322)
  -f FEE_PERCENTAGE, --fee FEE_PERCENTAGE
                        charge workers mining to their own bitcoin address (by
                        setting their miner's username to a bitcoin address)
                        this percentage fee to mine on your p2pool instance.
                        Amount displayed at http://127.0.0.1:WORKER_PORT/fee
                        (default: 0)

bitcoind interface:
  --bitcoind-config-path BITCOIND_CONFIG_PATH
                        custom configuration file path (when bitcoind -conf
                        option used)
  --bitcoind-address BITCOIND_ADDRESS
                        connect to this address (default: 127.0.0.1)
  --bitcoind-rpc-port BITCOIND_RPC_PORT
                        connect to JSON-RPC interface at this port (default:
                        bitcoin:8332, fastcoin:9527, litecoin:9332,
                        terracoin:13332                         not provided>)
  --bitcoind-rpc-ssl    connect to JSON-RPC interface using SSL
  --bitcoind-p2p-port BITCOIND_P2P_PORT
                        connect to P2P interface at this port (default:
                        bitcoin:8333, fastcoin:9526, litecoin:9333,
                        terracoin:13333                         not provided>)
  BITCOIND_RPCUSERPASS  bitcoind RPC interface username, then password, space-
                        separated (only one being provided will cause the
                        username to default to being empty, and none will
                        cause P2Pool to read them from bitcoin.conf)


legendary
Activity: 1512
Merit: 1011
1) https://bitcoin.org/bin/

Choisissez la version adéquate à votre système (32 ou 64 bits par exemple).
Puis, suivez l'installation habituelle d'un programme (il n'y a pas de réglages à faire).
Lancez Bitcoin Core à la fin s'il ne le fait pas lui-même tout seul.

Attendez que la Blockchain soit téléchargée et re-créée (entre 7h et 4 jours suivant le PC utilisé et les possibilités de votre connexion).

---

Une fois que Bitcoin Core n'affiche plus "il reste 4 semaines" (ou autre chose) ... votre Bitcoin Core est prêt.

Eteignez Bitcoin Core.

---

Votre dossier Bitcoin Core d'installation est dans  ---->    %APPDATA%\Bitcoin\
Copiez-collez ceci dans l'adresse en haut de votre explorateur windows pour le retrouver.

cliquez-droit dans l'espace blanc
Nouveau
Document texte

Veuillez enlever la case "masquer les extensions des fichiers" pour que "nouveau document" devienne "nouveau document.txt"

----

cliquez-droit sur ce nouveau document
renommer
écrivez "bitcoin.conf" (sans les "" ... hein ...)
appuyez sur entrer au clavier puis acceptez ce que le système vous dit ("oui, je veux modifier")

---

cliquez-droit sur ce bitcoin.conf
ouvrir avec (ou ouvrir si ce premier mot n'apparaît pas)
choisir "bloc-note" comme programme pour le lire/modifier

bien ... vous venez de créer un fichier important qui permet de mieux manier Bitcoin Core (mais qui est inutile aux gens qui n'utilise que le wallet.dat par exemple)

---

dans ce fichier vide qui vient de s'ouvrir, veuillez copier-coller ceci :

Code:
disablewallet=0
server=1
daemon=1
maxconnections=15
rpcuser=nom
rpcpassword=motdepasse
rpcallowip=votreipfixedupc

vous devez, vous-même, changer les 3 critères suivant à votre convenance :
- nom = mot ou truc difficile
- motdepasse = mot ou truc difficile (différent du premier)
- votreipfixedupc = pour utiliser le Bitcoin Core en mode Server RPC (et donc utiliser le P2Pool), vous devez commencer à accepter de "fixer" les adresses de vos PC localement (sur votre routeur).

Pour ça, dans la carte réseau de votre PC, vous devrez indiquer une IP FIXE (par exemple 192.168.1.78).

Vous devez indiquer l'IP FIXE de votre PC qui contient Bitcoin Core dans ce dernier critère pour éviter que d'autres personnes n'arrivent à piloter votre Bitcoin Core en mode Server RPC.

En faisant cela, Bitcoin Core n'acceptera que des ordres de votre unique PC (qui contiendra donc le P2Pool aussi).

Il y a autre chose que vous pourriez rajouter dans ce fichier :

Code:
minrelaytxfee=0.00001
mintxfee=0.00001

Mais je ne trouve pas cela "fairplay" car cela filtre toutes les transactions sans "fees" (frais de transaction).
Il faudra donc réfléchir à ce que vous vous voulez faire avec votre noeud ... soit aider le réseau (en ne mettant pas de restriction de "fee") soit être efficace et gagner "votre pognon" injecté dans vos mineurs.

Je ne peux pas répondre à votre place car j'ai choisi la première voie (raison pour laquelle j'ai fait ce tutoriel).

---

Voilà, c'était un peu long ... mais c'est la partie facile  Grin

Enregistrez le fichier "bitcoin.conf" avant de le refermer.
legendary
Activity: 1512
Merit: 1011
Commençons à faire l'installation !

Sommaire :

1) Installez Bitcoin Core
2) Installez le P2Pool
3) Installez BFGminer
legendary
Activity: 1512
Merit: 1011
Pour les petits bricoleurs, le P2Pool les informe de leur travail par une interface web pointant dans le programme P2Pool.
On obtient donc ceci :

legendary
Activity: 1512
Merit: 1011
Après pas mal de problème de fond, j'ai enfin une configuration qui fonctionne ... et qui se relance quand un des 3 programmes plante :

- Bitcoin Core
- P2Pool
- BFGminer

Donc, oui ... sur votre PC, vous aurez donc besoin de faire tourner 3 programmes en même temps pour miner sur le P2Pool en autonomie complète.

Voici le deuxième point bloquant chez la plupart ... car les mineurs ont, souvent, des cartes Linux qui pilotent le mineur et fait tourner un CGminer.

Il n'y a donc besoin d'aucun PC ... mais juste d'une adresse d'un Pool sur internet.
P2Pool se "mérite" donc suivant le cas ... car il faudra y passer du temps à faire la mise en place (et à avoir un PC juste pour ça en fait).

---

Il y a des avantages à lancer un P2Pool chez soi :

- vous participez au réseau Bitcoin (vous validez les transactions et les stockez en cas de surcharge, votre blockchain est complête sur votre PC)
- vous aidez le P2Pool (en utilisant le programme, vous devenez un noeud comme un autre qui partage le travail à faire)
- vous minez vos propres bitcoins.

Ce dernier point attirera naturellement votre lecture : Oui, ce que vous minez sur la P2Pool est immédiatement à vous lorsque la P2Pool découvre un block (évidemment, y'avait un piège  Grin ).

Immédiatement, si vous avez assez travaillé (deuxième piège  Cheesy ), vous êtes récompensé ... peu importe la puissance de votre mineur ou le montant de la récompense.

Il n'y a pas de barrière minimale comme sur certaines Pool (où on vous demande d'attendre 0,01 BTC avant de récupérer vos bitcoins gagnés).
legendary
Activity: 1512
Merit: 1011
 Cool Bonjour à tous,

 Smiley En 2014, j'ai miné 1 an solo, sur le client de base (bitcoin-qt puis bitcoin core) ainsi qu'avec BFGminer.

 Kiss En 2015, j'ai compris que pour aider le réseau (avec un petit miner de hobbyiste), il est préférable d'utiliser le système P2Pool.

---

P2Pool est un "réseau" qui s'occupe de partager le travail de minage entre tous ses participants (300 actuellement).
P2Pool est un programme écrit en langage Python par le membre ForrestTV.
P2Pool utilise le concept des "sidechains" pour, parallèlement à Bitcoin le réseau, créer un autre réseau où le travail des mineurs est utilisable (et utilisé).

P2Pool, s'il est lancé sur un PC, permet de donner une difficulté variable à votre mineur de bitcoins ... et ainsi, le travail que fait le mineur est en adéquation avec sa puissance.

---

L'inconvénient du P2Pool est justement là, si on met 10 machines de minages ... la difficulté sera faite pour l'ensemble des 10 machines (et pas pour chacune d'entre elles).

Il ne sert donc à rien de miner avec 32GH/s sur un noeud P2Pool ... s'il fait tourner 32TH/s derrière car la difficulté sera trop haute pour votre mineur (le travail prendra des dizaines de minutes au lieu de 5-10 secondes ... et chaque erreur de votre mineur vous coute donc des dizaines de minutes en moins à gagner des bitcoins).
Pages:
Jump to: