阅读 133

区块链之旅(五)超级账本简介及Git、Docker、Fabric的配置 | 入驻第十九天

Hyperledger超级账本

简介

超级账本是推动区块链行业应用的开源项目的总称,组织成员可以发起新的区块链项目,加入超级账本项目,但是还是要遵循Hyperledger的生命周期。

管理架构

  • TSC 负责主导社区开发工作。
  • 董事会是由各个组织和大型企业公司加入,对社区进行管理。

背景

​ 首个面向企业应用场景的开源分布式帐本平台。为透明,公开,去中心化的企业级分布式账本技术提供开源参考实现,并推动区块链和分布式账本项目相关协议、规范和标准的发展。

​ 超级账本作为一个联合项目,由面向不同目的和场景的子项目构成。项目分框架类和工具类两种。

​ 框架类:Burrow、Hyperledger Fabric、Hyperledger Indy、Hyperledger Iroha和Hyperledger Sawtooth等五个项目

​ 工具类:Hyperledger Caliper、Hyperledger Cello、Hyperledger Composer、Hyperledger Explorer、Hyperledger Quilt等五个项目

在这里插入图片描述

Fabric

简介

是最早加入超级账本项目中的顶级项目,定位是面向企业的分布式账本平台,创新地引入权限管理支持,设计上支持可拔插,可拓展,多通道,支持多种共识机制,首个面向联盟链场景地开源项目。

整体逻辑架构

在这里插入图片描述

节点逻辑架构

在这里插入图片描述

交易架构

在这里插入图片描述

区块链账本数据结构

在这里插入图片描述

研发架构

在这里插入图片描述

搭建开发环境

【环境】VM15Pro + ubuntu20.04

Git配置

  1. 前置软件Git curl
sudo apt-get install git
复制代码
  1. 在终端配置git
git config --global user.name "your name"
git config --global user.email "your email"
复制代码
  1. 创建公钥
ssh-keygen -C "your email" -t rsa
复制代码

  1. 将github上添加ssh key,将.ssh/id_rsa.pub里面的内容全部复制。登陆settings里面选择SSH and GPG keys。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mWFfigdn-1620982576322)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210514095148402.png)]

5.将key添加到ssh-agent中

ssh-agent bash
ssh-add ~/.ssh/id_rsa
复制代码

在这里插入图片描述

6.测试,在终端输入

ssh -T git@github.com
复制代码

在这里插入图片描述

Docker配置

  1. 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
复制代码

在这里插入图片描述

  1. 设置仓库

    在新主机上首次安装 Docker Engine 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker 。更新 apt 包索引

sudo apt-get update
复制代码

安装 apt 依赖包,用于通过HTTPS来获取仓库

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
复制代码

添加Docker官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
复制代码

在这里插入图片描述

下载稳定性的仓库

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
复制代码

安装Docker Engine

  1. 更新apt包索引
sudo apt-get update
复制代码
  1. 安装最新版本的 Docker Engine 和 containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
复制代码
  1. 安装特定版本的 Docker Engine:
apt-cache madison docker-ce
复制代码
  1. 使用第二列的版本号安装指定版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
复制代码
  1. 笔者直接
sudo apt-get install docker-ce
复制代码
  1. 测试
sudo docker run hello-world
复制代码

在这里插入图片描述

安装Docker Compose

  1. 下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
复制代码
  1. 下载完之后将可执行权限应用文件中
sudo chmod +x /usr/local/bin/docker-compose
复制代码
  1. 查看版本
docker-compose --version
复制代码

在这里插入图片描述

脚本化安装Fabric

  1. 创建
sudo mkdir -p $GOPATH/src/github.com/hyperledger
复制代码
  1. 下载
cd $GOPATH/src/github.com/hyperledger
sudo git clone https://github.com.cnpmjs.org/hyperledger/fabric.git
复制代码
  1. 查看版本号

  2. 切换到1.4.7版本分支下

sudo git checkout v1.4.7
复制代码

​ 查看当前分支

git branch -a
复制代码

在这里插入图片描述

注意一定要有gcc,查看有无gcc,没有的话自行百度安装

gcc --version
复制代码

Fabric Docker镜像下载

cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
复制代码

下载完成 在这里插入图片描述

我们仍然停留在e2e_cli文件夹,这里提供了启动、关闭Fabric网络的自动化脚本。我们要启动Fabric网络,并自动运行Example02 ChainCode的测试,执行一个命令:

./network_setup.sh up
复制代码
  • 编译生成Fabric公私钥、证书的程序,程序在目录:fabric/release/linux-amd64/bin
  • 基于configtx.yaml生成创世区块和通道相关信息,并保存在channel-artifacts文件夹。
  • 基于crypto-config.yaml生成公私钥和证书信息,并保存在crypto-config文件夹中。
  • 基于docker-compose-cli.yaml启动1Orderer+4Peer+1CLI的Fabric容器。
  • 在CLI启动的时候,会运行scripts/script.sh文件,这个脚本文件包含了创建Channel,加入Channel,安装Example02,运行Example02等功能。
文章分类
后端
文章标签