美文网首页
Hyperledger fabric 设计流程

Hyperledger fabric 设计流程

作者: 李孝伟 | 来源:发表于2018-05-14 10:03 被阅读99次

一、搭建基础网络

1、组织架构准备
    1)组织架构文件编写,cryto-config.yaml 配置排序服务节点和组织节点;(预创建10倍业务组织,后续拓展方便)
    2)使用cryptogen根据配置文件生成证书文件:根证书、tls等文件;

2、创世区块与通道准备
    1)创世区块与通道配置编写,configtx.yaml 配置创世区块和通道的相关信息,创世区块在orderer启动的时候会用到,通道配置在创建通道的时候会用到;
    2)使用configtxgen工具根据配置文件生成创世区块.block和通道配置.tx文件;
    3)新增通道时,需要修改配置文件,重新生成新通道的.tx文件;(只能增加或减少已有组织)

3、基础网络启动
    1)编写节点docker.yaml配置,包括zk、kafka、peer、ordderer、ca等节点配置,根据每个节点docker中数据保存位置进行数据外部文件映射,从而进行数据固化,注意节点地址和端口配置;
    2)分发各个配置文件到相应的服务器上,建议每个peer一个服务器,如果服务器不够用,可以使用zk、kafka、和orderer混合使用服务器;
    3)启动各个服务器上的docker节点,注意启动顺序,zk->kafka->orderer->peer

4、通道创建,操作之前需要先配置cli环境
    0)理解channel用途,在所有组织中搭建一个相当于局域网的东西,进行网络隔离
    1)创建通道,peer channel create
    2)各个节点joinchannel,如果未join则不会进行数据同步
    3)安装锚节点,即每个组织指名grpc通信的节点

5、基础网络搭建完成
    1)基础网络模块工作基本完成,相当于某个软件安装完成,如mysql等
    2)以上建议编写脚本自动执行

二、智能合约

1、智能合约编写
    1)数据结构设计,结合fabric特性,设计数据对象和交易动作对象;
    2)业务接口设计,根据实际业务场景进行设计相应接口;
    3)整体框架搭建,注意编码规范;
    4)数据结构与接口编码实现,根据框架搭建情况,可分工编写;
    5)复杂业务逻辑建议单独函数封装,然后模拟输入在go环境下进行测试(不上链,当作普通go程序测试)

2、智能合约上链
    1)在每个peer中install链码;
    2)选择其中一个peer节点进行链码实例化
    3)调用框架中自己定义的校验函数进行测试
    4)链码更新upgrade

3、智能合约测试
    1)使用cli环境进行链码的测试

三、应用开发

应用开发设计跟一般设计类似,不做详述
1)设计,与一般应用不同,这里需要多设计一个区块链浏览器,让用户可以浏览区块相关信息
2)开发
3)sdk的使用跟普通sdk类似,但是注意区块链建议使用异步,避免阻塞

四、运维安全

1、数据持久化
    将docker中各个节点的数据映射出来保存在本地,避免docker镜像丢失时数据丢失
2、数据备份
    将docker映射的文件进行定期备份,映射数据包括:通道信息、区块信息等

相关文章

网友评论

      本文标题:Hyperledger fabric 设计流程

      本文链接:https://www.haomeiwen.com/subject/jygcdftx.html