本人1999年毕业于西安工业大学,具有将近20年的技术开发和项目管理经验,在技术方面一直走在最前沿,从桌面软件,到互联网技术,到大数据分析,再到区块链技术,再加上多年的项目管理经验,真正成为了全栈技术开发者,目前由自主技术架构及项目管理的产品申请了不下20种著作权。
11.1 Kafka模式简介 上一章介绍的Solo模式只存在一个排序(orderer)服务,是一种中心化结构,一旦排序(orderer)服务出现了问题,整个区块链网络将会崩溃,为了能在正式环境中稳定运行,需要对排序(orderer)服务采用集群方式,Hyperledger Fabric采用kafka方式实现排序(orderer)服务的集群,kafka模块被认为是半中心化结构。
多机多节点指在多台电脑上部署多个组织和节点,本案例部署一个排序(orderer)服务,两个组织(org1,org2)和四个节点(peer),每个组织包括两个节点,需要五台计算机,计算机配置如下: 多机多节点部署结构图如下: 图:多机多节点部署结构图 多机多节点部署(1个orderer+4个peer)步骤如下:10.
单机单节点指在一台电脑上部署一个排序(Orderer)服务、一个组织(Org1),一个节点(Peer,属于Org1),然后运行官方案例中的example02智能合约例子,实现转财交易和查询功能。
Solo模式指单节点通信模式,该环境中只有一个排序(orderer)服务,从节点(peer)发送来的消息由一个orderer进行排序和产生区块;由于排序(orderer)服务只有一个orderer为所有节点(peer)服务,没有高可用性和可扩展性,不适合用于生产环境,可以用于开发和测试环境。
9.1 Helloworld案例简介 通过执行官方End-2-End案例,初始了解Fabric网络的运行流程及yaml配置,官方End-2-End案例把执行过程集成,通过一条命令即可完成全部操作,对于初学者只能了解Fabric网络搭建是否成功,对于Fabric网络的执行细节还是迷惑。
9.1 Helloworld案例简介 通过执行官方End-2-End案例,初始了解Fabric网络的运行流程及yaml配置,官方End-2-End案例把执行过程集成,通过一条命令即可完成全部操作,对于初学者只能了解Fabric网络搭建是否成功,对于Fabric网络的执行细节还是迷惑。
8.1 End-2-End案例简介 Fabric官方提供了实现点对点的Fabric网络示例,该网络有两个组织(organizations),一个组织有两种节点(Peer),通过Kafka方式实现排序(Orderer)服务。
8.1 End-2-End案例简介 Fabric官方提供了实现点对点的Fabric网络示例,该网络有两个组织(organizations),一个组织有两种节点(Peer),通过Kafka方式实现排序(Orderer)服务。
学习了前面几章理论知识后,本章开始介绍实践操作,先介绍Fabric基础环境搭建,采用的操作系统为Centos 7 64位,依次介绍Docker安装、Docker-Compose安装、GO语言环境安装、Git安装和Fabric安装,最终完成可使用的Fabric环境。
学习了前面几章理论知识后,本章开始介绍实践操作,先介绍Fabric基础环境搭建,采用的操作系统为Centos 7 64位,依次介绍Docker安装、Docker-Compose安装、GO语言环境安装、Git安装和Fabric安装,最终完成可使用的Fabric环境。
Fabric是一个提供模块化分布式账本解决方案的平台,并具备保密性、可伸缩性、灵活性和可扩展性等特性。Fabric具有可直接拔插启用和相互独立不同功能的模块,并能适应在经济社会中错综复杂的各种场景。
Fabric是一个提供模块化分布式账本解决方案的平台,并具备保密性、可伸缩性、灵活性和可扩展性等特性。Fabric具有可直接拔插启用和相互独立不同功能的模块,并能适应在经济社会中错综复杂的各种场景。
区块链最主要的特性之一是去中心化,没有了中心机构的集中处理,为了达成数据的一致性,就需要网络中全民参与管理,并以某种方法达成共识,所以区块链的交易流程也就是共识的过程。 在Fabric中,本由一个节点处理的过程,在逻辑上被分解为不同的角色,每个角色承担不同的功能;节点(Peer)分解为背书节点(Endorser peer)和提交节点(Committer peer),为了达到处理的顺序性,提炼出排序(Orderer)角色。
区块链最主要的特性之一是去中心化,没有了中心机构的集中处理,为了达成数据的一致性,就需要网络中全民参与管理,并以某种方法达成共识,所以区块链的交易流程也就是共识的过程。 在Fabric中,本由一个节点处理的过程,在逻辑上被分解为不同的角色,每个角色承担不同的功能;节点(Peer)分解为背书节点(Endorser peer)和提交节点(Committer peer),为了达到处理的顺序性,提炼出排序(Orderer)角色。
6.2.1 架构演进 Fabric架构经历了0.6版本到1.0版本的演进,架构上进行了重大改进,从0.6版本的结构简单演进到可扩展、多通道的设计,在架构上有了质的飞跃;从1.0版本以后,架构未做重大调整,到目前为止,最新发布为1.2版本。
6.2.1 架构演进 Fabric架构经历了0.6版本到1.0版本的演进,架构上进行了重大改进,从0.6版本的结构简单演进到可扩展、多通道的设计,在架构上有了质的飞跃;从1.0版本以后,架构未做重大调整,到目前为止,最新发布为1.2版本。
超级账本(Hyperledger)项目分框架类和工具类两种项目,框架类有Hyperledger Burrow、Hyperledger Fabric、Hyperledger Indy、Hyperledger Iroha和Hyperledger Sawtooth五个顶级项目;工具类有Hyperledger Caliper、Hyperledger Cello、Hyperledger Composer、Hyperledger Explorer和Hyperledger Quilt五个项目。
超级账本(Hyperledger)项目分框架类和工具类两种项目,框架类有Hyperledger Burrow、Hyperledger Fabric、Hyperledger Indy、Hyperledger Iroha和Hyperledger Sawtooth五个顶级项目;工具类有Hyperledger Caliper、Hyperledger Cello、Hyperledger Composer、Hyperledger Explorer和Hyperledger Quilt五个项目。
超级账本组织分为TSC(技术指导委员会)、Governing Board(董事会成员)、LF Staffs(工作人员)三个组织,组织架构图如下: TSC:技术指导委会员,主导社区的开发工作,下设多个工作组,每个工作组负责具体的项目进行开发; Governing Board:董事会,负责决策社区的所有事物,对社区成员负责; LF Staffs:工作人员,为社区提供服务; Linux基金会经过票选机制,选举出组织的技术指导委员会主席、董事会主席等关键领导角色,同时公布了10名技术委员会成员,以及13名董事会成员。
超级账本组织分为TSC(技术指导委员会)、Governing Board(董事会成员)、LF Staffs(工作人员)三个组织,组织架构图如下: TSC:技术指导委会员,主导社区的开发工作,下设多个工作组,每个工作组负责具体的项目进行开发; Governing Board:董事会,负责决策社区的所有事物,对社区成员负责; LF Staffs:工作人员,为社区提供服务; Linux基金会经过票选机制,选举出组织的技术指导委员会主席、董事会主席等关键领导角色,同时公布了10名技术委员会成员,以及13名董事会成员。
超级账本(Hyperledger)是推动区块链跨行业应用的开源项目的总称,组织成员可以发起新的区块链项目,加入到超级账本项目(Hyperledger)中,但需要遵循Hyperledger的生命周期。
超级账本(Hyperledger)是推动区块链跨行业应用的开源项目的总称,组织成员可以发起新的区块链项目,加入到超级账本项目(Hyperledger)中,但需要遵循Hyperledger的生命周期。
至比特币开源以来,无数技术人员对其进行研究,并且对该系统经过了无数次改进,超级账本项目(Hyperledger)最初也是用来改善比特币的底层技术,最终由Linux基金会组织发展起来。 开放式账本项目(Open Ledger Project)是超级账本(Hyperledger)前身,由Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,在2015年底IBM宣布加入到开放式账本项目(Open Ledger Project)后,该项目更名为超级账本(Hyperledger)。
至比特币开源以来,无数技术人员对其进行研究,并且对该系统经过了无数次改进,超级账本项目(Hyperledger)最初也是用来改善比特币的底层技术,最终由Linux基金会组织发展起来。 开放式账本项目(Open Ledger Project)是超级账本(Hyperledger)前身,由Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,在2015年底IBM宣布加入到开放式账本项目(Open Ledger Project)后,该项目更名为超级账本(Hyperledger)。
目前区块链开发平台分“公有链平台”和“联盟链系统”两类,“公有链平台”主要以以太坊为主的平台,可以在该类平台上进行代币的发行和根据各种模块搭建应用;“联盟链系统”主要以超级账本为主的开源系统,该类开源系统提供完善的区块链底层技术,开发者只要在其框架下进行二次开发,根据自身需求编写智能合约,通过SDK接口访问区块中的数据,实现具体的区块链业务场景。
目前区块链开发平台分“公有链平台”和“联盟链系统”两类,“公有链平台”主要以以太坊为主的平台,可以在该类平台上进行代币的发行和根据各种模块搭建应用;“联盟链系统”主要以超级账本为主的开源系统,该类开源系统提供完善的区块链底层技术,开发者只要在其框架下进行二次开发,根据自身需求编写智能合约,通过SDK接口访问区块中的数据,实现具体的区块链业务场景。
比特币是区块链应用最早的场景,随着比特币安全稳定运行多年以后,数字货币的场景应用遍地开花,各种山寨币泛滥,通过ICO(Initial Coin Offering 首次币发行)就能融到大量资金,上市后的数字货币就像股票一样可以进自由交易,这类应用主流称为区块链1.0。
比特币是区块链应用最早的场景,随着比特币安全稳定运行多年以后,数字货币的场景应用遍地开花,各种山寨币泛滥,通过ICO(Initial Coin Offering 首次币发行)就能融到大量资金,上市后的数字货币就像股票一样可以进自由交易,这类应用主流称为区块链1.0。
区块链的工作过程分交易产生、交易广播、节点计算、获取记账权、记账权广播、接收区块、验证区块和完成记账七个过程。 1) 交易产生:用户向区块链发了一笔交易信息,将产生交易;2) 交易广播:当一笔新交易产生时,区块链网络会广播出去,网络中的其它节点都会收到该交易信息;3) 节点计算:收到...
区块链的工作过程分交易产生、交易广播、节点计算、获取记账权、记账权广播、接收区块、验证区块和完成记账七个过程。 1) 交易产生:用户向区块链发了一笔交易信息,将产生交易;2) 交易广播:当一笔新交易产生时,区块链网络会广播出去,网络中的其它节点都会收到该交易信息;3) 节点计算:收到...
区块链从字面上理解:数据记录在区块中,通过一定的算法把区块连成一个链。 区块链通过哈希(Hash)算法,生成一串字符串,保存在区块的头部中,一个的区块通过指向上一个Hash值,加入到区块链中;Hash算法是一种加密算法,指对原始信息进行特定的转换运算,换算成对应的加密值(称为Hash值);是一种单向的加密方式,加密后的密文不可逆推,只有加密过程,没有解密过程;区块链中使用SHA-256算法对区块进行加密。
区块链从字面上理解:数据记录在区块中,通过一定的算法把区块连成一个链。 区块链通过哈希(Hash)算法,生成一串字符串,保存在区块的头部中,一个的区块通过指向上一个Hash值,加入到区块链中;Hash算法是一种加密算法,指对原始信息进行特定的转换运算,换算成对应的加密值(称为Hash值);是一种单向的加密方式,加密后的密文不可逆推,只有加密过程,没有解密过程;区块链中使用SHA-256算法对区块进行加密。
区块链技术指使用点对点传输、共识机制、加密算法等技术,保证分布式数据库区块写入链中数据的一致性,达到去中心化和不可篡改的目的。 区块链就是一种特殊的分布式数据库,使用现有的各种成熟的技术,把各种技术集成在一起,实现多方共识、去中心化、分布式和不可篡改等技术特点;区块链技术有点对点传输、加密算法、共识机制。
区块链技术指使用点对点传输、共识机制、加密算法等技术,保证分布式数据库区块写入链中数据的一致性,达到去中心化和不可篡改的目的。 区块链就是一种特殊的分布式数据库,使用现有的各种成熟的技术,把各种技术集成在一起,实现多方共识、去中心化、分布式和不可篡改等技术特点;区块链技术有点对点传输、加密算法、共识机制。
在比特币诞生之时,没有区块链技术概念,当人们看到比特币在无中心干预的前提下,还能安全、可靠的运行,比特币网络打开了人们的想象空间;技术专家们开始研究比特币的底层技术,并抽象提取出来,形成区块链技术,或者称分布式账本技术。
在比特币诞生之时,没有区块链技术概念,当人们看到比特币在无中心干预的前提下,还能安全、可靠的运行,比特币网络打开了人们的想象空间;技术专家们开始研究比特币的底层技术,并抽象提取出来,形成区块链技术,或者称分布式账本技术。
区块链技术在2018年突然火遍大江南北之时,本人也开始对区块链技术产生浓厚的兴趣,虽然没有在币圈中淘到金,但是自认为在链圈中还有很大的前景;自开始研究区块链时,查阅了大量的资料,从事区块链技术分四种,第一种是研究区块链底层技术,形成某一行业应用的自有平台;第二种是研究区块链底层技术,形成可二次开发的开源系统,如Hyperledger;第三种是研究区块链底层技术,形成方便第三方开发者快速搭建区块链应用的互联网平台,如以太坊;第四种是在区块链开源系统之上,不关心区块链底层技术,只负责实现具体的业务场景的产品系统。
生成一个根CA(RootCA),在根CA下3个中间CA(IntermediaCA)。 1. 运行和配置RootCA服务#cd /opt/gopath/src/github.com/hyperledger/fabric-ca/bin#mkdir ca-server#cd ca-server#fabric-ca-server start -b admin:adminpw --home .
生成一个根CA(RootCA),在根CA下3个中间CA(IntermediaCA)。 1. 运行和配置RootCA服务#cd /opt/gopath/src/github.com/hyperledger/fabric-ca/bin#mkdir ca-server#cd ca-server#fabric-ca-server start -b admin:adminpw --home .