raspnode – Ethereum comment trader

  • Crypto Art, NFT Trending Decentralized Finance (Defi) Learn To Borrow, Lend, Trade, Save, And Invest After Bitcoin & Ethereum In Cryptocurrency Peer To Peer (P2p) Lending, ... (Decentralized Finance (Defi) Books, Band 1)
    Binding : Taschenbuch, Label : NFT Cryptocurrency Investment Guides, Publisher : NFT Cryptocurrency Investment Guides, medium : Taschenbuch, numberOfPages : 167, publicationDate : 2021-05-20, releaseDate : 2021-05-20, authors : Crypto Art, NFT Trending, ISBN : 1838365869
?>

Créez votre propre nœud complet Raspberry Pi Ethereum [Go Client]

Cliquez ici pour installer le client Python

DERNIÈRE MISE À JOUR LE 5 FÉVRIER 2016
Avertissement: je ne peux pas garantir que ces étapes fonctionneront à 100%. Comme tous les didacticiels, ils font des hypothèses sur les choses et sont soumis à des bibliothèques externes et à des mises à jour ou à des modifications logicielles. Je teste et mets à jour régulièrement ces étapes pour les modifications ou les ajouts, mais je ne peux pas garantir qu'un dépannage n'est pas nécessaire pour que votre nœud soit opérationnel.

préparation

Ce didacticiel consiste à installer Ethereum Geth v1.3.3 (ou 1.3.x si des versions ultérieures sont enregistrées dans la branche 1.3.3) sur un Raspberry Pi 2. Des options seront fournies pour stocker les données de la chaîne de blocs sur la carte microSD ou sur une carte externe Périphérique USB. EthDev a trois clients Ethereum: Eth (écrit en C ++), Pyeth (écrit en Python) et Geth (écrit en Go). Ce tutoriel consiste à installer Geth, le client Go. Ethereum est extrêmement révolutionnaire et connaît un développement rapide, alors attendez-vous à un voyage inégal et à quelques problèmes si vous plongez à ce stade.

Si vous rencontrez des problèmes avec Raspberry Pi au cours de ces étapes, les documents Raspberry Pi sont une bonne source d'aide:

http://www.raspberrypi.org/documentation/

OPTION

EthDev a une image de système d'exploitation pré-construite pour Raspberry Pi avec ArchLinux. Ils ont également des étapes de bricolage pour ArchLinux OS. Il est livré avec Geth (le client Go) et Eth (le client C ++) préinstallé. Vous pouvez également télécharger et exécuter des binaires ARM prédéfinis pour Geth à partir d'ici: https://build.ethdev.com/builds/ARM%20Go%20develop%20branch/geth-ARM-latest.tar.bz2, mais ils sont créés à partir de celui-ci la dernière branche de développement n'est pas garantie d'être stable. Mais ils seront mis à jour!

EthEmbedded fournit des versions Ethereum ARM pour des micro-ordinateurs tels que Raspberry Pi, Odroid et BeagleBone Black. Ils ont des scripts d'installation Eth et Geth sur le github pour Raspberry Pi, le script Geth nécessite une mise à niveau vers Debian Stretch plutôt que d'utiliser Debian Wheezy ou Jessie officiellement pris en charge.

ÉTAPES COMPLÈTES

ÉQUIPEMENT DE NŒUD

  • Raspberry Pi 2
  • Étui adapté à la forme Raspberry Pi B +
  • Alimentation (micro USB, 5V, minimum 2A)
  • Adaptateur USB wifi ou câble Ethernet pour une connexion directe à votre routeur
  • 8 Go (ou plus, surtout si vous y stockez la blockchain) Carte MicroSD (Classe 10)
  • (FACULTATIF) Lecteur flash USB ou disque dur externe USB

En février 2016, la chaîne de blocs et les données occupent environ 7 Go d'espace et se développent rapidement.Par conséquent, bien qu'un périphérique de stockage externe ne soit pas encore nécessaire, il peut être judicieux de l'utiliser quand même.

opportunités d'achat

Vous pouvez trouver ce qu'il faut pour construire un nœud de râpe Ethereum pour moins de 100 $.

Le kit de démarrage CanaKit Raspberry Pi coûte 70 $ (plus TVA et frais d'expédition) et est livré avec tout ce dont vous avez besoin moins le périphérique USB et le câble Ethernet (si vous souhaitez vous connecter directement à votre routeur).

Avec suffisamment d'exploration, vous pouvez trouver des prix raisonnables sur des lecteurs USB de 128 Go, certains dans la gamme de 35 $ à 40 $. Certains disques durs externes de 500 Go sont dans la gamme de 50 $ à 60 $.

RÉGLAGE DE L'ÉQUIPEMENT

  • Câble HDMI
  • Moniteur avec entrée HDMI ou adaptateur pour convertir HDMI en moniteur
  • Clavier USB
  • Routeur et connexion Internet
  • Ordinateur séparé qui doit pouvoir lire une carte microSD

ASSEMBLÉE

Le montage de votre Raspberry Pi dépend du boîtier acheté. Une fois installé, connectez votre clé USB en option, votre câble HDMI à votre moniteur, votre clavier USB et votre adaptateur USB Wifi ou un câble Ethernet qui va à votre routeur.

L'appareil s'allume automatiquement lorsque vous connectez le câble micro USB.

INSTALLER RASPBIAN OS

Si votre Raspberry Pi est livré avec une carte microSD préinstallée avec NOOBS, vous pouvez insérer la carte microSD dans le Raspberry Pi, connecter le cordon d'alimentation et il vous guidera tout au long de l'installation. Assurez-vous de choisir Raspbian comme choix de système d'exploitation, qui devrait être le premier de la liste. L'installation prend quelques minutes. Une fois terminé, redémarrez et accédez aux options de configuration de Raspbian.

Si vous avez une toute nouvelle carte microSD, vous devez télécharger une image Raspbian sur votre PC et créer une image de votre carte microSD. Ce guide suppose que vous utilisez un ordinateur exécutant Microsoft Windows. Les instructions pour l'imagerie avec Mac ou Linux peuvent être trouvées dans les documents Raspberry Pi:

http://www.raspberrypi.org/documentation/installation/installing-images/README.md

Vous pouvez trouver les dernières informations sur la page de téléchargement du Raspberry Pi:

Downloads

Ou téléchargez le dernier ici:

http://downloads.raspberrypi.org/raspbian_latest

Une fois téléchargé, décompressez le fichier. Si vous ne disposez pas d'une application pour décompresser des fichiers, vous pouvez utiliser 7zip open source:

http://www.7-zip.org/

Le dossier décompressé contient un gros fichier .img. Pour mettre cette image sur votre carte microSD, nous devons utiliser l'open source Win32DiskImager disponible sur sourceforge:

http://sourceforge.net/projects/win32diskimager/

Ou téléchargez le dernier ici:

http://sourceforge.net/projects/win32diskimager/files/latest/download

Après avoir téléchargé le programme d'installation, cela installera Win32DiskImager.

Insérez votre carte microSD dans votre PC. Lancez Win32DiskImager. Sélectionnez le fichier Raspbian .img en tant que & # 39; fichier image & # 39; et sélectionnez votre carte microSD comme & # 39; appareil & # 39;. Assurez-vous que la sélection est votre carte microSD et rien d'autre, en particulier votre disque dur. Cliquez sur "écrire". Cela prend quelques minutes.

Lorsque vous avez terminé, éjectez votre carte microSD. Insérez votre carte microSD dans le Raspberry Pi et branchez le cordon d'alimentation et attendez qu'il démarre.

RASPBISH CONFIG SELECT

Lorsque vous lancez Raspbian pour la première fois, vous serez invité avec le menu de configuration Raspi ci-dessous:

Si vous avez utilisé NOOBS pour installer Raspbian, votre système de fichiers sera déjà étendu pour remplir votre carte microSD complète. Mais si vous avez installé une image Raspbian, vous devez la développer maintenant.

Sélectionnez "1 Expand File System" qui étend le système de fichiers pour remplir la carte.

Vous pouvez exécuter votre système d'exploitation "sans tête" et nous pouvons allouer un peu plus de RAM au CPU.

Sélectionnez "8 Options avancées" puis sélectionnez "Mémoire partagée"

Changer 64 en 16

Sélectionnez "OK"

Si vous souhaitez pouvoir SSH sur votre Raspnode, vous pouvez activer le serveur SSH ici.

Sélectionnez "8 options avancées" puis sélectionnez "SSH"

Sélectionnez "Activer"

Changer le nom d'hôte. Le nom de la valeur par défaut est défini sur "framboise". Nous allons changer le nôtre en "raspnode" et le reste du tutoriel l'adoptera. Si vous laissez le vôtre comme "framboise" ou le changez pour autre chose, lorsque vous voyez le nom d'hôte mentionné, utilisez-le à la place de "raspnode".

Sélectionnez "8 Options avancées" puis sélectionnez "Nom d'hôte"

Modifiez le nom d'hôte à "raspnode" sans guillemets (ou au nom d'hôte souhaité)

Sélectionnez "OK"

Ici, vous pouvez également changer l'utilisateur par défaut (qui est "pi") et le mot de passe (qui est "framboise"). Nous les laissons comme pour la leçon. Si vous changez votre nom d'utilisateur, assurez-vous de l'utiliser au lieu de "pi" lorsqu'il apparaît dans ce didacticiel.

Vous pouvez overclocker votre Raspberry Pi pour lui donner un peu plus de puissance de traitement. Cela peut accélérer l'authentification initiale de la blockchain, mais n'est pas requis pour les opérations normales de nœud complet.

Sélectionnez "7 Overclock"

Sélectionnez le niveau souhaité pour l'overclocking

Sélectionnez "OK"

Pour définir votre fuseau horaire:

Sélectionnez "4 options d'internationalisation"

Sélectionnez "Changer le fuseau horaire"

Passez par le processus de sélection pour sélectionner votre fuseau horaire, puis sélectionnez "OK"

Lorsque vous avez terminé, sélectionnez "Terminé" et votre Raspberry Pi redémarrera.

Lorsque vous obtenez l'invite "connexion", entrez votre nom d'utilisateur "pi" et il vous demandera votre mot de passe. Entrez votre mot de passe (qui ne s'affiche pas) et appuyez sur pour vous connecter (le mot de passe sera "framboise" si vous ne l'avez pas changé dans raspi-config).

MODIFICATION DES FICHIERS

Nous utiliserons la ligne de commande pour éditer les fichiers. Si vous ne connaissez pas de ligne de commande, cela peut être un peu difficile. Raspbian est livré avec certains éditeurs. Nano est un éditeur relativement convivial et ce tutoriel l'utilisera, mais nous avons également Raspbian pour les utilisateurs qui le préfèrent et peuvent être utilisés à la place. Si vous ne nous avez jamais utilisés auparavant, vous devriez vous en tenir à nano.

Pour ceux qui ne connaissent pas Linux, certaines actions nécessitent des privilèges root. Nous le faisons en utilisant la commande "sudo" avant notre commande souhaitée. Cela ne fonctionne que si vous êtes connecté en tant qu'utilisateur sudo-rights, en tant qu'utilisateur Raspbian par défaut ("pi" dans notre cas). Sudo peut être configuré pour exiger un mot de passe, mais l'utilisateur Raspbian ne doit pas être défini par défaut.

Vous souhaiterez peut-être modifier la disposition du clavier par défaut. Modifier / etc / default / keyboard

pi @ raspnode ~ $ sudo nano / etc / default / keyboard

Changer la ligne

XKBLAYOUT = "GB"

pour comparer le code du pays souhaité, remplacez-le par la disposition du clavier américain pour

XKBLAYOUT = "us"

Sauvegarder et quitter. Redémarrez pour qu'il prenne effet. Redémarrez avec

pi @ raspnode ~ $ sudo shutdown -r now

CONFIGURATION DE L'USB ET RÉGLAGE DU MONTAGE AUTOMATIQUE (EN OPTION)

Si vous n'utilisez pas de stockage externe, vous pouvez ignorer cette section et accéder au réseau.

Assurez-vous que votre mémoire USB est vide et utilisez un format de fichier qui fonctionne naturellement avec Linux (par exemple pas NTFS). FAT32 est une bonne alternative. Vous pouvez le faire en connectant votre clé USB à votre PC Windows et en vérifiant les propriétés. S'il n'est pas vide, formatez-le en FAT32. Ici, vous pouvez également modifier l'étiquette. Écrivez une étiquette sur l'étiquette, ce sera utile plus tard (mais pas nécessaire).

Windows peut ne pas être en mesure de formater un appareil très volumineux comme FAT32, auquel cas vous devrez utiliser un logiciel tiers ou le formater sous Linux. Notez également que Raspbian verra probablement FAT32 comme VFAT, ce que nous verrons ci-dessous.

Créez un répertoire qui servira de point de montage pour la clé USB, nous l'appelons ethData et le plaçons dans le répertoire home (le chemin complet sera / home / pi / ethData /:

pi @ raspnode ~ $ mkdir ~ / ethData

Connectez votre clé USB au Raspberry Pi et attendez quelques secondes. Pour voir où il se trouve, lancez la commande:

pi @ raspnode ~ $ sudo blkid

Vous pouvez exécuter la commande blkid sans sudo, mais si vous l'exécutez sans privilèges root, vous ne recevrez aucune information. Vous devriez voir quelques lignes qui ressemblent à ceci:

/ dev / mmcblk0p1: LABEL = "root" UUID = "1460456c-eadd-49a9-e2ab-a0fe18df0d3a" TYPE = "ext4"

Qui sont spécifiques à votre système d'exploitation. Ce que vous cherchez, c'est une ligne qui:

/ dev / sda1: LABEL = ""UUID =""TYPE =" vfat "

C'est là que la connaissance de votre étiquette peut vous aider. Le type doit être "vfat" et vous cherchez ce qu'est / dev / sdxx (il peut s'agir de sda1, sdb1 ou quelque chose de similaire, mais probablement sda1). Écris le. Vous n'avez pas vraiment besoin de noter l'étiquette ou l'uuid, juste l'emplacement.

Pour dire à votre Raspberry Pi de monter votre clé USB automatiquement afin que tout ce que nous mettons dans le répertoire ethData passe sur USB et vice versa, nous devons éditer le fichier / etc / fstab.

pi @ raspnode ~ $ sudo nano / etc / fstab

Il devrait contenir quelques lignes d'informations, à la fin du fichier, ajoutez-les, le tout sous forme de ligne, en commençant par l'emplacement de votre périphérique USB que vous avez noté. S'il s'agit de / dev / sda1, ce que vous ajoutez serait le suivant:

/ Dev / sda1 / home / pi / ethData vfat uid = pi, gid = pi, umask = 0022, sync, auto, nosuid, rw, nouser 0 0

Si vous avez changé votre nom d'utilisateur pour quelque chose d'autre, remplacez "pi" par le nom d'utilisateur ci-dessus dans tous les domaines où il apparaît. Il n'y a pas d'espaces dans cette ligne, juste un seul onglet entre chaque élément de données. Il existe d'autres options que vous pouvez utiliser si vous souhaitez plus ou moins de restrictions sur votre appareil, mais cela fonctionne. Vous ne devez modifier ce paramètre que si vous savez ce que vous faites. Fondamentalement, cela montera automatiquement le périphérique USB au démarrage à l'emplacement souhaité, permettra à pi (ou aux utilisateurs substitués) de lire et d'écrire des données sur le périphérique et d'autres choses en dehors de la portée de ce tutoriel.

Enregistrez le fichier et quittez. Redémarrez votre Raspberry Pi:

pi @ raspnode ~ $ sudo shutdown -r now

LE RÉSEAU PI FRAMBOISE

Si vous utilisez un câble Ethernet et que vous vous connectez directement à votre routeur et que le DHCP est activé, vous pouvez le connecter et vous devez avoir accès à Internet. Vous pouvez vérifier en cinglant:

pi @ raspnode ~ $ ping google.com

Si vous commencez à voir des pings, vous êtes bon. Rencontrer + c pour arrêter le ping. Si vous utilisez un adaptateur wifi et avez un mot de passe pour votre routeur, il y a quelques étapes supplémentaires. La configuration et le dépannage du wifi sur le Raspberry Pi dépassent le cadre de ce didacticiel, donc si l'installation de base illustrée ici ne fonctionne pas, veuillez vous référer à la documentation du Raspberry Pi pour obtenir de l'aide:

http://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

Pour configurer votre wifi, modifiez le fichier /etc/wpa_supplicant/wpa_supplicant.conf:

pi @ raspnode ~ $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ajoutez ceci au bas du fichier:

réseau = 
SSID = ""
psk = ""

Par exemple, si votre réseau wifi est appelé myHomeWifi et votre mot de passe wifi est mySuperSecret alors wpa_supplicant.conf devrait ressembler à:

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = 1

réseau = 
SSID = "myHomeWifi"
psk = "mySuperSecret"

Ensuite, redémarrez votre interface wifi:

pi @ raspnode ~ $ sudo ifdown wlan0
pi @ raspnode ~ $ sudo ifup wlan0

Si vous devez configurer une adresse IP statique, elle ne sera pas incluse dans ce guide pour le moment.

TÉLÉCHARGEMENT D'UNE SANTÉ

Pour installer Geth, nous devons installer certains outils et packages logiciels. Tout d'abord, assurez-vous que tout est à jour et mettez-le à jour si ce n'est pas le cas:

pi @ raspnode ~ $ sudo apt-get update
pi @ raspnode ~ $ sudo apt-get upgrade -y

Nous devons installer certaines dépendances, si vous exécutez cela téléchargera ce qui est nécessaire:

pi @ raspnode ~ $ sudo apt-get install libgmp3-dev -y

Cela ne devrait prendre que quelques minutes. Ensuite, nous devons télécharger et installer la version 1.4 du langage de programmation Go. Il n'y a pas de version ARM officielle de Go 1.4, mais heureusement, Dave Cheney l'a fait fonctionner pour la communauté. Commençons par créer un répertoire à intégrer:

pi @ raspnode ~ $ mkdir ~ / bin
pi @ raspnode ~ $ cd ~ / bin

Ensuite, nous téléchargeons Go 1.4 pour l'archive ARMv7, l'extrayons et l'ajoutons à notre variable PATH:

pi @ raspnode ~ / bin $ wget http://dave.cheney.net/paste/go1.4.linux-arm ~ armv7-1.tar.gz
pi @ raspnode ~ / bin $ tar -xzvf go1.4.linux-arm ~ armv7-1.tar.gz
pi @ raspnode ~ / bin $ export PATH = $ PATH: / home / pi / bin / go / bin
pi @ raspnode ~ / bin $ export GOROOT = / home / pi / bin / go

Il s'agit d'une installation temporaire pour utiliser Go, car nous n'en avons pas besoin après avoir construit Geth.

INSTALLER GETH

Téléchargez le code source de Geth v1.3.3 depuis github et compilez-le (malgré le nom de la branche, cela peut en fait télécharger une version supérieure en fonction de la fréquence à laquelle EthDev crée des branches, si vous souhaitez obtenir la dernière version qui peut ou non être stable, supprimez les arguments "- version b / 1.3.3 "):

pi @ raspnode ~ / bin $ git clone -b release / 1.3.3 https://github.com/ethereum/go-ethereum.git
pi @ raspnode ~ / bin $ cd go-ethereum /
pi @ raspnode ~ / bin / go-ethereum $ faisant geth
pi @ raspnode ~ / bin / go-ethereum $ sudo cp build / bin / geth / usr / local / bin /

La construction de Geth ne devrait prendre que quelques minutes.

RÉGLAGE ET EXÉCUTION DE GETH

Vous n'avez pas besoin de créer un compte pour exécuter Geth, mais nous le ferons quand même. Un compte se compose d'une clé privée chiffrée et de votre clé / adresse publique correspondante. Si vous utilisez un stockage externe, vous devez indiquer à Geth où se trouve votre répertoire de données, sinon il supposera qu'il s'agit de ~ / .ethereum:

pi @ raspnode ~ / bin $ cd ~ /
pi @ raspnode ~ $ geth --datadir / home / pi / ethData compte nouveau

Il vous sera demandé de créer une phrase secrète et de la saisir à nouveau. Cette phrase secrète est utilisée pour crypter votre clé privée. Vous devez vous souvenir de cette phrase secrète si vous souhaitez utiliser ce compte. Vous pouvez créer autant de comptes que vous le souhaitez, mais si vous oubliez votre phrase secrète pour un compte contenant de l'éther, vous le perdrez. Voici la commande si vous n'utilisez pas de stockage externe:

pi @ raspnode ~ $ geth compte nouveau

Si vous disposez d'un stockage externe, exécutez Geth avec cette commande:

pi @ raspnode ~ $ geth --datadir / home / pi / ethData --ipcdisable - console de jour automatique

Ou cette commande si vous n'utilisez pas de stockage externe:

pi @ raspnode ~ $ geth - console de jour automatique

Pour les données externes, –ipcdisable est requis si le système de fichiers externe est FAT32. Si vous souhaitez utiliser la console ipc, vous pouvez toujours remplacer "–ipcdisable" par "–ipcpath /some/location/on/microsd/geth.ipc".

Cette commande démarre Geth et vous donne une interface de ligne de commande à utiliser. Après une certaine installation initiale, vous devriez voir un message que & # 39; … Bloquer la synchronisation a commencé & # 39; suivi de messages qui & # 39; … ont importé 256 bloc (s) … & # 39;. Lorsque vous utilisez l'interface de ligne de commande, vous pouvez vérifier l'état avec:

> eth.syncing

Cela vous montre votre numéro de bloc actuel et le numéro de bloc le plus élevé signalé par vos pairs. Vous pouvez également contrôler le bloc le plus élevé avec l'explorateur de chaînes de blocs Web tel que etherchain.

Si vous préférez exécuter Geth en arrière-plan au lieu d'utiliser la console et ne pas voir les messages, utilisez cette commande si vous utilisez un stockage externe:

pi @ raspnode ~ $ geth --datadir / home / pi / ethData - auto day --verbosity 0 &

Ou ceci si vous n'utilisez pas de stockage externe:

pi @ raspnode ~ $ geth - jour auto --verbosité 0 &

Une liste complète des commandes Geth peut être trouvée sur le wiki go-ethereum.

Pour arrêter Geth à partir de la console, exécutez:

> quitter

Si vous exécutez Geth en arrière-plan en tant que démon (en utilisant & à la fin), vous devez le mettre au premier plan avec & # 39; fg & # 39; et tuez-le avec .

Au 3 novembre 2015, la chaîne de blocs était d'environ 3,5 Go et il a fallu environ 24 heures pour télécharger, attendez 72 heures ou plus à partir de février 2016. Pendant la plupart du temps, lorsque le bloc arrive, les importations de blocs se feront de manière assez cohérente , mais parfois les importations s'arrêtent, parfois s'arrêtent pendant quelques heures, avant de reprendre plus tard. Vous pouvez choisir d'arrêter et de redémarrer votre nœud pendant ces périodes. Les données de la chaîne de blocs peuvent être endommagées lors de la synchronisation, si cela se produit lorsque vous essayez d'exécuter Geth, cela propagera de nombreux messages et se fermera. Le correctif consiste à supprimer les données de la chaîne de blocs et à recommencer. Les données de la blockchain se trouvent dans le répertoire "chaindata" de votre répertoire Ethereum (~ / ethData ou ~ / .ethereum). Pour cette raison, il est préférable de télécharger la blockchain sur un autre ordinateur et de la transférer en copiant le dossier "chaindata". La synchronisation avec le réseau sur mon serveur a pris moins de 45 minutes.

Lorsque Geth synchronise la blockchain, le CPU est déterminé et l'utilisation de la RAM se déplace généralement entre 20% et 40%. Une fois la blockchain capturée, Geth sautera entre 10% et 100% d'un noyau et l'utilisation de la RAM tombera à environ 11%.

CONFIGURATION DES RÉSEAUX DOMESTIQUES POUR LA SYNCHRONISATION AVEC LE RÉSEAU Ethernet

Le réseau Ethereum utilise le port 30303. Geth utilisera UPnP pour essayer d'ouvrir ce port sur votre routeur pour vous. Si votre routeur ne prend pas en charge UPnP, vous devrez peut-être transférer manuellement le port. Pour ce faire, vous devez récupérer l'adresse IP locale de votre nœud rasp avec:

pi @ raspnode ~ $ ifconfig

Si vous vous connectez directement à votre routeur, l'adresse IP sera sous "eth0", si vous êtes en wifi ce sera sous "wlan0".