目錄
-
- 前言
- 系列文章直通車
- 一、建立start.sh檔案
-
- 1、在deploy下建立start.sh檔案
- 二、編輯start.sh檔案
-
- 1、清理項目環境
- 2、生成組織基本結構
- 三、運作start.sh
-
- 第一次運作
- 賦予權限
- 第二次運作
- 四、修改base/peer-base.yaml
- 結語
前言
之前我們建立了項目目錄結構,複制了必要的檔案,修改了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雖然很累有時候也沒有時間寫,但我會堅持下次,希望大家多多支援。第三篇很快就會來了。