创建自己的区块链网络 二

Posted 患孤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建自己的区块链网络 二相关的知识,希望对你有一定的参考价值。

目录

前言

之前我们创建了项目目录结构,复制了必要的文件,修改了cropto-config.yaml文件,那么接下来我们还需要修改其它文件。那么废话不多说,教程开始。

系列文章直通车

名称链接
创建自己的区块链网络 一点击此处
创建自己的区块链网络 二点击此处
创建自己的区块链网络 三点击此处
创建自己的区块链网络 四点击此处
创建自己的区块链网络 五点击此处

一、新建start.sh文件

我们需要一个shell脚本来帮我们启动网络,而无需自己一次次输入命令。

1、在deploy下创建start.sh文件

请确保在这个项目的deploy目录下,切换目录就不说了

touch start.sh
#使用这个命令来创建文件

二、编辑start.sh文件

我们编辑文件就不适用Linux的vim命令了,我们在goland里面编写。编辑完的内容如下:

1、清理项目环境

#!/bin/bash

echo "1.清理项目环境"
#这一步是用来清除项目创建的文件防止再次启动网络出错
mkdir -p config
mkdir -p crypto-config
rm -rf ./config/*
rm -rf ./crypto-config/*

2、生成组织基本结构

echo "2.生成组织的基本结构"
cryptogen generate --config=./crypto-config.yaml

三、运行start.sh

接下来我们切换至deploy目录下

第一次运行

./start.sh


不出意外你们肯定是这种情况,搭建可以看到start.sh颜色是灰色的这就代表他没有运行的权限

赋予权限

chmod 777 *.sh


现在颜色就变了,就可以运行了

第二次运行

./start.sh


运行成功,成功生成组织的基本结构

四、修改base/peer-base.yaml

现在我们需要修改peer-base.yaml文件,大家可以先修改文件在编写命令,在执行脚本,这样错误会少一点,我这里就一步步来。
大家用goland打开文件一定是报错的

这是因为我们没有这个环境变量,不用管他直接删除就好了

这样就没有报错了,但是会不会影响我们使用呢?这个放心不会影响我们的使用。
这里还有几个注意的点:
这个文件里面定义了一些加密的内容我们现在不需要加密,所以我们把他删除掉

看见TLS的如果为true就把他改为false
如果是路径的话就把他删除掉是不是很简单。
最后修改完成后是这个样紫的

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:
  peer-base:
    image: hyperledger/fabric-peer
    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      # the following setting starts chaincode containers on the same
      # bridge network as the peers
      # https://docs.docker.com/compose/networking/
      # - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=$COMPOSE_PROJECT_NAME_byfn
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=deploy_byfn
      #在此处修改
      - FABRIC_LOGGING_SPEC=INFO
      #- FABRIC_LOGGING_SPEC=DEBUG
      - CORE_PEER_TLS_ENABLED=false
      - CORE_PEER_GOSSIP_USELEADERELECTION=true
      - CORE_PEER_GOSSIP_ORGLEADER=false
      - CORE_PEER_PROFILE_ENABLED=true
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: peer node start

  orderer-base:
    image: hyperledger/fabric-orderer
    environment:
      - FABRIC_LOGGING_SPEC=INFO
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      # enabled TLS
      - ORDERER_GENERAL_TLS_ENABLED=false
      - ORDERER_KAFKA_VERBOSE=false
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    command: orderer

哦,对了这里还有一个注意的点,在environment下面的CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE这个变量里面我们需要把$COMPOSE_PROJECT_NAME 改为deploy及我们复制byfn.sh文件的目录。

结语

第二篇就这样结束了,下次再见。写blog虽然很累有时候也没有时间写,但我会坚持下次,希望大家多多支持。第三篇很快就会来了。

以上是关于创建自己的区块链网络 二的主要内容,如果未能解决你的问题,请参考以下文章

创建自己的区块链网络 九

创建自己的区块链网络 八

创建自己的区块链网络 十二

创建自己的区块链网络 十二

创建自己的区块链网络 二

创建自己的区块链网络 三