Ce tutoriel est mis en place petit à petit suite à une vidéo d'une Silicon Valley il y a trois ans. Cependant , suite au tutoriel, il y aura de nombreux problèmes qui ne sont pas apparus dans la vidéo. Cet article se concentre sur les problèmes et les solutions rencontrés lors du processus de construction ! !
1. Préparation de l'environnement
# Mettre à jour d'abord
$ sudo apt-get update
1. Installer docker (voir mon tutoriel précédent)
2. Installez docker-compose
#Installer les outils de dépendance
$ sudo apt-get install python-pip -y #Installer
les outils d'orchestration
$ sudo pip install docker-compose #Afficher la
version
$ sudo docker-compose version
3. Installez Golang
# 1. 使用wget工具下载安装包
$ wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
# 2. 解压tar包到/usr/local
$ sudo tar zxvf go1.11.linux-amd64.tar.gz -C /usr/local
# 3. 创建Go目录
$ mkdir $HOME/go
# 4. 用vi打开~./bashrc,配置环境变量
$ vim ~/.bashrc
# 5. 增加下面的环境变量,保存退出
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# 6. 使环境变量立即生效, 下面两个命令二选一
$ source ~/.bashrc
$ . ~/.bashrc
# 7. 检测go是否安装好
$ go version
4. Installez node.js
- Télécharger le paquet source binaire
$wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xz
- Décompressez et installez
# Décompressez le package compressé spécifié dans le répertoire /opt
$ sudo tar xvf node-v8.11.4-linux-x64.tar.xz -C /opt
- récupérez le répertoire node-v8.11.4-linux-x64 dans le répertoire /opt
- Rendre node.js disponible dans le monde entier
# Ouvrez le fichier de configuration au niveau du système /etc/profile
$ sudo vim /etc/profile
# Ajoutez les éléments de configuration suivants, enregistrez et quittez
export NODEJS_HOME=/opt/node-v8.11.4-linux-x64
export PATH=$PATH : $NODEJS_HOME/ bin
# Rechargez le fichier de configuration
$ . /etc/profile
/etc/profile -> le fichier de configuration pour définir les variables d'environnement
- efficace pour tous les utilisateurs sous le système actuel
- test
$ nœud -v
5. Installez Git
Il est préférable de mettre à jour apt-get en premier, sinon vous risquez de télécharger une ancienne version de git. C'est une bonne habitude. Lors du téléchargement d'un paquet, il est préférable de mettre à jour l'outil
$ apt-get update
$ apt-get install git
2. Déployez l'hyper ledger fabric (le # est suivi de commentaires !)
(1), tirer le miroir
$ cd ~ # Créer un répertoire de placement sous le répertoire personnel ici
$ mkdir hyperledger-fabric #Créer un répertoire de placement
$ cd hyperledger-fabric #Entrer dans le répertoire
# Téléchargez et exécutez le script, [ ***Besoin de contourner le mur, besoin de contourner le mur, besoin de contourner le mur, besoin de contourner le mur, besoin de contourner le mur,*** ]
$ curl -sSL http ://bit.ly/2ysbOFE | bash-s 1.2.0 1.2.0 0.4.10Rappel : Ce processus va vous donner envie de casser l'ordinateur, contrôler vos émotions !!!!
# Une fois le téléchargement terminé, vérifiez quel miroir est téléchargé
$ docker images
Les captures d'écran ci-dessous proviennent du didacticiel que j'ai appris, mais il y aura toujours des images qui ne pourront pas être retirées pendant mon opération !
Raison : Parce que le fichier sh officiel a des problèmes liés au numéro de version, le téléchargement du miroir manquera de plusieurs fichiers importants. À ce stade, nous devons extraire le miroir manquant par nous-mêmes.
Solution : Comparez les captures d'écran ci-dessus et extrayez ce qui manque.
docker pull hyperledger/fabric-ca:1.2.0
docker pull hyperledger/fabric-orderer:1.2.0
docker pull hyperledger/fabric-peer:1.2.0
docker pull hyperledger/fabric-ccenv:1.2.0
docker pull hyperledger/fabric-tools:1.2.0
docker pull hyperledger/fabric-baseos:0.4.15
docker pull hyperledger/fabric-kafka:0.4.10
docker pull hyperledger/fabric-zookeeper:0.4.10
docker pull hyperledger/fabric-couchdb:0.4.10
L'observation a révélé qu'il existe de nombreux miroirs avec le même identifiant mais des balises différentes. Nous utilisons
docker rmi hyperledger/fabric-tools:dernières
Pour supprimer le miroir nommé fabric-tools dans le dossier hyperledger, le numéro de version est le plus récent, et les autres sont supprimés de cette façon
Je n'ai pas fait cette opération ici, car il y avait trop d'images extraites et j'étais trop paresseux pour les supprimer. Il s'avère qu'il peut être utilisé sans supprimer.
(2), définir l'accès global
# Allez dans le répertoire ~/hyperledger-fabric/fabric-samples/bin
$ cd ~/hyperledger-fabric/fabric-samples/bin kyp@ubuntu:~/hyperledger-fabric/fabric-samples /
bin$ tree ├── configtxgen ├── configtxlator ├── cryptogen ├── découvre ├── fabric-ca-client ├── get-docker-images.sh ├── idemixgen ├── orderer └── peer # Copiez ces binaires dans / $ sudo cp * /usr/local/bin dans le répertoire usr/local/bin # Après avoir effectué les opérations ci-dessus, ces programmes exécutables de fabric peuvent être utilisés dans la portée globale
3. Commencez à exécuter le test d'environnement First-Network (la réussite ou l'échec des étapes précédentes dépend de la possibilité de démarrer l'exemple de programme)
- Exécutez la commande ./byfn.sh generate pour générer le fichier correspondant
$ cd ~/hyperledger-fabric/fabric-samples/first-network/ #进入到first-network
$ ./byfn.sh génère
Ceci est utilisé pour générer à l'avance les fichiers de configuration pertinents (pour préparer le démarrage automatique ultérieur du réseau blockchain)
Le résultat est montré sur la figure
2. Exécutez ./byfn.sh pour démarrer le réseau
# byfn == construire votre premier réseau
$ ./byfn.sh up
Ici, quand je l'exécute sur mon ordinateur, il y a un problème ! ! ! Exaspérant
Après le tutoriel, la capture d'écran suivante devrait apparaître :
Mais le résultat de mon exécution est le suivant : cela signifie approximativement qu'une nouvelle connexion ne peut pas être établie et qu'un nouveau nœud ne peut pas être communiqué.
error getting endorser client for channel: endorser client failed to connect to peer1.org1.example.com:7051: failed to create new connection: context deadline exceeded
peer1.org1 failed to join the channel, Retry after 3 seconds
la solution:
On arrête d'abord le réseau :
$ ./byfn.sh vers le bas
Nous tapons :
$ sudo vim /etc/resolv.conf
2. Exécutez à nouveau ./byfn.sh pour démarrer le réseau (si cela a réussi auparavant, ne faites pas cette étape)
$ cd ~/hyperledger-fabric/fabric-samples/first-network/ # Entrez le premier réseau à exécuter
$ ./byfn.sh en hausse
Lorsque les deux captures d'écran ci-dessus apparaissent, le démarrage est réussi ! ! ! Toutes nos félicitations
3. Vous pouvez afficher l'état de démarrage du nœud via la commande docker ps.
$ docker ps
4. Si nous voulons arrêter le réseau, nous pouvons exécuter la commande ./byfn.sh down pour arrêter
$ ./byfn.sh vers le bas
Ce qui suit est un diagramme de dépendance de l'image principale du tissu
Ce qui précède est la construction de l'environnement et les tests du tissu hyperledger.