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