Fabric名词解释
成员服务(Membership Services),成员服务用来在许可的区块链网络上认证、授权和管理身份。
排序或者共识服务(Ordering Service),确认交易并将交易排序放入block.。
账本(Ledger),交易状态的持久化。
SDK,用来和区块链网络进行交互。
基础架构
Fabric1.X的架构优势
链码(Chaincode)执行信任的可伸缩性,将用户自己开发的链码和系统提供的Order服务拆分,用户开发的链码和系统提供的Order服务不再是一一对应的关系,Order也可以适当容忍错误的出现,增强了系统的鲁棒性。
性能提升,拆分链码和Order的串行执行,在原有架构中,当链码执行非常耗时的时候,Order将会处于闲置状态,不利于提高系统的吞吐量,拆分以后链码和Order可以并行执行发送交易。
共识机制可以单独实现(Order)。
Fabric部署
启动网络所需docker-compose
version: '2'
services:
vp0:
extends:
file:peer.yml//配置网络中节点的信息
service:vp
hostname:vp0
environment:
-CORE_PEER_ID=vp0
ports:
-"7050:7050"//对外暴露7050端口提供rest服务,通过请求这个端口来进行与Fabric交互
-"7051:7051"//对外暴露7051端口提供grpc服务,Fabric通过这个端口来发现节点和通信
布置节点后简单的测试命令
查看网络连通性:curl http://localhost:7050/network/peers
查看区块高度:curl http://localhost:7050/chain
发送交易
curl -X POST -H"Content-Type: application/json" -H"Cache-Control:no-cache" -d"{
\"jsonrpc\":\"2.0\",
\"method\":\"invoke\",
\"params\":{
\"type\":1,
\"chaincodeID\":{
\"name\":\"id\"
},
\"ctorMsg\":{
\"function\":\"finc\",
\"args\":[]
},
\"secureContext\":\"lukas\"
},
\"id\":1
}"http://localhost:7050/chaincode