Hyperledger系列(九)构建你的第一个区块链网络

Building Your First Network 步骤详解介绍

build your first network (BYFN) 包含的内容

第一个Hyperledger Fabric network由下面内容组成:

  • 4 个peers,代表2个不同的organizations。
  • 1 个orderer 节点。
  • 启动1个 container, 执行脚本,将peers加入Channel,部署和实例化Chaincode,并根据部署的Chaincode,驱动transactions的执行。

准备工作

  1. https://github.com/xiaofateng/knowledge-without-end/blob/master/区块链/Hyperledger/Hyperledger%20Fabric%20源码和镜像下载.md
  2. 修改fabric-samples/first-network目录下的docker-compose-cli.yaml日志级别为debug
cli:
  container_name: cli
  image: hyperledger/fabric-tools:$IMAGE_TAG
  tty: true
  stdin_open: true
  environment:
    - GOPATH=/opt/gopath
    - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
    - CORE_LOGGING_LEVEL=DEBUG
    #- CORE_LOGGING_LEVEL=INFO

Crypto Generator

我们将使用cryptogen工具(这个工具只是在测试的时候使用,线上一般使用Fabric CA等)为我们的各种network entitie(网络实体)生成加密资料(x509证书和签名密钥)。 这些certificates(证书)是身份的代表,它们允许在我们的实体,进行通信和transact时进行签名/验证身份。

Cryptogen使用包含网络拓扑的文件 - crypto-config.yaml,并允许我们为Organizations和属于这些Organizations的组件生成一组certificates and keys(证书和密钥)。

每个Organizations都配备了一个独特的根证书(ca-cert),将特定的组件(peers and orderers)绑定到该Org。 通过为每个Org分配一个唯一的CA证书,我们正在模拟一个典型的网络,其中一个Member将使用自己的Certificate Authority(证书授权)。 Hyperledger Fabric中的Transactions和通信由实体的private key(私钥,存储的文件名是 keystore)签名,然后通过public key(公钥,存储的文件名是 signcerts)进行验证。

你会注意到这个文件中的 count 变量。我们用它来指定每个Organization的peers数量; 在我们的案例中,每个Organization有两个peers。

在运行该工具之前,让我们快速浏览一下crypto-config.yaml的代码片段。 特别注意OrdererOrgs header下的“Name”, “Domain”“Specs”

OrdererOrgs:
#---------------------------------------------------------
# Orderer
# --------------------------------------------------------
- Name: Orderer
  Domain: example.com
  CA:
      Country: US
      Province: California
      Locality: San Francisco
  #   OrganizationalUnit: Hyperledger Fabric
  #   StreetAddress: address for org # default nil
  #   PostalCode: postalCode for org # default nil
  # ------------------------------------------------------
  # "Specs" - See PeerOrgs below for complete description
# -----------------------------------------------------
  Specs:
    - Hostname: orderer
# -------------------------------------------------------
# "PeerOrgs" - Definition of organizations managing peer nodes
 # ------------------------------------------------------
PeerOrgs:
# -----------------------------------------------------
# Org1
# ----------------------------------------------------
- Name: Org1
  Domain: org1.example.com
  EnableNodeOUs: true

网络实体的命名约定如下 - “{ {.Hostname}}.{ {.Domain}}”。 因此,使用我们的ordering node作为参考点,我们看到一个名为 - orderer.example.com的ordering node,它与OrdererMSP ID绑定。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值