Hyperledger超级账本在Centos7下搭建运行环境
超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同利益体,目标是让成员共同合作,共建开放平台,满足来自多个不同行业各种用户案例,并简化业务流程。由于点对点网络的特性,分布式账本技术是完全共享、透明和去中心化的,故非常适合于在金融行业的应用,以及其他的例如制造、银行、保险、物联网等无数个其他行业。通过创建分布式账本的公开标准,实现虚拟和数字形式的价值交换,例如资产合约、能源交易、结婚证书、能够安全和高效低成本的进行追踪和交易。
节点类型:Orderer、Peer、Client、fabric-Ca
先说一下这几个节点都是干什么的。
Orderer:区块链共识节点,主要作用就是完成交易同步和区块的生成,同时也保证区块链共识过程的安全性(安全性是由共识机制来保证的,目前Fabric自带的有三种共识机制:solo、kafka、PBFT)。
Peer:服务节点,这里所谓的服务是相对于外围的应用而言,主要分为两种,Endorser节点和Committer节点。Endorser节点主要是负责背书(提供交易合法性证明和权限验证),Committer节点负责记账。
Client:客户节点,这就是根据Fabric SDK开发的面向用户的终端。
fabric-Ca: 证书管理中心,通过证书(签名、加密、秘钥协商)来实现权限管理和加密通讯。
大家可以看出来Fabric的节点类型是要比Bitcoin和Ethereum更多,而且功能更细化。这主要是因为Fabric倡导模块化和可插拔的架构,鼓励大家DIY,其中Orderer里面的共识机制、fabric-Ca、包括Ledger(总账)的数据存储方式(ram、LevelDb)都是可以替换的。
它大概的架构就如下图:
Hyperledger Fabric 构建于一种模块化架构之上,该架构将交易处理分为 3 个阶段:分布式逻辑处理和协商(“链代码”)、交易订购,以及交易验证和提交。这种分离提供了一些优势:不同节点类型之间需要的信任和验证水平更低,网络可伸缩性和性能得到了优化。
目前超级账本项目( Hyperledger Fabric )支持在Mac及各大主流Linux下运行,现主要讲解以下在 Centos7 下搭建 超级账本的 开发验证环境。
1、安装Docker
目前开源社区Docker最新版本为 18.03.1,社区分为开源版本(docker-ce)和企业版本(docker-ee)。 需要配置Docker官方源才可以安装最新版本,此处我们安装开源社区版本 docker-ce。
具体操作安装步骤可参考我另一篇文章 《Docker在CentOS 7 环境下的安装及基本操作入门》
需要安装 Docker 及 Docker-compose,验证这两项安装成功即可。
2、安装Go语言运行环境
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go语言于2009年11月由Google正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。Go语言具有 部署简单、并发性好、良好的语言设计、执行性能好 等特点。
CentOS 7 下安装 Go语言运行环境可参考我另一篇文章 《Centos 7 下安装Go语言运行环境》。
3、安装NVM及Node.js
nvm全称Node Version Manager ,是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换。 nvm 的官方版本只支持 Linux 和 Mac。 Windows 用户,可以用 nvm-windows。
fabric暂时不支持7.x,需要安装6.9.x 或 6.x高的版本,通过 nvm 安装指定 版本的node。
现安装Node.js 6.5.9 版本。
具体步骤可以参考《Centos7 使用NVM安装Node.js》。
至此 Docker、Docker-compose、Go、Node.js 基础运行环境已经全部安装完成。
Hyperledger超级账本在Centos7下搭建运行环境的更多相关文章
- centos7下搭建Testlink环境详细过程
花了半天的时间终于搭建好了完整的Testlink环境,主要包括Mysql以及PHP的版本.未关闭防火墙.以及安装配置过程中遇到的一些问题.以下是详细的搭建过程. 一.工具准备 以下是我在搭建过程中用到 ...
- CentOs7下搭建LAMP环境
● 环境搭建 参考: http://blog.csdn.net/zph1234/article/details/51248124 http://www.jb51.net/os/188488.html ...
- Centos7下搭建LAMP环境,安装wordpress(不会生产博客,只是一名博客搬运工)(菜鸟)
1.搭建MySQL数据库 安装MariaDB yum install mariadb-server -y 启动MySQL服务 emctl start mariadb #启动服务 emtcl enabl ...
- 在centos7下搭建nginx环境,并配置负载均衡,最终能达到通过域名直接访问的目的
1.关于nginx:个人理解的nginx它的主要用途就是负载均衡,当然可能还有其他一些功能可能我们不长用到,我们通过nginx可以干什么呢?为什么要引入它呢?原因是当有高并发访问服务器时,服务器可能会 ...
- Centos7下搭建gitbook环境踩坑记录
1.安装npm yum -y install npm 2.配置npm仓 npm config set registry https://mirrors.tencent.com/npm/ 3.安装git ...
- CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置
Zabbix监控端配置请查看:CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 (1).在CentOS7(被监控端)上部署Zabbix Agent 主机名:youxi2 IP地址: ...
- 阿里云成为Hyperledger超级账本全球会员,发力区块链生态建设
摘要: 阿里云将会与Hyperledger社区共同推进全球区块链技术和商业生态在多行业领域的建设. 2018年12月12日在瑞士巴塞尔的2018Hyperledger全球峰会上,阿里云正式加入Hype ...
- Linux系统:Centos7下搭建PostgreSQL关系型数据库
本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...
- 在Centos7下搭建Socks5代理服务器
在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776 采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...
随机推荐
- [Android四大组件之二]——Service
Service是Android中四大组件之一,在Android开发中起到非常重要的作用,它运行在后台,不与用户进行交互. 1.Service的继承关系: java.lang.Object → andr ...
- Js中带有小数的值相加产生的问题
项目中遇到的问题,0.1+0.2为0.30000000000000004,与想象中不一样, 解决办法: function addNum (num1, num2) { var sq1,sq2,m; tr ...
- 洛谷P4281 紧急会议
传送门啦 思路: $ Lca $ 这个题要求这个显而易见吧.但是难就难在怎么在树上利用 $ Lca $ 去解决三个点的问题. 首先明确三个点两两的 三个 $ Lca $ 中有一对是相等的,我们也会发现 ...
- cf689d ST表RMQ+二分
类似hdu5289,但是二分更复杂.本题枚举左端点,右端点是一个区间,需要二分找到区间的左端点和右端点(自己手动模拟一次),然后区间长度就是结果增加的次数 另外结果开long long 保存 /** ...
- 读取web.config和app.config配置文件
app.config: <add key="Password" value="123456"/> C#: string TQpwd ...
- 步步为营-20-XML
说明:可扩展标记语言 eXtensible Markup Language--区分大小写 涉及到的知识点:DOM 文档对象模型 文本文件存储数据缺点:1,不易读取.2,易乱码 1 通过代码创建一个xm ...
- [SDOI2014]数数
题解: 做过ac自动机上dp的这题应该就很容易想到了 首先在ac自动机上搞dp 表示当前考虑了i位,在自动机的j位上 然后转移就可以了 考虑限制 显然是一个数位dp 考虑位数小于n显然满足要求 考虑位 ...
- k8s 使用
转自:https://blog.csdn.net/zyc88888/article/details/79281954
- copy 深浅复制
- POJ - 1266 -
题目大意:给出一条圆弧上的两个端点A,B,和圆弧上两端点之间的一个点C,现在要用一块各个定点的坐标均为整数的矩形去覆盖这个圆弧,要求最小的矩形面积. 思路:叉积在本体发挥很强大的作用.首先求出三个点所 ...