区块链之旅(五)超级账本简介及Git、Docker、Fabric的配置

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

Hyperledger超级账本

简介

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


管理架构

image.png


TSC 负责主导社区开发工作。

董事会是由各个组织和大型企业公司加入,对社区进行管理。

背景

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


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


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


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


image.png


Fabric

简介

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


整体逻辑架构

image.png


节点逻辑架构

image.png


交易架构


image.png

区块链账本数据结构


image.png

研发架构

image.png


搭建开发环境

【环境】VM15Pro + ubuntu20.04


Git配置

前置软件Git curl

sudo apt-get install git

在终端配置git

sudo apt-get install git

创建公钥

ssh-keygen -C "your email" -t rsa

image.png

将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

image.png

6.测试,在终端输入

ssh -T git@github.com

image.png

Docker配置

卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

image.png

设置仓库


在新主机上首次安装 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 -

image.png

下载稳定性的仓库

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

安装Docker Engine

更新apt包索引

sudo apt-get update

安装最新版本的 Docker Engine 和 containerd

sudo apt-get install docker-ce docker-ce-cli containerd.io

安装特定版本的 Docker Engine:

apt-cache madison docker-ce

使用第二列的版本号安装指定版本

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

笔者直接

sudo apt-get install docker-ce

测试

sudo docker run hello-world

image.png

安装Docker Compose

下载

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

下载完之后将可执行权限应用文件中

sudo chmod +x /usr/local/bin/docker-compose

查看版本

docker-compose --version

image.png

脚本化安装Fabric

创建

sudo mkdir -p $GOPATH/src/github.com/hyperledger

下载

cd $GOPATH/src/github.com/hyperledger
sudo git clone https://github.com.cnpmjs.org/hyperledger/fabric.git

查看版本号

image.png


切换到1.4.7版本分支下

sudo git checkout v1.4.7


查看当前分支


git branch -a

image.png

注意一定要有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

下载完成

image.png


我们仍然停留在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等功能。


相关文章
|
28天前
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
70 9
|
2月前
|
Docker 容器
|
2月前
|
开发工具 Docker 容器
Docker 镜像加速器配置指南
dockerhub加速器失败,使用第三方加速器
|
2月前
|
Docker 容器
Docker 镜像加速器配置指南
dockerhub加速器失败,使用第三方加速器
|
2月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
87 5
|
3月前
|
存储 安全 数据安全/隐私保护
Docker中配置TLS加密的步骤
我们可以在 Docker 中成功配置 TLS 加密,增强 Docker 环境的安全性,保护容器之间以及与外界的通信安全。需要注意的是,在实际应用中,应根据具体情况进行更细致的配置和调整,确保符合安全要求。同时,定期更新证书和私钥,以保障安全性。
153 1
|
5月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
5月前
|
关系型数据库 MySQL 数据安全/隐私保护
docker应用部署---MySQL的部署配置
这篇文章介绍了如何使用Docker部署MySQL数据库,包括搜索和拉取MySQL镜像、创建容器并设置端口映射和目录映射、进入容器操作MySQL,以及如何使用外部机器连接容器中的MySQL。
docker应用部署---MySQL的部署配置
|
4月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
203 1
|
4月前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
904 1