Comment configurer un minier Bitcoin (Bitcoin Miner)?



Il existe trois grandes catégories de matériel pour minier les Bitcoin (Bitcoin Miner), chacun plus cher et plus puissant que les autres. Ce guide de mise en place d'un "Bitcoin Miner" explique chacun d'eux, et parle de la façon de les faire fonctionner/travailler.

À ce stade, vous allez comprendre le fonctionnement des Bitcoin, et ce que signifie l'exploitation minière. Mais, nous avons besoin de la théorie et de la pratique. Comment pouvez-vous mettre en place un matériel minier de Bitcoin (Bitcoin Miner) et commencer à générer de l'argent numérique? La première chose que vous allez avoir besoin de faire est de décider quel matériel vous aller utiliser en tenant compte de :

1- Taux de Hachage:


C'est le nombre des calculs que votre matériel peut effectuer durant chaque seconde, comme s'il essaie de résoudre un problème mathématique (voir ce lien pour plus d'information - anglais). Les taux de hachage sont mesurés en Mégahashes, Gigahashes et Térahashes par secondes (MH/s, GH/s, TH/s). À chaque montée du taux de hachage vous avez plus de chance de résoudre un bloc de transaction. La page de comparaison de matériel minier - Bitcoin Wiki - est un bon endroit pour obtenir des informations sur les taux bruts de hachage pour les différents matériels.

2- La consommation d'énergie :


La puissance de calcul nécessite de l'électricité et ce qui coûte, par la suite, de l'argent. Il est recommandé de regarder la consommation d'énergie de votre matériel en Watts pour faire le bon choix. Vous devez vous assurer que vos revenus ne seront pas toutes dépensées en électricité.
Donc, utilisez ces deux facteurs (nombre de hashs et la consommation en Watts) pour savoir combien de hashs vous pouvez générer par Watt en divisant le nombre de hashs générés par le nombre de Watts utilisés.
Par exemple, si vous avez un matériel qui génère 500 GH/s et qui prend 400 Watts de puissance, alors vous obtenez 1.25 GH/s par Watt. Vous pouvez vérifier votre facture d'électricité ou utiliser un calculateur de prix de l'électricité en ligne pour savoir combien cela signifie en monnaie espèce.
Cependant, il y a une mise en garde ici. Dans certains cas, vous aurez besoin d'utiliser votre ordinateur pour exécuter le matériel minier (Bitcoin Miner). Votre ordinateur a sa propre consommation d'électricité qui s'ajoute au matériel minier. Faut en tenir compte dans votre calcul.

3- Matériel minier Bitcoin (Bitcoin Miner):


Il existe trois grandes catégories de matériel minier Bitcoin: GPU, FPGA, ASICs. Nous allons les explorer en profondeur ci-dessous.

- CPU/GPU Minier Bitcoin:


C'est la catégorie la moins puissante des matériels minier Bitcoin qui est votre ordinateur lui même. Théoriquement, vous pouvez utiliser le processeur de votre ordinateur pour les miniers Bitcoin, mais dans la pratique, c'est si lent par rapport aux normes d'aujourd'hui.
Vous pouvez améliorer votre taux de hachage de Bitcoin en ajoutant du matériel graphique pour votre ordinateur de bureau. Les cartes graphiques disposent d'unités de traitement graphiques (GPU). Ils sont conçus pour les traitements mathématiques complexes, les jeux vidéos haut de gamme par exemple. Cela les rend particulièrement bonnes au hachage SHA nécessaires pour résoudre les blocs de transaction.
Vous pouvez acheter des GPU de deux fournisseurs principaux: ATI et Nvidia. Les cartes haut de gamme peuvent coûter des centaines d'euros, mais aussi, vous donner un avantage significatif sur les hachages avec les CPU. Par exemple, une carte graphique ATI 5970 peut vous donner plus de 800 MH/s par rapport à un CPU qui sera généralement vous donner moins de 10 MH/s.
Une des belles choses sur les GPU, c'est qu'ils laissent aussi vos options ouvertes. Contrairement à d'autres options à discuter plus tard. Ces unités sont utilisées avec le principe de la "Cryptocurrencies" autre que Bitcoin.
Litecoin, par exemple, utilise une autre forme de l'algorithme de travail pour Bitcoin, appellé Scrypt. Cela a été optimisé pour être amical avec les processeurs et les GPU ce qui en fait une bonne option pour les mineurs de GPU qui veulent basculer entre les différentes monnaies.
L'exploitation minière de GPU est en grande partie mortes ces jours. La difficulté minière Bitcoin est accélérée tant avec la sortie de l'ASIC plus puissante que les cartes graphiques GPU. Si vous ne voulez pas les utiliser, vous feriez mieux de vous équiper avec une carte mère qui peut prendre plusieurs cartes graphiques et faire des économies sur les sources de courant lors de l'exécution.

- FPGA Minière Bitcoin:


Les FPGA (Field Programmable Gate Array) est un circuit intégré conçu pour être configuré après avoir été construit. Cela premet à un fabricant de matériel minier d'acheter les puces en volume, puis les personnaliser pour l'exploitation minière Bitcoin avant les mettre dans leur équipements.
Puisqu'il sont personnalisées pour l'exploitation minière, ils offrent des améliorations de performances sur les processeurs et les GPU. Les FPGA mono-puce ont été vus fonctionnant à environt 750 Mégahashes/s. Il est bien entendu possible de mettre plus de FPGA dans une boite.

- ASIC Minière Bitcoin:


C'est la meilleure solution pour les minières Bitcoin. Les ASIC (Application Specific Integrated Circuits) sont spécifiquement conçu pour faire selement une chose: Des minières Bitcoin à des grandes vitesses, avec relativement une faible consommation d'énergie. Parce que ces puces doivent être conçues spécifiquement pour cette tâche mais coûteuses. Au moment de l'écriture, les unités se vendent avec des vitesses proche de 5-500 Gégahashes/s. Il existent aussi des ASIC qui peuvent toucher les 2 Térahashes/s.

4- Calculer la rentabilité de l'exploitation minière:


Avant de faire votre achat, calculez la rentabilité projetée de votre mineur grâce à l'excellent calculateur de la rentabilité de l'exploitation minière du Bloc Genesis ou celui-ci. Vous pouvez paramétrer des entrées tels que le coût de l'équipement, le taux de hachage, la consommation d'énergie et le prix de Bitcoin actuelle pour voir combien de temps il faudra pour rembourser votre investissement.
L'un des autres paramètres clés ici est la difficulté de réseau. Cette mesure détermine combien il est difficile de résoudre les blocs de transaction, et il varie selon le taux de hachage du réseau. La difficulté est susceptible d'augmenter sensiblement même pour votre dispositif ASIC, de sorte qu'il pourrait être utile d'augmenter cette métrique dans la calculatrice pour voir la donne de votre retour d'investissement en tenant compte de ceux qui se joignent à la partie (ceux qui ont lancé leurs minières de Bitcoin).
Pour plus d'informations : Utilisez ce guide sur le calcul de la rentabilité de l’exploitation minière.

Une fois que vous avez choisi votre matériel, vous aurez besoin de faire plusieurs autres choses:

 Télécharger le logiciel:


Selon le matériel que vous choisissez vous aurez besoin d'exécuter le logiciel pour en faire usage. Généralement lors de l'utilisation GPU et FPGA. Vous aurez besoin d'un ordinateur hôte exécutant deux choses : La norme Bitcoin client et le logiciel d'exploitation minière.

 Client Bitcoin Standard:


Ce logiciel relie votre ordinateur au réseau et permet l'interaction avec les clients de Bitcoin. Il permet aussi de transmettre les transactions et le suivi des chaînes des blocs (Block chains). Il faut noter qu'il faut un certain temps pour télécharger tous les "block chains" de Bitcoin pour commencer le travail. Le client Bitcoin relie efficacement les information entre votre mineur et le réseau Bitcoin.

 Logiciels d'extraction Bitcoin:


Le logiciel d'exploitation de Bitcoin charge le matériel pour faire le travail difficile en passant par des blocs de transaction à résoudre. Il existe une variété de ces logiciels en fonction de votre système d'exploitation. Ils sont disponibles pour Windows, Mac OS X, Gnu/Linux ...etc.

Vous aurez besoin d'un logiciel d'exploitation minière pour votre ASIC aussi, bien que certain modèles plus récents sont pré-configurés de sorte que vous n'avez que les brancher et les mettre sous tension.
Il existe même un système d'exploitation minière conçu pour fonctionner sur le Raspberry Pi, une carte-ordinateur basée sur Linux à faible coût, conçue pour consommer très peu d'énergie. Cela pourrait être utiliser pour alimenter un ASIC mineur de connexion USB.

Moment de reflexion:


Maintenant vous être parés. Bien pour vous. Je parie que vous pensiez que vous alliez ramasser les Bitcoins de partout ... non?
Malheureusement non. Vous aurez une grande de chance d'exceller avec votre minière Bitcoin si vous travaillez avec d'autres personnes. Vous pouvez en savoir plus à ce sujet dans le prochain article.

Sikuli – Faites vos scripts visuels


Si vous devez réaliser quelques petits scripts automatisés qui consistent à faire cliquer la souris un peu partout, et que vous ne voulez pas vous lancer dans du code de macro trop complexe, sachez qu'il existe un petit outil baptisé Sikuli, qui tourne sous Windows, Mac et Linux et qui permet de créer ce genre de script, simplement en prenant des captures écran.

Oui, ça peut sembler étranger et c'est pourtant ce que fait ce logiciel. Au lieu de lui dire "Click sur le bouton1 de l'application MachinTruc", on lui dit "Click sur ____ (et là on met une capture écran du bouton)". Amusant non ?
Voici une démo en vidéo pour que vous puissiez mieux vous rendre compte de la puissance du truc :









L'outil d'animation 3D temps réel Tao 3D devient Open Source

Tao3D est un outil permettant de rapidement créer des visualisations 3D interactives, des animations, des présentations ou même des applications. L'outil est disponible pour Windows, Linux et Mac OS X et vient d'être mis en Open Source. Le rendu utilise les capacités des cartes graphiques, mais contrairement aux moteurs de jeux, Tao3D se spécialise dans la présentation d'information : vidéos, textes, graphes, etc.
Parmi les fonctionnalités, on retrouve :

  • un langage de programmation complet, basé sur XL ;
  • affichage d'animations complexes à 60 FPS ;
  • mis en forme sophistiquée de textes 2D et 3D, formes 2D et 3D et possibilités d'extrusion ;
  • chargement des formats 3D populaires (entre autres : .OBJ et .3DS) ;
  • nuages de points 3D supportant des centaines de milliers de points ;
  • support du son et des vidéos reposant sur VLC ;
  • mise à jour en temps réel, basée sur des fichiers CSV ;
  • possibilité de récupérer les données sur le Web.



Le logiciel est développé par cinq Français travaillant à Sophia Antipolis.
Le code source est donc maintenant disponible sur GitHub sous licence GPLv3. Une licence commerciale est aussi disponible, rajoutant le support de la stéréoscopie, le support de nombreux formats de vidéo 3D ainsi que la possibilité de chiffrer et de signer le code source.


Source : developpez.com

Cheat Sheets pour les programmeurs



Voici une liste des "Cheat Sheets" pour les programmeurs et les administrateurs de systèmes d'exploitations. Une aide mémoire qui ne couvre pas tous les langages de programmations mais qui vous sera utile lors de vos travaux quotidien.
Veuillez cliquer sur le langage pour accéder au lien de téléchargement :


[PyGObject] Calculatrice PyGtk


Calculatrice PyGtk3+ est une calculatrice basique développée sous Python3 et en utilisant le module PyGObject (nommé aussi PyGI). 

Le principe de cette calculatrice est simple : 
 - L'utilisateur écrit les nombres de son équation
 - L'affichage est immédiat des nombres
 - Le point "." est remplacé lors de l'affichage par une virgule "," , mais il est utilisé comme un point lors des calculs internes de l'application
 - L'idée du calcule repose sur la fonction eval ,qui est une fonction propre à Python 3.xx, qui prend le texte affiché dans la Gtk.Entry (nommée : "entree" dans notre application) et le calcule. 
- En cas d'erreur lors de la saisie, rien ne se passe jusqu'à la correction de la syntaxe entrée.

**Fix & update** 27/10/2014 : 
  • Ajout des icônes sur les boutons : "Fermer", "Effacer tout" et "effacer le dernier chiffre"
  • Ajout des parenthèses "(" et ")"
  • Ajout du racine carré et de la méthode "calcul_racine"
  • Le bouton "=" occupe maintenant deux colonnes
**Fix ** 28/10/2014 :
  • Correction de la méthode "calcul_racine" et optimisation du code grâce à arshajii du forum stackoverflow.com
**Fix & Update** 29/10/2014  :
  • Ajout des fonctions trigonométriques
  • Optimisation du code
  • Création d'un dossier pour le logo et l'icône
**Update** 30/10/2014  :
  • Ajouter un sub-menu pour choisir le font et la taille de la Gtk.Entry

Vous pouvez télécharger le code source de Calculatrice PyGtk sur Github ou bien sur Google Drive

[Tutoriel] Oscillographe d'un mouvement harmonique

Dans ce billet on va explorer un autre exemple d'un programme crée avec Python 3 en utilisant le module "Tkinter" (nommé aussi : Tk). 
Ce billet utilisera des techniques vues dans ce billet et dans ce billet , qui nous permettront de représenter un mouvement vibratoire harmonique inspiré des cours de physique. 

Pour rappel, un mouvement vibratoire harmonique se définit comme étant la projection d ’ un
mouvement circulaire uniforme sur une droite. Les positions successives d ’ un mobile qui effectue ce type de mouvement sont traditionnellement repérées par rapport à une position
centrale : on les appelle alors des élongations. ’ équation qui décrit l’ évolution de l’ élongation
d’un tel mobile au cours du temps est toujours de la forme :
 , dans laquelle "e" représente l'élongation du mobile à tout instant t . Les constantes A, f et φ désignent respectivement l’ amplitude, la fréquence et la phase du mouvement vibratoire.
Le but du présent projet est de fournir un instrument de visualisation simple de ces différents
concepts, à savoir un système d ’ affichage automatique de graphiques élongation/temps. 
L’utilisateur pourra choisir librement les valeurs des paramètres A, f et φ, et observer les courbes qui en résultent.
Donc, en premier lieu, on créera un module nommé "oscillographe.py" qui contiendra le "Canvas" principale où les courbes seront affichées. Puis, on créera un autre fichier avec un code plus développé  nommé "main_occilo.py" qui contiendra des classes pouvant afficher et modifier à volonté les constantes A, f et φ.

Sans attarder, voilà des images animées (.gif) des deux programmes en exécution : 
 - Test du module "oscillographie.py" : 

  
- Exécution du code du fichier "main_oscillo.py" : 



Vous pouvez télécharger le code source des deux programmes via Google Drive.

[Tutoriel] : Affichage d'une série de wagons, des personnages dans les fenêtres et changer la couleur des wagons.


Dans ce billet on va explorer un autre exemple d'un programme crée avec Python en utilisant le module "Tkinter" (nommé aussi : Tk). 
Ce billet utilisera des techniques vues dans ce billet, qui nous permettra d'afficher une fenêtre contenant trois wagons et plusieurs fenêtres. L'appui sur le bouton "Train" affichera les wagons, l'appui sur le bouton "Salut" affichera des petits visages dans les fenêtres et la saisie d'une couleur en appuyant sur le bouton "Éclaire" changera la couleur du premier et du troisième wagons. 
Voilà une image "gif" qui illustre le fonctionnement de notre programme. 


À noter : Le code source en Python est fonctionnel avec "Python 3" et plus. 
Avec les versions antérieures vous rencontrez des erreurs. Et aussi, il faut respecter l'indentation lors de la saisie du code sur vos IDE préférés.

Vous pouvez télécharger le code source (Mis en format .zip)  sur Google Drive.


[Tutoriel] : Affichage des couleurs et leur noms avec Python et Tkinter


Dans ce billet on va explorer ensemble un exemple d'un programme crée avec Python en utilisant le module Tkinter (nommé aussi : Tk) qui est l'interface standard de la boite à outils Tk GUI de la langage de programmation Python .
Ce tutoriel consiste à créer un GUI permettant la saisie d'un couleur à afficher dans un rectangle. Les couleurs doivent êtres écrites comme suit : [Black, Brown, Red, Orange, Yellow, Green, Blue, Purple, Grey, White]. Le programme sera sensible aux majuscules et en cas de mauvaise saisie, un message d'erreur s'affichera et  indiquera qu'on doit appuyez sur la touche 'R' ou 'r' pour relancer la saisie.
Assez parler, voilà une présentation du programme (format .gif) et  le code documenté :



#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Auteur : Chiheb
# Licence : Free Licence

######### Affichage des couleurs + leurs noms ###########

class Application (object) :

   def __init__ (self) :
       "Constructeur de la fenêtre principale"
       # Initialisation de Tkinter()
       self.root = Tk()
       # Texte de la fenêtre principale
       self.root.title ('Affichage des couleurs')
       # Appel de la fontion dessineCadre() de la classe Application()
       self.dessineCadre()
       # Création d'un Label()
       Label(self.root,text = "Entrer le nom du couleur : ").grid(row=2,column=1,columnspan=3)
       # Création du premier boutton
       Button(self.root,text='Montrer',command = self.changeCouleur).grid(row=3,column=1)
       # Création du deuxième boutton
       Button(self.root,text='Quitter',command = self.root.quit).grid(row=3,column=3)
       # Création d'une espace de saisie de type Entry
       self.entree = Entry(self.root,width=14)
       self.entree.grid(row=3,column=2)
       # Listes des couleurs
       self.cc = ['Black','Brown','Red','Orange','Yellow','Green','Blue','Purple','Grey','White']
       # Boucle pincipale

       self.root.mainloop()

   def dessineCadre (self) :

       "Canvas avec un text box au milieu indiquant la couleur"
       # Création du Canvas de l'instance self.root avec une largeur = 250, hauteur = 100
       # et couleur de l'arière plan = ivory
       self.can = Canvas(self.root,width= 250, height = 100, bg='ivory')
       # Le Vanvas crée possède une seule ligne (row=1) et une seule colonne (column=1)
       # L'espacement de la colonne est de l'ordre de 3
       # padx = Remplissage facultatif autour d'une widget dans une cellule
       # pady = Sa valeur par défaut est 1
       self.can.grid(row=1,column=1,columnspan=3,pady=5,padx=5)
       # Création d'un rectangle
       self.can.create_rectangle(65,30,185,70,fill='light grey',width=2)  

   def changeCouleur(self) :
       "Changer la couleur du fond du rectangle"
       text_id = None
       # Utilisation de la méthode get() pour reçevoir les données par l'utilisateur
       self.ch = self.entree.get()
       # Affichage facultatif
       print("Vous avez saisie : ",self.ch)
       # Appuyer sur 'R' ou 'r' renouvelle la fenêtre de la saisie
       if self.ch.upper() =='R' :
       self.videEntree()
       if self.ch in self.cc :
       #Création du rectangle aux positions : 65,30,185,70 de l'écran
      self.can.itemconfigure(self.can.create_rectangle(65,30,185,70,fill=self.ch,width=2))   
       # Création du texte
       text_id = self.can.create_text(130,50,anchor = "center")
       # Configuration du contenu du texte
       self.can.itemconfig(text_id,text=self.ch)
       # Insertion du texte avec une police = 12
       self.can.insert(text_id,12,"")
       else :
       # Création d'un Cavnas item, un text plus précisement pour l'erreur
       # Recréation de du Vavnas en mettant la couleur par défaut = white

       self.can.itemconfigure(self.can.create_rectangle(65,30,185,70,fill='white',width=2))
       text_id = self.can.create_text(130,50,anchor = "center")
       # Message d'erreur en cas de mauvaise saisie
       self.can.itemconfig(text_id,text="  ERREUR\n(R)enouveller")
       self.can.insert(text_id,12,"")
       if self.ch.upper() =='R' :
           # Message facultatif
           print("Renouvellement de la fenêtre de la saisie")
       else :
           # Message facultatif
           print('"{}" n\'est pas inclus dans la liste des couleurs'.format(self.ch))

   def videEntree(self) :
       "Rétablir le fond blanc et enlever les caractères saisies"
       # Mettre le fond de la fenêtre de la saisie en blanc
       self.entree.configure(bg='white')
       # Vider le champs de la saisie
       self.entree.delete(0,len(self.ch))

 ################# Programme principal #################

if __name__ == '__main__' :
    from tkinter import *
    f = Application()


Vous pouvez télécharger le code source directement via : Google Drive