简介
Hyperledger Fabric是一个开放源代码企业级许可分布式账本技术(DLT)平台,旨在用于企业环境中,是第一个支持以通用编程语言(例如Java,Go和Node.js)而非受约束的领域特定语言(DSL)编写的智能合约编写的分布式分类帐平台。
陶老师的博客——https://blog.csdn.net/russell_tao/article/details/80459698 官方文档——https://hyperledger-fabric.readthedocs.io/zh_CN/latest/membership/membership.html
MSP
MSP结构如下为官方图
MSP struct
MSP中保存的对于其他信任结点在Intermediate CAS中,结点权限声明在Administrators中的,一般为对应结点的X509 证书。TLS文件夹对应为相关的TLS版本证书 结构中,private keys是peer结点和orderer结点必须有的,用于投票加签名,signingCert是对应的公钥。而对于通道MSP则不是必须的
此处以windows为开发环境,Linux环境后续更新在其他文章 windows10专业版 docker desktop 最新版 golang 最新版 gitbash 最新版 1.运行docker,确保在gitbash下可以使用docker命令 2.配置go环境变量gopath,确保在gitbash下可以使用go命令 3.下载fabric仓库的scripts/bootstrap.sh 4.执行bootstrap.sh 具体会做:
5.下载fabric仓库的sampleConfig目录下全部内容到sample仓库的config目录下 6.进入sample仓库的test-network目录 7.执行./network.sh up 启动区块链网络 8.执行docker ps查看到启动的三个node,分别代表一个orderer和两个组织的peer 0.执行./network.sh down 停止区块链网络
Channel是通信的基本网络,作为整个区块链系统的子网络 使用官方命令./network.sh createChannel -c testchannel 可以直接将当前network中的两个结点创建并加入一个channel,名称为testchannel 另外还有可以通过进入每个结点,手动创建并加入channel的过程:
-o: orderer容器的域名和端口,如orderer.exmaple.com:7050
-c: 指定通道名,利用configtxgen生成Channel配置区块文件channel.tx时指定的通道名
-f: 指定通道配置交易文件(channel.tx)
--tls:开启TLS验证
--cafile:指定了orderer的ca根证书在peer本地的存放路径
链码,又称智能合约