【超级账本】Fabric介绍及其环境搭建(一)-阿里云开发者社区

开发者社区> 小生凡一> 正文

【超级账本】Fabric介绍及其环境搭建(一)

简介: 目录 前言 1. fabric 介绍 1.1 fabric和以太坊的区别 1.2 身份管理介绍 1.3 账本:每个节点中都有 1.4 交易管理介绍 1.5 节点介绍 1.6 通道介绍--channel 2. fabric 环境搭建 2.1 安装虚拟机 2.2 安装必要配置 2.2.1换源 2.2.2 安装vim 2.2.3 安装python2.7 以及 python-pip2 2.2.5 安装go 2.2.6 安装docker 2.2.7 安装docker-compose 2.2.8 Fabric的Docker镜像下载 2.2.9 拉取fabric代码 最后
+关注继续查看

目录

前言

1. fabric 介绍

1.1 fabric和以太坊的区别

1.2 身份管理介绍

1.3 账本:每个节点中都有

1.4 交易管理介绍

1.5 节点介绍

1.6 通道介绍--channel

2. fabric 环境搭建

2.1 安装虚拟机

2.2 安装必要配置

2.2.1换源

2.2.2 安装vim

2.2.3 安装python2.7 以及 python-pip2

2.2.5 安装go

2.2.6 安装docker

2.2.7 安装docker-compose

2.2.8 Fabric的Docker镜像下载

2.2.9 拉取fabric代码

最后

前言

我知道学习新事物的时候,环境总是最难的,很多人因为环境搭不好而放弃,这篇博客非常详细的说明了安装fabric的每一个步骤,我希望喜欢区块链的同学可以试一下~

在区块链的世界里面,超级账本的分量还是很重的~


哪一步安装不成功可以直接私聊我~


1. fabric 介绍

Hyperledger(超级账本)是Linux基金会旗下的项目,Fabric是Hyperledger项目里最早也是目前应用最广泛的区块链项目,最初由IBM开发,后来捐助给基金会。


是一个开源的企业级需要许可的分布式账本技术平台

是一个高度模块化和可配置架构(a,b,c)

支持不同组件的可插拔实现

智能合约支持多语言:go,java,node.js等

1.1 fabric和以太坊的区别


image.png

1.2 身份管理介绍

成员管理

注册服务:注册成功得到的是证书,不是用户名和密码

证书:签名认证

交易审计

1.3 账本:每个节点中都有

区块链(保存到本地磁盘中):


存储所有交易记录(tx array),也就是交易的链数据,tx里面存储读和写的数组

可以用来历史数据查询

每个区块中包含的数据有:blockHash, blockNum , txid

世界状态:


存储数据的最新状态

存储的是键值对,存储在当前节点的数据库中,默认数据库:level DB(couchdb 也可以,需配置)

链码模拟查询(chaincode simulation queries)

数据库中包含的数据有:txid,data,owner

1.4 交易管理介绍

部署交易:部署的是链码,给节点安装链码(chaincode)


调用交易:invoke


1.5 节点介绍

client:


进行交易管理


cli:shell命令

node.js:api实现

go sdk:api实现

java sdk:api实现

peer:


存储和同步账本数据:数据提交到某一个节点,然后从这个节点同步到其他节点,fabric自带的同步机制可以自动同步数据到其他节点

order:


排序和分发交易,排序为了解决双花问题,交易数据打包写入到区块中。

1.6 通道介绍–channel

一种共识服务提供的通讯机制,将peer和order连接到一起,形成一个具有保密性的通讯链路,也与账本状态紧密相连,不同通道中的数据互相独立,不共享,业务隔离,可以理解为一个分组,在同一个分组中的数据可以同步。


一个peer节点可以同时加入到不同的通道中,相当于一个人可以同时加入多个分组


2. fabric 环境搭建

2.1 安装虚拟机

可以随便在网上找到VM虚拟机来安装。


image.pngimage.png

选择下载的iso文件


image.png


然后随便搞搞这个,密码最好简单一点,我是用root

image.png



虚拟机名字可以整成Hadoop,位置最好不要放C盘,放其他大一点的盘,


image.png


然后一直按下一步就行了


image.png

然后等待安装完就行了。


进去之后


image.png

image.png

image.png

继续就可了

image.png

选择城市


image.png


image.png


密码就随便搞搞吧

image.png


然后就可以了

image.png

安装VMware Tools工具

点击虚拟机进行安装即可。然后重启一下就行了。


image.png


2.2 安装必要配置

2.2.1换源

我们先要换源

找到这个Software & Updateimage.png

找到自己想要换的源头 image.png

即可


2.2.2 安装vim

sudo apt-get install vim
sudo apt-get update

2.2.3 安装python2.7 以及 python-pip2

安装python2.7

image.png

查看版本

image.png

安装python-pip

image.png

查看版本

image.png

2.2.5 安装go

到go官网

image.png

下载完之后会是这样

image.png

解压到/usr/local

然后设置环境变量

image.png


使环境生效

source ~/.bashrc
go version

image.png

go就安装成功了!

2.2.6 安装docker

 sudo apt install docker
 sudo apt install docker.io

image.png

查看docker版本

docker version

image.png

但是会有下面的这个permission denied的问题,我们可以这样,添加权限组,不过注意要和你的用户名是一样的!

image.png


然后再看一次就好了。docker version就行了

image.png

查看docker运行状态,可以看到使 绿色的active (running)是正在运行中的。

image.png


2.2.7 安装docker-compose

然后创建一个docker目录

image.png

安装一个curl

image.png

然后执行下面这一条语句

curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose

image.png

出现这个就行了~


然后在/usr/local/bin目录下设置权限!

image.png


2.2.8 Fabric的Docker镜像下载

查看docker镜像,然后发现docker里面是什么都没有的

image.png

我们先换源,建议是使用这个 daocloud的image.png

重启一起docker就行了。

image.png

然后依次运行下面的docker pull镜像,一行一行搞!不要全搞进去!

    docker pull hyperledger/fabric-tools:x86_64-1.0.0
    docker pull hyperledger/fabric-orderer:x86_64-1.0.0
    docker pull hyperledger/fabric-peer:x86_64-1.0.0
    docker pull hyperledger/fabric-couchdb:x86_64-1.0.0
    docker pull hyperledger/fabric-kafka:x86_64-1.0.0
    docker pull hyperledger/fabric-ca:x86_64-1.0.0
    docker pull hyperledger/fabric-ccenv:x86_64-1.0.0
    docker pull hyperledger/fabric-baseimage:x86_64-0.4.7
    docker pull hyperledger/fabric-javaenv:x86_64-1.0.0
    docker pull hyperledger/fabric-zookeeper:x86_64-1.0.0

是有点慢的。慢慢等吧~

然后下面这个也是修改标签为latest:

    docker tag hyperledger/fabric-tools:x86_64-1.0.0 hyperledger/fabric-tools 
    docker tag hyperledger/fabric-orderer:x86_64-1.0.0 hyperledger/fabric-orderer 
    docker tag hyperledger/fabric-peer:x86_64-1.0.0 hyperledger/fabric-peer 
    docker tag hyperledger/fabric-couchdb:x86_64-1.0.0 hyperledger/fabric-couchdb 
    docker tag hyperledger/fabric-kafka:x86_64-1.0.0 hyperledger/fabric-kafka 
    docker tag hyperledger/fabric-ca:x86_64-1.0.0 hyperledger/fabric-ca 
    docker tag hyperledger/fabric-ccenv:x86_64-1.0.0 hyperledger/fabric-ccenv 
    docker tag hyperledger/fabric-baseimage:x86_64-0.4.7 hyperledger/fabric-baseimage 
    docker tag hyperledger/fabric-javaenv:x86_64-1.0.0 hyperledger/fabric-javaenv
    docker tag hyperledger/fabric-zookeeper:x86_64-1.0.0 hyperledger/fabric-zookeeper

验证:docker images

这样就行了

image.png

2.2.9 拉取fabric代码

鉴于在虚拟机上面有点难git clone,所以我们可以在windows下进行下载,然后通过xftp6进行转移。


在github上搜索fabric

image.png

然后用xftp6

记得是上传到这个目录下面。记得改名字

image.png

然后进入这个 e2e_cli 的目录下。(这个workspace目录是多余的,我后来删掉了,不要有workspace这个目录,不然无法下载的。就像上面那张图的红色箭头的目录就行了)image.png

不过记得先要 chmod u+x network_setup.sh 给特权


然后执行 ./network_setup.sh upimage.png

然后在这个目录下就可以看到了这些可执行文件了。不过要把这些文件cp 到go的bin目录下。

image.png


这里就大功告成了!


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10076 0
【超级账本】Fabric介绍及其环境搭建(一)
目录 前言 1. fabric 介绍 1.1 fabric和以太坊的区别 1.2 身份管理介绍 1.3 账本:每个节点中都有 1.4 交易管理介绍 1.5 节点介绍 1.6 通道介绍--channel 2. fabric 环境搭建 2.1 安装虚拟机 2.2 安装必要配置 2.2.1换源 2.2.2 安装vim 2.2.3 安装python2.7 以及 python-pip2 2.2.5 安装go 2.2.6 安装docker 2.2.7 安装docker-compose 2.2.8 Fabric的Docker镜像下载 2.2.9 拉取fabric代码 最后
11 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11612 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10882 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13882 0
JAVA学习(一):Java介绍及其平台、开发环境的配置与搭建
<h1 style="text-align:center"><span style="font-size:24px">Java介绍及其平台、开发环境的配置与搭建</span></h1> <div><br></div> <h2>1、Java的介绍</h2> <div><br></div> Java是一种面向对象的编程语言,具有跨平台、可移植、分布式、简单、可扩展等诸多特性。Java可
1235 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
+关注
小生凡一
你好呀!
157
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载