github.com/darrenli6/fabric-sdk-example@v0.0.0-20220109053535-94b13b56df8c/examples/cluster/Makefile (about) 1 # Copyright Greg Haskins All Rights Reserved 2 # 3 # SPDX-License-Identifier: Apache-2.0 4 # 5 PEERS += $(patsubst %,peer%,$(shell seq 1 4)) 6 NODES += $(PEERS) 7 NODES += orderer 8 NODES += cli 9 NODES += ca 10 NODES += tlsca 11 12 DAEMONS = $(filter-out cli,$(NODES)) 13 14 CHANNEL_NAME ?= mychannel 15 16 CRYPTOOUTPUT = build/cryptogen 17 ORDERER_ORG = $(CRYPTOOUTPUT)/ordererOrganizations/orderer.net 18 PEER_ORG= $(CRYPTOOUTPUT)/peerOrganizations/org1.net 19 20 CA_PATH = $(PEER_ORG)/ca 21 TLSCA_PATH= $(PEER_ORG)/tlsca 22 ORDERER_PATH = $(ORDERER_ORG)/orderers 23 PEER_PATH = $(PEER_ORG)/peers 24 USERS_PATH = $(PEER_ORG)/users 25 26 CHANNEL_TXNS=build/channel.tx build/anchor.tx 27 28 mspmap.orderer := $(ORDERER_PATH)/orderer.orderer.net 29 mspmap.peer1 := $(PEER_PATH)/peer1.org1.net 30 mspmap.peer2 := $(PEER_PATH)/peer2.org1.net 31 mspmap.peer3 := $(PEER_PATH)/peer3.org1.net 32 mspmap.peer4 := $(PEER_PATH)/peer4.org1.net 33 mspmap.cli := $(USERS_PATH)/Admin@org1.net 34 35 COMPOSE=docker-compose -f compose/docker-compose.yaml 36 DRUN=$(COMPOSE) run --rm cli 37 38 TLS ?= true 39 export TLS_ENABLED=$(TLS) 40 41 CRYPTOGEN=build/bin/cryptogen 42 CONFIGTXGEN=build/bin/configtxgen 43 44 FABRICPKG=github.com/hyperledger/fabric 45 pkgmap.cryptogen := $(FABRICPKG)/common/tools/cryptogen 46 pkgmap.configtxgen := $(FABRICPKG)/common/configtx/tool/configtxgen 47 48 help: 49 @cat usage.txt 50 51 compose-up: nodes 52 @echo "Booting docker-compose environment" 53 $(COMPOSE) up -d $(DAEMONS) 54 $(DRUN) ./configure.sh $(CHANNEL_NAME) "$(CHANNEL_TXNS)" "$(PEERS)" $(TLS) 55 @./compose/report-env.sh "$(DAEMONS)" build/client.config $(TLS) 56 57 compose-down: 58 $(COMPOSE) down 59 rm -rf build/nodes $(CRYPTOOUTPUT) 60 61 nodes: $(patsubst %,build/nodes/%,$(NODES)) 62 63 $(CRYPTOOUTPUT): config/cryptogen.yaml $(CRYPTOGEN) 64 @mkdir -p ${@D} 65 $(CRYPTOGEN) generate --config $< --output $@ 66 67 .PRECIOUS: %.yaml 68 %.yaml: 69 @mkdir -p ${@D} 70 cp config/${@F} $@ 71 72 %/genesis.block: build/configtx.yaml build/core.yaml $(CONFIGTXGEN) 73 @mkdir -p ${@D} 74 FABRIC_CFG_PATH=build $(CONFIGTXGEN) -profile SampleOrg -outputBlock $@ 75 76 %.tx: build/configtx.yaml build/core.yaml $(CONFIGTXGEN) 77 78 %/channel.tx: 79 @mkdir -p ${@D} 80 FABRIC_CFG_PATH=build $(CONFIGTXGEN) -profile SampleChannel \ 81 -channelID ${CHANNEL_NAME} \ 82 -outputCreateChannelTx $@ 83 84 %/anchor.tx: 85 @mkdir -p ${@D} 86 FABRIC_CFG_PATH=build $(CONFIGTXGEN) -profile SampleChannel \ 87 -channelID ${CHANNEL_NAME} \ 88 -outputAnchorPeersUpdate $@ \ 89 -asOrg Org1MSP 90 91 .PRECIOUS: %/msp 92 %/msp: $(CRYPTOOUTPUT) 93 $(eval NODE = ${patsubst build/nodes/%/msp,%,${@}}) 94 @mkdir -p ${@D} 95 cp -R $(mspmap.${NODE})/* ${@D} 96 97 .PRECIOUS: build/bin/% 98 build/bin/%: 99 @mkdir -p ${@D} 100 GOBIN=$(abspath ${@D}) go install $(pkgmap.${@F}) 101 102 build/nodes/orderer: build/nodes/orderer/orderer.yaml 103 build/nodes/orderer: build/nodes/orderer/genesis.block 104 build/nodes/cli: $(CHANNEL_TXNS) 105 106 build/nodes/ca: build/nodes/ca/fabric-ca-server-config.yaml 107 @mkdir -p $@ 108 cp $(CA_PATH)/*_sk $@/ca.key 109 cp $(CA_PATH)/*.pem $@/ca.crt 110 111 build/nodes/tlsca: build/nodes/tlsca/fabric-tlsca-server-config.yaml 112 @mkdir -p $@ 113 cp $(TLSCA_PATH)/*_sk $@/ca.key 114 cp $(TLSCA_PATH)/*.pem $@/ca.crt 115 mv $@/fabric-tlsca-server-config.yaml $@/fabric-ca-server-config.yaml 116 117 build/nodes/%: build/nodes/%/msp build/nodes/%/configtx.yaml build/nodes/%/core.yaml 118 @echo "Built $@" 119 120 clean: compose-down 121 rm -rf build 122 rm $(CHANNEL_NAME).block