-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathinit_network.sh
More file actions
executable file
·58 lines (43 loc) · 1.61 KB
/
init_network.sh
File metadata and controls
executable file
·58 lines (43 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
# creates genesis block and certificates
# and copies them to hlf-kube/ folder
if [ "$#" -lt 2 ]; then
echo "usage: init.sh <project_folder> <chaincode_folder> [create_genesis_block]"
exit 2
fi
# exit when any command fails
set -e
project_folder=$1
chaincode_folder=$2
create_genesis_block=${3:-true}
current_folder=$(pwd)
cd $project_folder
config_file=./network.yaml
rm -rf crypto-config
rm -rf channel-artifacts
mkdir -p channel-artifacts
# generate certs
echo "-- creating certificates --"
cryptogen generate --config ./crypto-config.yaml --output crypto-config
if [ "$create_genesis_block" == true ]; then
# generate genesis block
echo "-- creating genesis block --"
genesisProfile=$(yq eval '.network.genesisProfile' $config_file )
systemChannelID=$(yq eval '.network.systemChannelID' $config_file )
configtxgen -profile $genesisProfile -channelID $systemChannelID -outputBlock ./channel-artifacts/genesis.block
else
echo "-- skipping genesis block creation --"
fi
# copy stuff hlf-kube folder (as helm charts cannot access files outside of chart folder)
# see https://github.com/helm/helm/issues/3276#issuecomment-479117753
cd $current_folder
rm -rf hlf-kube/crypto-config
rm -rf hlf-kube/channel-artifacts
cp -r $project_folder/crypto-config hlf-kube/
cp -r $project_folder/channel-artifacts hlf-kube/
cp -r $project_folder/configtx.yaml hlf-kube/
cp -r $project_folder/network.yaml hlf-kube/
cp -r $project_folder/crypto-config.yaml hlf-kube/
cp -r $project_folder/fabric-config.yaml hlf-kube/
# prepare chaincodes
../scripts/prepare_chaincodes.sh $project_folder $chaincode_folder