使用NodeJS开发Hyperledger Fabric笔记2——自建测试网

前言

对上一章做个补充:如果我不想在root环境下测试fabric?

其实只需要在创建并启动docker的时候用到root账户,当然由于up的时候是会创建一些文件,需要把这些文件放权,用chown先把文件转给普通用户,或者chmod -R 775,否则后续非root用户的操作都会被permission deny。

另外上一章节主要是参考Hyperledger官方的示例尝试网络启动。这里我做了一些研究,也试图通过NodeJS的API,fabric-client去操作peer和channel,但是最终发现都非常的不方便,即便使用了这个API依然需要用到官方给的bin下的命令,例如需要使用cryptogen创建节点秘钥配置文件。所以综合考虑下我决定把网络部署,环境搭建交还给shell去做。只有合约本身,以及操作合约的逻辑通过nodejs使用typescript或javascript开发。

大体步骤

我们来看下在常规的Fabric网络,从docker启动到部署合约需要哪些步骤:
在这里插入图片描述

开始

创建Organization和Orderer

使用cryptogen或ca创建组织。如果使用cryptogen则如下:

先创建一个组织,organization节点
这里用到一个crypto-config-orgX.yaml来创建组织文件,yaml请至官方sample中查找文件模板

int=1
cryptogen generate --config=./organizations/cryptogen/crypto-config-org$int.yaml --output="organizations"

这里可以是灵活的,int可以是任何整数,用于代表组织1,2,3,4…你可创建无数的组织

创建order节点

cryptogen generate --config=./organizations/cryptogen/crypto-config-orderer.yaml --output="organizations"

org节点和order节点责任不同

  1. orderer叫做排序节点,提供共识服务的网络节点,例如,使用Kafka或PBFT
  2. peer维护账本的网络节点,通常在Hyperledger Fabric中担任背书或者记账角色。
  3. 另外还有个comitter,检查交易的合法性,最终将交易提交到区块链中。

启动节点

docker-compose docker-compose-test-net.yaml up -d

docker配置和启动需要自行处理,这边给一个docker-compose的template参考,在官方的fabric-sample/test-network/docker下有更为详细配置文件

version: '2.4'

volumes:
  orderer.example.com:
  peer0.org1.example.com:

networks:
  test:
    name: fabric_test

services:

  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer:latest
    labels:
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devilyouwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值