fabric概念
名词概念
- chaincode: 智能合约
- transaction: 交易,每条指令都是一次交易
- world state: 对同一个key的多次交易形成的最终value,就是世界状态。
- endorse: 在我们的共识机制的投票环节里,背书意味着参与投票。
- endorsement policy: 背书策略。由智能合约chaincode选择哪些peer节点参与到背书环节来。
- peer: 存放区块链数据的结点,同时还有endorse和commit功能。
- channel: 私有的子网络,事实上是为了隔离不同的应用,一个channel可含有一批chaincode。
- PKI: Public Key Infrastructure,一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
- MSP: Membership Service Provider,联盟链成员的证书管理,它定义了哪些RCA以及ICA在链里是可信任的,包括定义了channel上的合作者。
开发概念
fabric联盟链的开发人员主要分为三类:底层是系统运维,负责系统的部署与维护;其次是组织管理人员,负责证书、MSP权限管理、共识机制等;最后是业务开发人员,他们负责编写chaincode、创建维护channel、执行transaction交易等
开发环境部署
前置环境
- docker
- docker-compose
- git
安装步骤
1、 拉取fabric代码(使用1.1版本的分支)
2、 拉取docker镜像及一些可执行文件
执行完成后有以下镜像
3、安装go语言并配置环境变量
编辑 /etc/profile文件,添加以下内容
|
|
使环境变量生效
|
|
4、 启动服务
出现下图表示启动成功:
注意: 以上操作请尽量在root用户下进行,否则会由于权限或者路径问题报错。
fabric cli交互
e2e_cli启动后,可以看到有以下实例
|
|
4个peer节点,4个节点构成的kafka集群,3个节点构成的zookeeper集群,一个orderer节点
使用peer命令
启动cli容器
|
|
进入cli容器中
|
|
查看peer命令
|
|
example02智能合约
1、安装智能合约
2、 初始化
3、 查询余额
4、 转账