Déploiement autonome de combat Hyperledger Fabric

Préface

En ce qui concerne le déploiement de l'environnement Hyperledger / fabric1.0, j'ai personnellement marché sur de nombreux stands, des exemples officiels d'exemples au déploiement local multi-machines en solo, en passant par l'environnement de production réel du déploiement multi-machines de kafka, et divers bugs sont apparus en cours de route, même si vous suivez Comme les tutoriels en ligne, il y a encore beaucoup de bugs. Compte tenu du fait que de nombreux amis n'ont pas de fondement, je souhaite personnellement aussi rédiger un compte-rendu d'expérience, je publie donc également un simple blog d'introduction.
Ce tutoriel est un enseignement purement simple, mais aussi quelques suggestions, j'espère aider tout le monde. (L'éditeur Markdown est utilisé pour la première fois et la composition n'est pas bonne.)

0. Instructions de base

Le didacticiel est basé sur les distributions Linux centos7.x, CentOS Linux version 7.6.1810 (Core )
exécutez la commande cat /etc/centos-release
kernel version 3.10.0-957.21.3.el7.x86_64 (version primaire correspondante 3.10.0)

Commande d'exécution uname -rCorrespondant à l'entrée d'exécution sous linux
Selon le manuel "HyperLedger Fabric Development Actual Combat: Quickly Master Blockchain Technology" compilé par Yang Yi, la version du noyau 3.10 ou supérieure est recommandée.
PS: Tous les ordinateurs personnels sont des fenêtres, et la prochaine machine virtuelle peut exécuter Linux. Recommander le livre "Oncle Bird's Private Kitchen" 》, Excellent cours national Linux sur MOOC, cours d'application rapide Linux

Installation de la langue 1.Go

1. Téléchargez sans aucun doute le package d'installation de go language

La plupart d'entre eux exécutent des machines virtuelles sous Windows ou se connectent au serveur à distance (Xshell est recommandé, ce qui est plus pratique pour transférer des fichiers entre l'hôte et la machine virtuelle), alors téléchargez le package d'installation go directement depuis Windows

Adresse de téléchargement L'adresse de téléchargement de la langue go
aller télécharger l'interface est utilisée dans une machine virtuelle, sélectionnez donc le package d'installation Linux à télécharger sur l'interface Windows.
Téléchargez sur Linux, le xshell que j'ai utilisé ici, entrez directement la commande «rz» dans la machine virtuelle pour télécharger le fichier sur la
machine virtuelle.

Entrez dans l'interface rz
Entrez la ligne de commande lspour voir que le fichier existe déjà.
Entrez la ligne de commande pour tar -C /usr/local -zxf go1.12.7.linux-amd64.tar.gz
décompresser le fichier, le fichier go apparaîtra sous / usr / local

2. Modifier les variables d'environnement

La ligne de commande est vim /etc/profile
insérée à la fin

#go
export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin

Ps vim est un éditeur de texte pour Linux. Après être entré dans l'interface d'édition de texte,
1. Appuyez sur échap et appuyez sur les touches haut et bas jusqu'à la dernière ligne
2. Copiez la commande ci-dessus
3. Appuyez sur "i" pour entrer en mode éditeur, collez
4. Appuyez sur échap, entrez et :wqenregistrez Quittez l'interface d'édition de vim.
5. Entrez la ligne de commande sur le terminal Linux pour source /etc/profileque la variable d'environnement prenne effet
. 6. Demandez si go est installé et un go versionpop-upgo version go1.12.7 linux/amd64

2. installation du docker

Copiez et collez simplement l'entrée sans cerveau, vous pouvez entrer dans n'importe quel répertoire

1. Ligne de commande yum install -y yum-utils device-mapper-persistent-data lvm2
2. Ligne de commande yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. Ligne de commande yum install docker-ce
4. docker versionSortie de ligne de commande , l'installation du client et du serveur est réussie.
5. Ajoutez le démarrage pour commencer`

systemctl start docker
systemctl enable docker

6. Ajoutez l'utilisateur au groupe docker et exécutez docker sous un utilisateur non root sans commande sudo
sudo usrmod -aG docker user(user est votre nom d'utilisateur Linux, le mien est l'utilisateur, l'utilisateur est utilisé ici, user@localhost ~)
7. Redémarrez le service docker sudo service docker restart
8. Redémarrez le groupe newgrp - docker(section 6 ne peut pas être gênant)

3. Configurer docker-compose (accentuation, bonnes choses)

1. Entrez la ligne de commande sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose(pas installer curl, entrez la ligne de commande pour yum install -y curlinstaller)
2. Entrez la ligne de commande pour cd /usr/local/bin/basculer vers l'interface du package d'installation
Il y aura un fichier docker-compose, qui peut être entré et lsaffiché.
3. ligne de commande sudo chmod +x docker-composepour augmenter les autorisations de fichier
4. La ligne de commande docker-compose versionpour voir s'il existe une version de sortie correspondante.

docker-compose version 1.24.1, build 4667896b

(L'installation de Pip n'est pas recommandée, il est facile de signaler les erreurs, docker-compose est un moyen d'utiliser des fichiers de modèle .yaml pour créer plusieurs conteneurs, ce qui est très pratique, mais vous ne pouvez pas en faire l'expérience en exécutant un script officiel.)

4. Téléchargez le code source Fabric

1. mkdir -p ~/go/src/github.com/hyperledger && cd ~/go/src/github.com/hyperledger && git clone https://github.com/hyperledger/fabric.gitCopiez et collez la ligne de commande et attendez que le répertoire fabric apparaisse dans l’hyperledger (astuce, si vous ne pouvez pas le télécharger, vous pouvez essayer de changer le lien «https» en «git», les autres restent inchangés)
2. cd fabricBasculez vers le répertoire fabric
3. Changer de version git checkout v1.0.0, Fabric1.0 est plus adapté pour démarrer, et il existe de nombreux exemples officiels
4. Le point est ici, passez au script officiel
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
5. source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
Si les autorisations ne sont pas suffisantes, entrez sudo -E bash download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0cette commande pour télécharger l'image requise.
6. cd base && vim peer-base.yaml
Modifiez le nom de réseau suivant pour qu'il corresponde au répertoire. Sinon, une erreur sera signalée.

- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default

Basculer verscd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

7. ./network_setup.sh upExécutez le script fourni avec fabric1.0 à partir de la ligne de commande . Si vous exécutez avec succès, le mot «bon» s'affiche.
ps: Après avoir entré le client cli via docker, vérifier les comptes, transférer des comptes, peuvent être exploités ou non.
Lorsque vous déployez votre propre solo autonome, vous n'avez pas besoin d'utiliser des scripts officiels pour créer des fichiers d'organisation, des canaux, installer des codes de chaîne, instancier, etc.
8. Si une erreur est signalée pour des fichiers manquants, cd ~/go/src/github.com/hyperledger/fabric/release/linux-amd64/vérifiez s'il existe un fichier binaire bin. S'il n'y a pas de contenu, téléchargez le fichier bin correspondant à la version fabric1.0. Il existe des outils cryptogen et configtxgen pour générer des fichiers d'organisation et des fichiers de canal. En règle générale, ce problème ne se produit pas et le script est généré automatiquement. Si vous souhaitez continuer sur la voie du tissu, vous pouvez rechercher dans Baidu les articles des auteurs de aberic, deep blue et pathfinder. (aberic est le nom du blog de l'auteur de Yang Yi. Le blog de Pathfinder a apporté quelques compléments à aberic, comme l'ouverture du port à l'avance.) Parce que ce n'est qu'une compréhension préliminaire pour l'exécuter à travers le modèle officiel.

Connaissances probablement impliquées

1. Technologie de conteneur docker, maîtrisez quelques commandes simples de docker , docker learn
2. Familier avec la commande docker-compose, comprendre le fichier .yaml, comprendre tous les exemples officiels de fichiers .yaml, avoir une compréhension claire. 3.
Commandes d'opération Linux 4.
Programmation en langage
Go 5. Quelques connaissances de
git 6. Programmation Web Go
7. Fabric-go-sdk
8. Connaissance et utilisation de la base de données Couchdb
9. Le déploiement multi-machine utilisera des clusters et des connexions à distance Serveur, comprenez certains concepts de clusters.
10. Introduction à la blockchain, fabric combat, principe du fabric
C'est pourquoi il est recommandé d'utiliser xshell, pas putty ou connexion ssh terminal cmd, car il y a trop de fenêtres, xshell est mieux à cet égard.
ps: Il a fallu quelques heures pour écrire des choses qui ont été déployées en 10 minutes.A l'origine, je voulais écrire 1.1 déploiement multi-machines et déploiement kafka. Il est fortement recommandé de lire "HyperLedger Fabric Development Actual Combat: Quickly Master Blockchain Technology" d'Aberic et de prêter plus d'attention aux opérations pratiques. Combiné avec le blog de Pathfinder, il n'y a fondamentalement aucun problème avec le déploiement de l'environnement. 2019.9.10

Je suppose que tu aimes

Origine blog.csdn.net/hungrylion/article/details/100715707
conseillé
Classement