Add v2.0.0
parent
1a144008ea
commit
511897a18e
|
@ -14,7 +14,8 @@ If you're not familiar with Docker and Blockchain, can have a look at these book
|
||||||
Fabric Release | Description
|
Fabric Release | Description
|
||||||
--- | ---
|
--- | ---
|
||||||
[Fabric Latest](latest/) | latest fabric code, unstable.
|
[Fabric Latest](latest/) | latest fabric code, unstable.
|
||||||
[Fabric v1.4.4](v1.4.4/) | stable fabric 1.4.4 release.
|
[Fabric v2.0.0](v2.0.0/) | stable fabric 2.0.0 release.
|
||||||
|
[Fabric v1.4.4](v1.4.4/) | stable fabric 1.4.4 LTS release.
|
||||||
[Fabric v1.4.3](v1.4.3/) | stable fabric 1.4.3 release.
|
[Fabric v1.4.3](v1.4.3/) | stable fabric 1.4.3 release.
|
||||||
[Fabric v1.4.2](v1.4.2/) | stable fabric 1.4.2 release.
|
[Fabric v1.4.2](v1.4.2/) | stable fabric 1.4.2 release.
|
||||||
[Fabric v1.4.0](v1.4.0/) | stable fabric 1.4.0 release.
|
[Fabric v1.4.0](v1.4.0/) | stable fabric 1.4.0 release.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# for docker-compose usage
|
# for docker-compose usage
|
||||||
FABRIC_IMG_TAG=latest
|
FABRIC_IMG_TAG=latest
|
||||||
EXT_IMG_TAG=0.4.15
|
EXT_IMG_TAG=0.4.18
|
||||||
NETWORK=hlf_net
|
NETWORK=hlf_net
|
|
@ -6,15 +6,18 @@
|
||||||
# support advanced bash grammar
|
# support advanced bash grammar
|
||||||
SHELL:=/bin/bash
|
SHELL:=/bin/bash
|
||||||
|
|
||||||
# mode of the network: solo, kafka
|
# mode of the network: solo, kafka, raft
|
||||||
HLF_MODE ?= raft
|
HLF_MODE ?= raft
|
||||||
|
|
||||||
# mode of db: golevel, couchdb
|
# mode of db: golevel, couchdb
|
||||||
DB_MODE ?= golevel
|
DB_MODE ?= golevel
|
||||||
|
|
||||||
|
# mode of dev
|
||||||
|
DEV_MODE ?= non-dev
|
||||||
|
|
||||||
NETWORK_INIT_WAIT ?= 2 # time to wait the fabric network finish initialization
|
NETWORK_INIT_WAIT ?= 2 # time to wait the fabric network finish initialization
|
||||||
|
|
||||||
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-solo.yaml"
|
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-raft.yaml"
|
||||||
|
|
||||||
LOG_PATH ?= solo/logs
|
LOG_PATH ?= solo/logs
|
||||||
|
|
||||||
|
@ -25,12 +28,17 @@ else ifeq ($(HLF_MODE),raft)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
COMPOSE_FILE="docker-compose-2orgs-4peers-$(HLF_MODE).yaml"
|
COMPOSE_FILE="docker-compose-2orgs-4peers-$(HLF_MODE).yaml"
|
||||||
|
|
||||||
LOG_PATH=$(HLF_MODE)/logs
|
LOG_PATH=$(HLF_MODE)/logs
|
||||||
|
|
||||||
ifeq ($(DB_MODE),couchdb)
|
ifeq ($(DB_MODE),couchdb)
|
||||||
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
|
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DEV_MODE),dev)
|
||||||
|
COMPOSE_FILE="docker-compose-2orgs-4peers-dev.yaml"
|
||||||
|
endif
|
||||||
|
|
||||||
all: test
|
all: test
|
||||||
|
|
||||||
test:
|
test:
|
||||||
|
|
|
@ -1,97 +0,0 @@
|
||||||
# This is the development compose file to config env and command
|
|
||||||
# Notice that chaincode is executed inside docker in default net mode
|
|
||||||
# https://github.com/yeasy/docker-compose-files
|
|
||||||
|
|
||||||
# Depends on the yeasy/hyperledger-fabric image.
|
|
||||||
|
|
||||||
version: '2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
orderer.example.com: # There can be multiple orderers
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: orderer-base
|
|
||||||
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
|
||||||
container_name: orderer.example.com
|
|
||||||
hostname: orderer.example.com
|
|
||||||
ports:
|
|
||||||
- "7050:7050"
|
|
||||||
environment:
|
|
||||||
# Kafka related configurations
|
|
||||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
|
||||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
|
||||||
- ORDERER_KAFKA_VERBOSE=true
|
|
||||||
volumes:
|
|
||||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
|
||||||
# for solo case
|
|
||||||
#- ./solo/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
|
||||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
|
||||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
|
||||||
# for kafka case
|
|
||||||
- ./kafka/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
|
||||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
|
||||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
|
||||||
command: bash -c 'bash /tmp/orderer_build.sh; orderer start' # use this if to debug orderer
|
|
||||||
#command: bash -c 'orderer start'
|
|
||||||
|
|
||||||
peer0.org1.example.com:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: peer-base
|
|
||||||
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
|
||||||
container_name: peer0.org1.example.com
|
|
||||||
hostname: peer0.org1.example.com
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=peer0.org1.example.com
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
|
||||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
volumes:
|
|
||||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
|
||||||
# solo mode configuration
|
|
||||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
# kafka mode configuration
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
|
||||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
|
||||||
ports:
|
|
||||||
- 7051:7051
|
|
||||||
- 7052:7052
|
|
||||||
- 7053:7053
|
|
||||||
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
|
||||||
command: bash -c 'peer node start'
|
|
||||||
#command: bash -c 'peer node start --peer-chaincodedev=true' # DEV mode
|
|
||||||
|
|
||||||
cli:
|
|
||||||
extends:
|
|
||||||
file: base.yaml
|
|
||||||
service: cli-base
|
|
||||||
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
|
||||||
container_name: fabric-cli
|
|
||||||
hostname: fabric-cli
|
|
||||||
tty: true
|
|
||||||
environment:
|
|
||||||
- CORE_PEER_ID=fabric-cli
|
|
||||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
|
||||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
|
||||||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
|
||||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
|
||||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
|
||||||
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
|
||||||
volumes:
|
|
||||||
- $GOPATH/src/github.com/hyperledger/fabric:/opt/gopath/src/github.com/hyperledger/fabric
|
|
||||||
#- /tmp/:/tmp/
|
|
||||||
- ./scripts:/tmp/scripts
|
|
||||||
# solo mode configuration
|
|
||||||
#- ./solo/channel-artifacts:/tmp/channel-artifacts
|
|
||||||
#- ./solo/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
|
||||||
#- ./solo/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
|
||||||
#- ./solo/crypto-config:/etc/hyperledger/fabric/crypto-config
|
|
||||||
#- ./examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
|
||||||
# kafka mode configuration
|
|
||||||
- ./kafka/channel-artifacts:/tmp/channel-artifacts
|
|
||||||
- ./kafka/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
|
||||||
- ./kafka/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
|
||||||
- ./kafka/crypto-config:/etc/hyperledger/fabric/crypto-config
|
|
||||||
- ./examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
|
|
@ -58,6 +58,13 @@ services:
|
||||||
- "7050:7050"
|
- "7050:7050"
|
||||||
environment:
|
environment:
|
||||||
- FABRIC_LOGGING_SPEC=DEBUG
|
- FABRIC_LOGGING_SPEC=DEBUG
|
||||||
|
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||||
|
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
|
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_LISTENPORT=7050
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||||
volumes:
|
volumes:
|
||||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
|
|
|
@ -80,11 +80,13 @@ services:
|
||||||
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
|
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
|
||||||
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
|
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
|
||||||
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
|
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
|
||||||
- CORE_CHIANCODE_LOGGING_LEVEL=DEBUG
|
- CORE_CHIANCODE_BUILDER=hyperledger/fabric-ccenv:${FABRIC_IMG_TAG}
|
||||||
- CORE_CHIANCODE_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
- CORE_CHIANCODE_NODE_RUNTIME=hyperledger/fabric-nodeenv:${FABRIC_IMG_TAG}
|
||||||
|
- FABRIC_LOGGING_SPEC=DEBUG
|
||||||
|
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
||||||
volumes:
|
volumes:
|
||||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
expose:
|
expose:
|
||||||
- "7051" # gRPC
|
- "7051" # gRPC
|
||||||
|
@ -102,7 +104,7 @@ services:
|
||||||
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{module}] %{shortfunc} -> %{level:.4s}%{color:reset} %{message}
|
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{module}] %{shortfunc} -> %{level:.4s}%{color:reset} %{message}
|
||||||
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
|
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
|
||||||
- ORDERER_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
|
- ORDERER_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
|
||||||
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
|
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
||||||
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
|
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
|
||||||
|
|
||||||
prometheus: # prometheus will pull metrics from fabric
|
prometheus: # prometheus will pull metrics from fabric
|
||||||
|
|
|
@ -25,6 +25,7 @@ OrdererOrgs:
|
||||||
- Hostname: orderer0
|
- Hostname: orderer0
|
||||||
- Hostname: orderer1
|
- Hostname: orderer1
|
||||||
- Hostname: orderer2
|
- Hostname: orderer2
|
||||||
|
- Hostname: orderer3
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# "PeerOrgs" - Definition of organizations managing peer nodes
|
# "PeerOrgs" - Definition of organizations managing peer nodes
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
@ -97,3 +98,15 @@ PeerOrgs:
|
||||||
Count: 2
|
Count: 2
|
||||||
Users:
|
Users:
|
||||||
Count: 1
|
Count: 1
|
||||||
|
|
||||||
|
- Name: Org3
|
||||||
|
Domain: org3.example.com
|
||||||
|
EnableNodeOUs: true
|
||||||
|
CA:
|
||||||
|
Country: US
|
||||||
|
Province: California
|
||||||
|
Locality: San Francisco
|
||||||
|
Template:
|
||||||
|
Count: 2
|
||||||
|
Users:
|
||||||
|
Count: 1
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
|
||||||
|
# This compose file will start a Hyperledger Fabric 1.4 in dev mode, including
|
||||||
|
# It will map the $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric on peer0
|
||||||
|
# * 2 ca (not in use now)
|
||||||
|
# * 3 orderers
|
||||||
|
# * 4 peers in 2 orgs
|
||||||
|
# * cli for testing
|
||||||
|
|
||||||
|
version: '2.0'
|
||||||
|
|
||||||
|
services:
|
||||||
|
# ca.org1.example.com:
|
||||||
|
# extends:
|
||||||
|
# file: base-raft.yaml
|
||||||
|
# service: ca.org1.example.com
|
||||||
|
|
||||||
|
# ca.org2.example.com:
|
||||||
|
# extends:
|
||||||
|
# file: base-raft.yaml
|
||||||
|
# service: ca.org2.example.com
|
||||||
|
|
||||||
|
cli:
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: cli
|
||||||
|
|
||||||
|
orderer0.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: orderer0.example.com
|
||||||
|
volumes:
|
||||||
|
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
|
command: /go/src/github.com/hyperledger/fabric/orderer/orderer start
|
||||||
|
|
||||||
|
orderer1.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: orderer1.example.com
|
||||||
|
volumes:
|
||||||
|
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
|
command: /go/src/github.com/hyperledger/fabric/orderer/orderer start
|
||||||
|
|
||||||
|
orderer2.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: orderer2.example.com
|
||||||
|
volumes:
|
||||||
|
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
|
command: /go/src/github.com/hyperledger/fabric/orderer/orderer start
|
||||||
|
|
||||||
|
peer0.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: peer0.org1.example.com
|
||||||
|
volumes:
|
||||||
|
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
|
depends_on:
|
||||||
|
- orderer0.example.com
|
||||||
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
command: /go/src/github.com/hyperledger/fabric/peer/peer node start
|
||||||
|
|
||||||
|
peer1.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: peer1.org1.example.com
|
||||||
|
depends_on:
|
||||||
|
- orderer0.example.com
|
||||||
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
|
||||||
|
peer0.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: peer0.org2.example.com
|
||||||
|
depends_on:
|
||||||
|
- orderer0.example.com
|
||||||
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
|
||||||
|
peer1.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-raft.yaml
|
||||||
|
service: peer1.org2.example.com
|
||||||
|
depends_on:
|
||||||
|
- orderer0.example.com
|
||||||
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
|
||||||
|
#networks:
|
||||||
|
# default:
|
||||||
|
# external:
|
||||||
|
# name: hyperledger_fabric
|
|
@ -1,7 +1,7 @@
|
||||||
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
|
# https://github.com/yeasy/docker-compose-files/tree/master/hyperledger
|
||||||
# This compose file will start a Hyperledger Fabric 1.0 MVE, including
|
# This compose file will start a Hyperledger Fabric 2.0 MVE, including
|
||||||
# * 2 ca (not in use now)
|
# * 2 ca (not in use now)
|
||||||
# * 1 orderer
|
# * 3 orderers
|
||||||
# * 4 peers in 2 orgs
|
# * 4 peers in 2 orgs
|
||||||
# * cli for testing
|
# * cli for testing
|
||||||
|
|
||||||
|
@ -45,30 +45,34 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- orderer0.example.com
|
- orderer0.example.com
|
||||||
- orderer1.example.com
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
|
||||||
peer1.org1.example.com:
|
peer1.org1.example.com:
|
||||||
extends:
|
extends:
|
||||||
file: base-raft.yaml
|
file: base-raft.yaml
|
||||||
service: peer1.org1.example.com
|
service: peer1.org1.example.com
|
||||||
depends_on:
|
depends_on:
|
||||||
- orderer0.example.com
|
- orderer0.example.com
|
||||||
- orderer1.example.com
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
|
||||||
peer0.org2.example.com:
|
peer0.org2.example.com:
|
||||||
extends:
|
extends:
|
||||||
file: base-raft.yaml
|
file: base-raft.yaml
|
||||||
service: peer0.org2.example.com
|
service: peer0.org2.example.com
|
||||||
depends_on:
|
depends_on:
|
||||||
- orderer0.example.com
|
- orderer0.example.com
|
||||||
- orderer1.example.com
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
|
||||||
peer1.org2.example.com:
|
peer1.org2.example.com:
|
||||||
extends:
|
extends:
|
||||||
file: base-raft.yaml
|
file: base-raft.yaml
|
||||||
service: peer1.org2.example.com
|
service: peer1.org2.example.com
|
||||||
depends_on:
|
depends_on:
|
||||||
- orderer0.example.com
|
- orderer0.example.com
|
||||||
- orderer1.example.com
|
- orderer1.example.com
|
||||||
|
- orderer2.example.com
|
||||||
|
|
||||||
#networks:
|
#networks:
|
||||||
# default:
|
# default:
|
||||||
|
|
|
@ -44,12 +44,12 @@ for IMG in base peer orderer ca; do
|
||||||
pull_image "yeasy/hyperledger-fabric-${IMG}:$FABRIC_IMG_TAG" "true" &
|
pull_image "yeasy/hyperledger-fabric-${IMG}:$FABRIC_IMG_TAG" "true" &
|
||||||
done
|
done
|
||||||
|
|
||||||
pull_image yeasy/hyperledger-fabric:$FABRIC_IMG_TAG
|
pull_image yeasy/hyperledger-fabric:$FABRIC_IMG_TAG "true"
|
||||||
|
|
||||||
# pull_image yeasy/blockchain-explorer:0.1.0-preview # TODO: wait for official images
|
# pull_image yeasy/blockchain-explorer:0.1.0-preview # TODO: wait for official images
|
||||||
echo "=== Pulling fabric core images ${FABRIC_IMG_TAG} from fabric repo... ==="
|
echo "=== Pulling fabric core images ${FABRIC_IMG_TAG} from fabric repo... ==="
|
||||||
for IMG in peer orderer ca ccenv tools baseos javaenv nodeenv; do
|
for IMG in peer orderer ca ccenv tools baseos javaenv nodeenv; do
|
||||||
pull_image hyperledger/fabric-${IMG}:$FABRIC_IMG_TAG &
|
pull_image hyperledger/fabric-${IMG}:$FABRIC_IMG_TAG & # e.g., v2.0.0
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "=== Pulling base/3rd-party images with tag ${BASE_IMG_TAG} from fabric repo... ==="
|
echo "=== Pulling base/3rd-party images with tag ${BASE_IMG_TAG} from fabric repo... ==="
|
||||||
|
|
|
@ -344,8 +344,9 @@ channelUpdate() {
|
||||||
sleep 2
|
sleep 2
|
||||||
}
|
}
|
||||||
|
|
||||||
# Package and Install chaincode on the peer node
|
# Install chaincode on the peer node
|
||||||
# chaincodeInstall org peer peer_url peer_tls cc_name version path
|
# In v2.x it will package, install and approve
|
||||||
|
# chaincodeInstall peer cc_name version path [lang]
|
||||||
chaincodeInstall () {
|
chaincodeInstall () {
|
||||||
if [ "$#" -ne 7 ]; then
|
if [ "$#" -ne 7 ]; then
|
||||||
echo_r "Wrong param number for chaincode install"
|
echo_r "Wrong param number for chaincode install"
|
||||||
|
@ -498,7 +499,7 @@ chaincodeApproveForMyOrg () {
|
||||||
--name ${name} \
|
--name ${name} \
|
||||||
--version ${version} \
|
--version ${version} \
|
||||||
--init-required \
|
--init-required \
|
||||||
--package-id ${package_id} \
|
--package-id ${package_id} \
|
||||||
--sequence 1 \
|
--sequence 1 \
|
||||||
--signature-policy "${policy}" \
|
--signature-policy "${policy}" \
|
||||||
--waitForEvent \
|
--waitForEvent \
|
||||||
|
|
|
@ -20,11 +20,11 @@ def decode_if_b64(raw):
|
||||||
except binascii.Error:
|
except binascii.Error:
|
||||||
success = False
|
success = False
|
||||||
|
|
||||||
if success and False: # result_bytes = b'xxxx\xx'
|
#if success: # result_bytes = b'xxxx\xx'
|
||||||
print('===================Start==================================')
|
#print('===================Start==================================')
|
||||||
print(raw)
|
#print(raw)
|
||||||
print(result)
|
#print(result)
|
||||||
print('=====================End===================================')
|
#print('=====================End===================================')
|
||||||
return success, result
|
return success, result
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ def check_tree(tree, prefix, f_write):
|
||||||
else: # leaf
|
else: # leaf
|
||||||
result = v
|
result = v
|
||||||
if 'cert' in k or 'id_bytes' in k or 'value' in k and 'hash' not in k:
|
if 'cert' in k or 'id_bytes' in k or 'value' in k and 'hash' not in k:
|
||||||
# print(prefix_path)
|
#print(prefix_path)
|
||||||
success, result = decode_if_b64(v)
|
success, result = decode_if_b64(v)
|
||||||
if success:
|
if success:
|
||||||
result = "b64({})".format(result)
|
result = "b64({})".format(result)
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
# Before running `make`, config this files
|
# Before running `make`, config this files
|
||||||
# Define some global variables for usage. Will be included by func.sh.
|
# Define some global variables for usage. Will be included by func.sh.
|
||||||
|
|
||||||
ARCH=amd64
|
# ARCH=amd64
|
||||||
|
|
||||||
# for the base images, including baseimage, couchdb, kafka, zookeeper
|
# for the base images, including baseimage, couchdb, kafka, zookeeper
|
||||||
BASE_IMG_TAG=0.4.16
|
BASE_IMG_TAG=0.4.18
|
||||||
|
|
||||||
# For fabric images, including peer, orderer, ca
|
# For fabric images, including peer, orderer, ca
|
||||||
FABRIC_IMG_TAG=latest
|
FABRIC_IMG_TAG=latest
|
||||||
|
|
|
@ -63,7 +63,7 @@ ready: # create/join channel, install/instantiate cc
|
||||||
|
|
||||||
make update_anchors
|
make update_anchors
|
||||||
|
|
||||||
make cc_test # test_cc_install test_cc_approve test_cc_queryapprove test_cc_commit test_cc_querycommit test_cc_invoke_query
|
make cc_test # test_cc_install test_cc_instantiate test_cc_invoke_query
|
||||||
|
|
||||||
make test_lscc # test lscc operations
|
make test_lscc # test lscc operations
|
||||||
make test_qscc # test qscc operations
|
make test_qscc # test qscc operations
|
||||||
|
|
|
@ -62,13 +62,12 @@ services:
|
||||||
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||||
- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
|
- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
|
||||||
- ORDERER_GENERAL_CLUSTER_LISTENPORT=7055
|
- ORDERER_GENERAL_CLUSTER_LISTENPORT=7050
|
||||||
- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||||
volumes:
|
volumes:
|
||||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
#- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/:/var/hyperledger/orderer/tls1
|
|
||||||
- ./raft/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
- ./raft/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
command: orderer start
|
command: orderer start
|
||||||
|
|
||||||
|
@ -204,3 +203,4 @@ services:
|
||||||
- ./raft/channel-artifacts:/tmp/channel-artifacts
|
- ./raft/channel-artifacts:/tmp/channel-artifacts
|
||||||
- ./raft/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
- ./raft/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||||
- ./examples:/go/src/examples
|
- ./examples:/go/src/examples
|
||||||
|
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
|
|
|
@ -86,11 +86,12 @@ services:
|
||||||
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
||||||
volumes:
|
volumes:
|
||||||
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
expose:
|
expose:
|
||||||
- "7051" # gRPC
|
- "7051" # gRPC
|
||||||
- "9443" # Operation REST
|
- "9443" # Operation REST
|
||||||
|
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
||||||
command: peer node start
|
command: peer node start
|
||||||
|
|
||||||
cli-base:
|
cli-base:
|
||||||
|
|
|
@ -22,14 +22,18 @@ else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# pull_image image_name <true|false (default)>
|
||||||
pull_image() {
|
pull_image() {
|
||||||
IMG=$1
|
IMG=$1
|
||||||
#if [ -z "$(docker images -q ${IMG} 2> /dev/null)" ]; then # not exist
|
FORCED="false"
|
||||||
# docker pull ${IMG}
|
if [ "$#" -eq 2 ]; then
|
||||||
#else
|
FORCED=$2
|
||||||
# echo "${IMG} already exist locally"
|
fi
|
||||||
#fi
|
if [ ! -z "$(docker images -q ${IMG} 2> /dev/null)" ] && [ "$FORCED" != "true" ]; then # existed and not forced to update
|
||||||
docker pull ${IMG}
|
echo "${IMG} already exists and not forced to update "
|
||||||
|
else
|
||||||
|
docker pull ${IMG}
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Downloading images from DockerHub... need a while"
|
echo "Downloading images from DockerHub... need a while"
|
||||||
|
@ -37,7 +41,7 @@ echo "Downloading images from DockerHub... need a while"
|
||||||
# TODO: we may need some checking on pulling result?
|
# TODO: we may need some checking on pulling result?
|
||||||
echo "=== Pulling yeasy/hyperledger-fabric-* images with tag ${FABRIC_IMG_TAG}... ==="
|
echo "=== Pulling yeasy/hyperledger-fabric-* images with tag ${FABRIC_IMG_TAG}... ==="
|
||||||
for IMG in base peer orderer ca; do
|
for IMG in base peer orderer ca; do
|
||||||
pull_image yeasy/hyperledger-fabric-${IMG}:$FABRIC_IMG_TAG &
|
pull_image "yeasy/hyperledger-fabric-${IMG}:$FABRIC_IMG_TAG" "true" &
|
||||||
done
|
done
|
||||||
|
|
||||||
pull_image yeasy/hyperledger-fabric:$FABRIC_IMG_TAG
|
pull_image yeasy/hyperledger-fabric:$FABRIC_IMG_TAG
|
||||||
|
|
|
@ -553,8 +553,8 @@ chaincodeCommit () {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Query the Commit the chaincode definition
|
# Query the Commit the chaincode definition
|
||||||
# chaincodeQueryCommit channel org peer name version
|
# chaincodeQueryCommitted org peer peer_url peer_tls_root_cert channel cc_name
|
||||||
chaincodeQueryCommit () {
|
chaincodeQueryCommitted () {
|
||||||
if [ "$#" -ne 6 ]; then
|
if [ "$#" -ne 6 ]; then
|
||||||
echo_r "Wrong param number for chaincode querycommit"
|
echo_r "Wrong param number for chaincode querycommit"
|
||||||
exit -1
|
exit -1
|
||||||
|
|
|
@ -59,7 +59,7 @@ def check_tree(tree, prefix, f_write):
|
||||||
if 'metadata' not in prefix_path:
|
if 'metadata' not in prefix_path:
|
||||||
success, result = decode_if_b64(v)
|
success, result = decode_if_b64(v)
|
||||||
if success:
|
if success:
|
||||||
#print(prefix_path)
|
# print(prefix_path)
|
||||||
result = "b64({})".format(result)
|
result = "b64({})".format(result)
|
||||||
f_write.write("{}={}\n".format(prefix_path, result))
|
f_write.write("{}={}\n".format(prefix_path, result))
|
||||||
else: # json only allow dict or list structure
|
else: # json only allow dict or list structure
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
# for docker-compose usage
|
||||||
|
FABRIC_IMG_TAG=2.0.0
|
||||||
|
EXT_IMG_TAG=0.4.18
|
||||||
|
NETWORK=hlf_net
|
|
@ -0,0 +1,95 @@
|
||||||
|
---
|
||||||
|
version: '2.0'
|
||||||
|
services:
|
||||||
|
orderer.example.com: # orderer in solo mode
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: orderer-base
|
||||||
|
container_name: orderer.example.com
|
||||||
|
hostname: orderer.example.com
|
||||||
|
expose:
|
||||||
|
- '7050'
|
||||||
|
volumes:
|
||||||
|
- ./solo/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
|
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls:/var/hyperledger/orderer/tls
|
||||||
|
peer0.org1.example.com: # peer node
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer0.org1.example.com # will generated automatically
|
||||||
|
hostname: peer0.org1.example.com # will generated automatically
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
- CORE_PEER_TLS_ENABLED=true
|
||||||
|
volumes:
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
expose:
|
||||||
|
- 7051
|
||||||
|
- 7052
|
||||||
|
- 7053
|
||||||
|
peer1.org1.example.com: # peer node
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer1.org1.example.com # will generated automatically
|
||||||
|
hostname: peer1.org1.example.com # will generated automatically
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
- CORE_PEER_TLS_ENABLED=true
|
||||||
|
volumes:
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
expose:
|
||||||
|
- 7051
|
||||||
|
- 7052
|
||||||
|
- 7053
|
||||||
|
peer0.org2.example.com: # peer node
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer0.org2.example.com # will generated automatically
|
||||||
|
hostname: peer0.org2.example.com # will generated automatically
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
- CORE_PEER_TLS_ENABLED=true
|
||||||
|
volumes:
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
expose:
|
||||||
|
- 7051
|
||||||
|
- 7052
|
||||||
|
- 7053
|
||||||
|
peer1.org2.example.com: # peer node
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer1.org2.example.com # will generated automatically
|
||||||
|
hostname: peer1.org2.example.com # will generated automatically
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
- CORE_PEER_TLS_ENABLED=true
|
||||||
|
volumes:
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
expose:
|
||||||
|
- 7051
|
||||||
|
- 7052
|
||||||
|
- 7053
|
|
@ -0,0 +1,316 @@
|
||||||
|
# Makefile to bootup the network, and do testing with channel, chaincode
|
||||||
|
# Run `make test` will pass all testing cases, and delete the network
|
||||||
|
# Run `make ready` will create a network, pass testing cases, and stand there for manual test, e.g., make test_channel_list
|
||||||
|
|
||||||
|
|
||||||
|
# support advanced bash grammar
|
||||||
|
SHELL:=/bin/bash
|
||||||
|
|
||||||
|
# mode of the network: solo, kafka, raft
|
||||||
|
HLF_MODE ?= raft
|
||||||
|
|
||||||
|
# mode of db: golevel, couchdb
|
||||||
|
DB_MODE ?= golevel
|
||||||
|
|
||||||
|
# mode of dev
|
||||||
|
DEV_MODE ?= non-dev
|
||||||
|
|
||||||
|
NETWORK_INIT_WAIT ?= 2 # time to wait the fabric network finish initialization
|
||||||
|
|
||||||
|
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-raft.yaml"
|
||||||
|
|
||||||
|
LOG_PATH ?= solo/logs
|
||||||
|
|
||||||
|
ifeq ($(HLF_MODE),kafka)
|
||||||
|
NETWORK_INIT_WAIT=30
|
||||||
|
else ifeq ($(HLF_MODE),raft)
|
||||||
|
NETWORK_INIT_WAIT=5
|
||||||
|
endif
|
||||||
|
|
||||||
|
COMPOSE_FILE="docker-compose-2orgs-4peers-$(HLF_MODE).yaml"
|
||||||
|
|
||||||
|
LOG_PATH=$(HLF_MODE)/logs
|
||||||
|
|
||||||
|
ifeq ($(DB_MODE),couchdb)
|
||||||
|
COMPOSE_FILE="docker-compose-2orgs-4peers-couchdb.yaml"
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DEV_MODE),dev)
|
||||||
|
COMPOSE_FILE="docker-compose-2orgs-4peers-dev.yaml"
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: test
|
||||||
|
|
||||||
|
test:
|
||||||
|
@echo "Run test with $(COMPOSE_FILE)"
|
||||||
|
@echo "Please make sure u have setup Docker and pulled images by 'make setup download'."
|
||||||
|
make ready # Run all testing till ready
|
||||||
|
|
||||||
|
make stop clean
|
||||||
|
|
||||||
|
ready: # create/join channel, install/instantiate cc
|
||||||
|
make stop
|
||||||
|
|
||||||
|
# make clean_config_channel # Remove existing channel artifacts
|
||||||
|
make gen_config_crypto # Will ignore if local config path exists
|
||||||
|
make gen_config_channel # Will ignore if local config path exists
|
||||||
|
|
||||||
|
make start
|
||||||
|
|
||||||
|
sleep ${NETWORK_INIT_WAIT}
|
||||||
|
|
||||||
|
make channel_test
|
||||||
|
|
||||||
|
make update_anchors
|
||||||
|
|
||||||
|
make cc_test # test_cc_install test_cc_approveformyorg test_cc_checkcommitreadiness test_cc_commit test_cc_querycommitted test_cc_invoke_query
|
||||||
|
|
||||||
|
# make test_lscc # test lscc operations, in v2.0, legacy lscc won't work
|
||||||
|
make test_qscc # test qscc operations
|
||||||
|
make test_cscc # test cscc operations
|
||||||
|
|
||||||
|
make test_fetch_blocks # fetch block files
|
||||||
|
|
||||||
|
make test_config_update
|
||||||
|
make test_channel_update
|
||||||
|
|
||||||
|
make test_fetch_blocks # fetch block files again
|
||||||
|
make test_configtxlator
|
||||||
|
|
||||||
|
make test_channel_list
|
||||||
|
make test_channel_getinfo
|
||||||
|
|
||||||
|
make logs_save
|
||||||
|
|
||||||
|
@echo "Now the fabric network is ready to play"
|
||||||
|
@echo "* run 'make cli' to enter into the fabric-cli container."
|
||||||
|
@echo "* run 'make stop' when done."
|
||||||
|
|
||||||
|
# channel related operations
|
||||||
|
channel_test: test_channel_create test_channel_join test_channel_list test_channel_getinfo
|
||||||
|
|
||||||
|
# chaincode related operations
|
||||||
|
cc_test: test_cc_install test_cc_queryinstalled test_cc_approveformyorg test_cc_checkcommitreadiness test_cc_commit test_cc_querycommitted test_cc_invoke_query
|
||||||
|
|
||||||
|
restart: stop start
|
||||||
|
|
||||||
|
start: # bootup the fabric network
|
||||||
|
@echo "Start a fabric network with ${COMPOSE_FILE}..."
|
||||||
|
@make clean
|
||||||
|
@echo "Make sure the local hlf_net docker bridge exists"
|
||||||
|
docker network ls|grep hlf_net > /dev/null || docker network create hlf_net
|
||||||
|
@docker-compose -f ${COMPOSE_FILE} up -d # Start a fabric network
|
||||||
|
|
||||||
|
stop: # stop the fabric network
|
||||||
|
@echo "Stop the fabric network with ${COMPOSE_FILE}..."
|
||||||
|
@docker-compose -f ${COMPOSE_FILE} down >& /tmp/docker-compose.log
|
||||||
|
|
||||||
|
chaincode_dev: restart chaincode_init test_cc_peer0 stop
|
||||||
|
|
||||||
|
################## Channel testing operations ################
|
||||||
|
|
||||||
|
test_channel_list: # List the channel that peer joined
|
||||||
|
@echo "List the joined channels"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_list.sh"
|
||||||
|
|
||||||
|
test_channel_getinfo: # Get info of a channel
|
||||||
|
@echo "Get info of the app channel"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_getinfo.sh"
|
||||||
|
|
||||||
|
test_channel_create: # Init the channel
|
||||||
|
@echo "Create channel on the fabric network"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_create.sh"
|
||||||
|
|
||||||
|
test_channel_join: # Init the channel
|
||||||
|
@echo "Join channel"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_join.sh"
|
||||||
|
|
||||||
|
update_anchors: # Update the anchor peer
|
||||||
|
@echo "Update anchors on the fabric network"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_update_anchors.sh"
|
||||||
|
|
||||||
|
test_channel_update: # send the channel update transaction
|
||||||
|
@echo "Test channel update with adding new org"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_channel_update.sh"
|
||||||
|
|
||||||
|
################## Configtxlator testing operations ################
|
||||||
|
test_configtxlator: # Test change config using configtxlator
|
||||||
|
@echo "Testing decoding and encoding with configtxlator"
|
||||||
|
bash scripts/test_configtxlator.sh ${HLF_MODE}
|
||||||
|
@echo "Flattening the json files of all blocks"
|
||||||
|
python3 scripts/json_flatter.py ${HLF_MODE}/channel-artifacts/
|
||||||
|
|
||||||
|
test_config_update: # Test change config to add new org
|
||||||
|
bash scripts/test_config_update.sh ${HLF_MODE}
|
||||||
|
|
||||||
|
################## Chaincode testing operations ################
|
||||||
|
test_cc: # test chaincode, deprecated
|
||||||
|
if [ "$(HLF_MODE)" = "dev" ]; then \
|
||||||
|
make test_cc_peer0; \
|
||||||
|
else \
|
||||||
|
make test_cc_invoke_query; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
test_cc_install: # Install the chaincode
|
||||||
|
@echo "Install chaincode to all peers"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_install.sh"
|
||||||
|
|
||||||
|
test_cc_queryinstalled: # Query the installed chaincodes
|
||||||
|
@echo "Query the installed chaincode"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_queryinstalled.sh"
|
||||||
|
|
||||||
|
test_cc_getinstalled: # Get the installed chaincodes package
|
||||||
|
@echo "Get the installed chaincode package"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_getinstalled.sh"
|
||||||
|
|
||||||
|
test_cc_approveformyorg: # Approve the chaincode definition
|
||||||
|
@echo "Approve the chaincode by all orgs"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_approveformyorg.sh"
|
||||||
|
|
||||||
|
test_cc_checkcommitreadiness: # Query the approval status of chaincode
|
||||||
|
@echo "Query the chaincode approval status by all orgs"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_checkcommitreadiness.sh"
|
||||||
|
|
||||||
|
test_cc_commit: # Commit the chaincode definition
|
||||||
|
@echo "Commit the chaincode by any org"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_commit.sh"
|
||||||
|
|
||||||
|
test_cc_querycommitted: # Query the commit status of the chaincode definition
|
||||||
|
@echo "Query the commit status of chaincode"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_querycommitted.sh"
|
||||||
|
|
||||||
|
test_cc_instantiate: # Instantiate the chaincode
|
||||||
|
@echo "Instantiate chaincode on the fabric network"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_instantiate.sh"
|
||||||
|
|
||||||
|
test_cc_upgrade: # Upgrade the chaincode
|
||||||
|
@echo "Upgrade chaincode on the fabric network"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_upgrade.sh"
|
||||||
|
|
||||||
|
test_cc_list: # List the chaincode
|
||||||
|
@echo "List chaincode information (installed and instantited)"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_list.sh"
|
||||||
|
|
||||||
|
test_cc_invoke_query: # test user chaincode on all peers
|
||||||
|
@echo "Invoke and query cc example02 on all peers"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cc_invoke_query.sh"
|
||||||
|
|
||||||
|
test_cscc: # test cscc queries
|
||||||
|
@echo "Test CSCC query"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_cscc.sh"
|
||||||
|
|
||||||
|
test_qscc: # test qscc queries
|
||||||
|
@echo "Test QSCC query"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_qscc.sh"
|
||||||
|
|
||||||
|
test_lscc: # test lscc quries
|
||||||
|
@echo "Test LSCC query"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_lscc.sh"
|
||||||
|
|
||||||
|
# FIXME: docker doesn't support wildcard in cp right now
|
||||||
|
test_fetch_blocks: # test fetching channel blocks fetch
|
||||||
|
@echo "Test fetching block files"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_fetch_blocks.sh"
|
||||||
|
|
||||||
|
test_eventsclient: # test get event notification in a loop
|
||||||
|
@echo "Test fetching event notification"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/start_eventsclient.sh"
|
||||||
|
|
||||||
|
test_sidedb: # test sideDB/private data feature
|
||||||
|
@echo "Test sideDB"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_sideDB.sh"
|
||||||
|
|
||||||
|
temp: # test temp instructions, used for experiment
|
||||||
|
@echo "Test experimental instructions"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/test_temp.sh"
|
||||||
|
|
||||||
|
################## Env setup related, no need to see usually ################
|
||||||
|
|
||||||
|
setup: # setup the environment
|
||||||
|
bash scripts/env_setup.sh # Installing Docker and Docker-Compose
|
||||||
|
|
||||||
|
check: # Check shell scripts grammar
|
||||||
|
@echo "Check shell scripts grammar"
|
||||||
|
[ `which shellcheck` ] && shellcheck scripts/*.sh
|
||||||
|
|
||||||
|
clean: # clean up containers and chaincode images
|
||||||
|
@echo "Clean all HLF containers and chaincode images"
|
||||||
|
@-docker ps -a | awk '{ print $$1,$$2 }' | grep "hyperledger/fabric" | awk '{ print $$1 }' | xargs -r -I {} docker rm -f {}
|
||||||
|
@-docker ps -a | awk '$$2 ~ /dev-peer/ { print $$1 }' | xargs -r -I {} docker rm -f {}
|
||||||
|
@-docker images | awk '$$1 ~ /dev-peer/ { print $$3 }' | xargs -r -I {} docker rmi -f {}
|
||||||
|
echo "May clean the config: HLF_MODE=${HLF_MODE} make clean_config_channel"
|
||||||
|
|
||||||
|
# Clean deeply by removing all generated files: container, artifacts, credentials
|
||||||
|
purge: clean
|
||||||
|
HLF_MODE=solo make clean_config_channel
|
||||||
|
HLF_MODE=kafka make clean_config_channel
|
||||||
|
HLF_MODE=raft make clean_config_channel
|
||||||
|
make clean_config_crypto
|
||||||
|
|
||||||
|
env_clean: # clean up Docker environment
|
||||||
|
@echo "Clean all images and containers"
|
||||||
|
bash scripts/env_clean.sh
|
||||||
|
|
||||||
|
cli: # enter the cli container
|
||||||
|
docker exec -it fabric-cli bash
|
||||||
|
|
||||||
|
orderer: orderer0
|
||||||
|
|
||||||
|
orderer0: # enter the orderer0 container
|
||||||
|
docker exec -it orderer0.example.com bash
|
||||||
|
|
||||||
|
orderer1: # enter the orderer0 container
|
||||||
|
docker exec -it orderer1.example.com bash
|
||||||
|
|
||||||
|
peer: peer0
|
||||||
|
|
||||||
|
peer0: # enter the peer container
|
||||||
|
docker exec -it peer0.org1.example.com bash
|
||||||
|
|
||||||
|
peer1: # enter the peer container
|
||||||
|
docker exec -it peer1.org1.example.com bash
|
||||||
|
|
||||||
|
ps: # show existing docker images
|
||||||
|
docker ps -a
|
||||||
|
|
||||||
|
logs: # show logs
|
||||||
|
docker-compose -f ${COMPOSE_FILE} logs -f --tail 200
|
||||||
|
|
||||||
|
logs_check: logs_save logs_view
|
||||||
|
|
||||||
|
logs_save: # save logs
|
||||||
|
@echo "All tests done, saving logs locally"
|
||||||
|
[ -d $(LOG_PATH) ] || mkdir -p $(LOG_PATH)
|
||||||
|
docker logs peer0.org1.example.com >& $(LOG_PATH)/dev_peer0.log
|
||||||
|
docker logs orderer0.example.com >& $(LOG_PATH)/dev_orderer.log
|
||||||
|
docker-compose -f ${COMPOSE_FILE} logs >& $(LOG_PATH)/dev_all.log
|
||||||
|
|
||||||
|
logs_view: # view logs
|
||||||
|
less $(LOG_PATH)/dev_peer.log
|
||||||
|
|
||||||
|
elk: # insert logs into elk
|
||||||
|
# curl -XDELETE http://localhost:9200/logstash-\*
|
||||||
|
nc localhost 5000 < $(LOG_PATH)/dev_all.log
|
||||||
|
|
||||||
|
gen_config_crypto: # generate crypto config
|
||||||
|
bash scripts/gen_config_crypto.sh
|
||||||
|
|
||||||
|
gen_config_channel: # generate channel artifacts
|
||||||
|
bash scripts/gen_config_channel.sh ${HLF_MODE}
|
||||||
|
|
||||||
|
clean_config_channel: # clean channel related artifacts
|
||||||
|
rm -rf ${HLF_MODE}/channel-artifacts/*
|
||||||
|
|
||||||
|
clean_config_crypto: # clean config artifacts
|
||||||
|
echo "Warning: Cleaning credentials will affect artifacts in solo/kafka/raft mode"
|
||||||
|
rm -rf crypto-config/*
|
||||||
|
rm -rf org3/crypto-config/*
|
||||||
|
|
||||||
|
download: # download required images
|
||||||
|
@echo "Download Docker images"
|
||||||
|
bash scripts/download_images.sh
|
||||||
|
|
||||||
|
################## chaincode dev mode ################
|
||||||
|
chaincode_init: # start chaincode in dev mode and do install/instantiate
|
||||||
|
@echo "Install and instantiate cc example02 on the fabric dev network"
|
||||||
|
@docker exec -it fabric-cli bash -c "cd /tmp; bash scripts/init_chaincode_dev.sh"
|
|
@ -0,0 +1,78 @@
|
||||||
|
# All elements in this file should depend on the base-solo.yaml
|
||||||
|
# Provided solo-base fabric network with:
|
||||||
|
|
||||||
|
# ca.org1.example.com
|
||||||
|
# ca.org2.example.com
|
||||||
|
# orderer.example.com
|
||||||
|
# peer0.org1.example.com
|
||||||
|
# peer1.org1.example.com
|
||||||
|
# peer0.org2.example.com
|
||||||
|
# peer1.org2.example.com
|
||||||
|
# cli
|
||||||
|
|
||||||
|
version: '2' # v3 does not support 'extends' yet
|
||||||
|
|
||||||
|
services:
|
||||||
|
ca.org1.example.com: # ca node for org1
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: ca.org1.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_TLS_ENABLED=false
|
||||||
|
|
||||||
|
ca.org2.example.com: # ca node for org1
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: ca.org2.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_TLS_ENABLED=false
|
||||||
|
|
||||||
|
orderer.example.com: # orderer node for example org
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: orderer.example.com
|
||||||
|
environment:
|
||||||
|
- ORDERER_GENERAL_TLS_ENABLED=false
|
||||||
|
|
||||||
|
cli: # client node
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: cli
|
||||||
|
environment:
|
||||||
|
#- GOPATH=/opt/gopath
|
||||||
|
- CORE_PEER_TLS_ENABLED=false # to enable TLS, change to false
|
||||||
|
|
||||||
|
## following are peer nodes ##
|
||||||
|
|
||||||
|
peer0.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: peer0.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_TLS_ENABLED=false
|
||||||
|
|
||||||
|
peer1.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: peer1.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_TLS_ENABLED=false
|
||||||
|
|
||||||
|
peer0.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: peer0.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_TLS_ENABLED=false
|
||||||
|
|
||||||
|
peer1.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: peer1.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_TLS_ENABLED=false
|
||||||
|
|
||||||
|
event-listener:
|
||||||
|
extends:
|
||||||
|
file: base-solo.yaml
|
||||||
|
service: event-listener
|
|
@ -0,0 +1,276 @@
|
||||||
|
# All elements in this file should depend on the base.yaml
|
||||||
|
# Provided a Kafka enabled fabric network with:
|
||||||
|
|
||||||
|
# ca.org1.example.com
|
||||||
|
# ca.org2.example.com
|
||||||
|
# orderer0.example.com
|
||||||
|
# orderer1.example.com
|
||||||
|
# peer0.org1.example.com
|
||||||
|
# peer1.org1.example.com
|
||||||
|
# peer0.org2.example.com
|
||||||
|
# peer1.org2.example.com
|
||||||
|
# 3 zookeeper nodes
|
||||||
|
# 4 kafka nodes
|
||||||
|
# cli
|
||||||
|
|
||||||
|
version: '2' # v3 does not support 'extends' yet
|
||||||
|
|
||||||
|
services:
|
||||||
|
ca.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: ca-base
|
||||||
|
container_name: ca.org1.example.com
|
||||||
|
hostname: ca.org1.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||||
|
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||||
|
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||||
|
ports:
|
||||||
|
- "7054:7054"
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||||
|
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||||
|
|
||||||
|
ca.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: ca-base
|
||||||
|
container_name: ca.org2.example.com
|
||||||
|
hostname: ca.org2.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||||
|
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||||
|
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||||
|
ports:
|
||||||
|
- "8054:7054"
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||||
|
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||||
|
|
||||||
|
orderer0.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: orderer-base
|
||||||
|
container_name: orderer0.example.com
|
||||||
|
hostname: orderer0.example.com
|
||||||
|
ports:
|
||||||
|
- "7050:7050"
|
||||||
|
environment:
|
||||||
|
# Kafka related configurations
|
||||||
|
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
||||||
|
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
||||||
|
- ORDERER_KAFKA_VERBOSE=true
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
|
- ./kafka/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
command: orderer start
|
||||||
|
|
||||||
|
orderer1.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: orderer-base
|
||||||
|
container_name: orderer1.example.com
|
||||||
|
hostname: orderer1.example.com
|
||||||
|
ports:
|
||||||
|
- "8050:7050"
|
||||||
|
environment:
|
||||||
|
# Kafka related configurations
|
||||||
|
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
||||||
|
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
||||||
|
- ORDERER_KAFKA_VERBOSE=true
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
|
- ./kafka/channel-artifacts/orderer1.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
command: orderer start
|
||||||
|
|
||||||
|
cli:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: cli-base
|
||||||
|
container_name: fabric-cli
|
||||||
|
hostname: fabric-cli
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=fabric-cli
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||||
|
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||||
|
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||||
|
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||||
|
volumes:
|
||||||
|
- ./scripts:/tmp/scripts
|
||||||
|
- ./crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||||
|
- ./crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||||
|
- ./kafka/channel-artifacts:/tmp/channel-artifacts
|
||||||
|
- ./kafka/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||||
|
- ./examples:/opt/gopath/src/examples
|
||||||
|
|
||||||
|
## following are peer nodes ##
|
||||||
|
|
||||||
|
peer0.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer0.org1.example.com
|
||||||
|
hostname: peer0.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 7051:7051
|
||||||
|
- 7052:7052
|
||||||
|
- 7053:7053
|
||||||
|
|
||||||
|
peer1.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer1.org1.example.com
|
||||||
|
hostname: peer1.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 8051:7051
|
||||||
|
- 8052:7052
|
||||||
|
- 8053:7053
|
||||||
|
|
||||||
|
peer0.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer0.org2.example.com
|
||||||
|
hostname: peer0.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 9051:7051
|
||||||
|
- 9052:7052
|
||||||
|
- 9053:7053
|
||||||
|
|
||||||
|
peer1.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer1.org2.example.com
|
||||||
|
hostname: peer1.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 10051:7051
|
||||||
|
- 10052:7052
|
||||||
|
- 10053:7053
|
||||||
|
|
||||||
|
|
||||||
|
# ZooKeeper services, at least 3 nodes
|
||||||
|
zookeeper0:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: zookeeper-base
|
||||||
|
container_name: zookeeper0
|
||||||
|
hostname: zookeeper0
|
||||||
|
environment:
|
||||||
|
- ZOO_MY_ID=1
|
||||||
|
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||||
|
|
||||||
|
zookeeper1:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: zookeeper-base
|
||||||
|
container_name: zookeeper1
|
||||||
|
hostname: zookeeper1
|
||||||
|
environment:
|
||||||
|
- ZOO_MY_ID=2
|
||||||
|
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||||
|
|
||||||
|
zookeeper2:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: zookeeper-base
|
||||||
|
container_name: zookeeper2
|
||||||
|
hostname: zookeeper2
|
||||||
|
environment:
|
||||||
|
- ZOO_MY_ID=3
|
||||||
|
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||||
|
|
||||||
|
# Kafka services, at least 4 node to tolerant work with 1 node failure
|
||||||
|
kafka0:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: kafka-base
|
||||||
|
container_name: kafka0
|
||||||
|
hostname: kafka0
|
||||||
|
environment:
|
||||||
|
- KAFKA_BROKER_ID=0
|
||||||
|
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||||
|
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||||
|
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||||
|
|
||||||
|
kafka1:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: kafka-base
|
||||||
|
container_name: kafka1
|
||||||
|
hostname: kafka1
|
||||||
|
environment:
|
||||||
|
- KAFKA_BROKER_ID=1
|
||||||
|
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||||
|
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||||
|
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||||
|
|
||||||
|
kafka2:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: kafka-base
|
||||||
|
container_name: kafka2
|
||||||
|
hostname: kafka2
|
||||||
|
environment:
|
||||||
|
- KAFKA_BROKER_ID=2
|
||||||
|
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||||
|
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||||
|
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||||
|
|
||||||
|
kafka3:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: kafka-base
|
||||||
|
container_name: kafka3
|
||||||
|
hostname: kafka3
|
||||||
|
environment:
|
||||||
|
- KAFKA_BROKER_ID=3
|
||||||
|
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||||
|
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||||
|
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
|
@ -0,0 +1,206 @@
|
||||||
|
# All elements in this file should depend on the base.yaml
|
||||||
|
# Provided a Kafka enabled fabric network with:
|
||||||
|
|
||||||
|
# ca.org1.example.com
|
||||||
|
# ca.org2.example.com
|
||||||
|
# orderer0.example.com
|
||||||
|
# orderer1.example.com
|
||||||
|
# peer0.org1.example.com
|
||||||
|
# peer1.org1.example.com
|
||||||
|
# peer0.org2.example.com
|
||||||
|
# peer1.org2.example.com
|
||||||
|
# 3 zookeeper nodes
|
||||||
|
# 4 raft nodes
|
||||||
|
# cli
|
||||||
|
|
||||||
|
version: '2' # v3 does not support 'extends' yet
|
||||||
|
|
||||||
|
services:
|
||||||
|
ca.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: ca-base
|
||||||
|
container_name: ca.org1.example.com
|
||||||
|
hostname: ca.org1.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||||
|
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||||
|
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||||
|
ports:
|
||||||
|
- "7054:7054"
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||||
|
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||||
|
|
||||||
|
ca.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: ca-base
|
||||||
|
container_name: ca.org2.example.com
|
||||||
|
hostname: ca.org2.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||||
|
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||||
|
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||||
|
ports:
|
||||||
|
- "8054:7054"
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||||
|
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||||
|
|
||||||
|
orderer0.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: orderer-base
|
||||||
|
container_name: orderer0.example.com
|
||||||
|
hostname: orderer0.example.com
|
||||||
|
ports:
|
||||||
|
- "7050:7050"
|
||||||
|
environment:
|
||||||
|
- FABRIC_LOGGING_SPEC=DEBUG
|
||||||
|
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||||
|
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
|
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_LISTENPORT=7050
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
|
#- ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
|
- ./raft/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
command: orderer start
|
||||||
|
|
||||||
|
orderer1.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: orderer-base
|
||||||
|
container_name: orderer1.example.com
|
||||||
|
hostname: orderer1.example.com
|
||||||
|
ports:
|
||||||
|
- "8050:7050"
|
||||||
|
environment:
|
||||||
|
- ORDERER_GENERAL_CLUSTER_SENDBUFFERSIZE=10
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
|
- ./raft/channel-artifacts/orderer1.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
command: orderer start
|
||||||
|
|
||||||
|
orderer2.example.com: # There can be multiple orderers
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: orderer-base
|
||||||
|
container_name: orderer2.example.com
|
||||||
|
hostname: orderer2.example.com
|
||||||
|
ports:
|
||||||
|
- "9050:7050"
|
||||||
|
environment:
|
||||||
|
- ORDERER_GENERAL_CLUSTER_SENDBUFFERSIZE=10
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
|
- ./raft/channel-artifacts/orderer2.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
command: orderer start
|
||||||
|
|
||||||
|
## following are peer nodes ##
|
||||||
|
|
||||||
|
peer0.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer0.org1.example.com
|
||||||
|
hostname: peer0.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
- FABRIC_LOGGING_SPEC=DEBUG
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 7051:7051
|
||||||
|
|
||||||
|
peer1.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer1.org1.example.com
|
||||||
|
hostname: peer1.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 8051:7051
|
||||||
|
|
||||||
|
peer0.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer0.org2.example.com
|
||||||
|
hostname: peer0.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 9051:7051
|
||||||
|
|
||||||
|
peer1.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: peer-base
|
||||||
|
container_name: peer1.org2.example.com
|
||||||
|
hostname: peer1.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- 10051:7051
|
||||||
|
|
||||||
|
cli:
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: cli-base
|
||||||
|
container_name: fabric-cli
|
||||||
|
hostname: fabric-cli
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=fabric-cli
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||||
|
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||||
|
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||||
|
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||||
|
volumes:
|
||||||
|
- ./scripts:/tmp/scripts
|
||||||
|
- ./crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||||
|
- ./crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||||
|
- ./raft/channel-artifacts:/tmp/channel-artifacts
|
||||||
|
- ./raft/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||||
|
- ./examples:/go/src/examples
|
||||||
|
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
|
@ -0,0 +1,190 @@
|
||||||
|
# All elements in this file should depend on the base.yaml
|
||||||
|
# Provided solo-base fabric network with:
|
||||||
|
|
||||||
|
# ca.org1.example.com
|
||||||
|
# ca.org2.example.com
|
||||||
|
# orderer.example.com
|
||||||
|
# peer0.org1.example.com
|
||||||
|
# peer1.org1.example.com
|
||||||
|
# peer0.org2.example.com
|
||||||
|
# peer1.org2.example.com
|
||||||
|
# cli
|
||||||
|
|
||||||
|
version: '2' # v3 does not support 'extends' yet
|
||||||
|
|
||||||
|
services:
|
||||||
|
ca.org1.example.com: # ca node for org1
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: ca-base
|
||||||
|
container_name: ca.org1.example.com
|
||||||
|
hostname: ca.org1.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||||
|
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||||
|
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||||
|
ports:
|
||||||
|
- "7054:7054"
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||||
|
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||||
|
|
||||||
|
ca.org2.example.com: # ca node for org2
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: ca-base
|
||||||
|
container_name: ca.org2.example.com
|
||||||
|
hostname: ca.org2.example.com
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||||
|
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||||
|
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||||
|
ports:
|
||||||
|
- "8054:7054"
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||||
|
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||||
|
|
||||||
|
orderer0.example.com: # orderer in solo mode
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: orderer-base
|
||||||
|
container_name: orderer0.example.com
|
||||||
|
hostname: orderer0.example.com
|
||||||
|
ports:
|
||||||
|
- "7050:7050"
|
||||||
|
- "8443:8443"
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp:/var/hyperledger/orderer/msp
|
||||||
|
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/:/var/hyperledger/orderer/tls
|
||||||
|
- ./solo/channel-artifacts/orderer0.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
|
||||||
|
## following are peer nodes ##
|
||||||
|
|
||||||
|
peer0.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: peer.yaml
|
||||||
|
service: peer-solo
|
||||||
|
container_name: peer0.org1.example.com
|
||||||
|
hostname: peer0.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- "7051:7051"
|
||||||
|
- "7052:7052"
|
||||||
|
- "7053:7053"
|
||||||
|
- "9443:9443"
|
||||||
|
|
||||||
|
peer1.org1.example.com:
|
||||||
|
extends:
|
||||||
|
file: peer.yaml
|
||||||
|
service: peer-solo
|
||||||
|
container_name: peer1.org1.example.com
|
||||||
|
hostname: peer1.org1.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org1.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- "8051:7051"
|
||||||
|
- "8052:7052"
|
||||||
|
- "8053:7053"
|
||||||
|
|
||||||
|
peer0.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: peer.yaml
|
||||||
|
service: peer-solo
|
||||||
|
container_name: peer0.org2.example.com
|
||||||
|
hostname: peer0.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- "9051:7051"
|
||||||
|
- "9052:7052"
|
||||||
|
- "9053:7053"
|
||||||
|
|
||||||
|
peer1.org2.example.com:
|
||||||
|
extends:
|
||||||
|
file: peer.yaml
|
||||||
|
service: peer-solo
|
||||||
|
container_name: peer1.org2.example.com
|
||||||
|
hostname: peer1.org2.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer1.org2.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- "10051:7051"
|
||||||
|
- "10052:7052"
|
||||||
|
- "10053:7053"
|
||||||
|
|
||||||
|
peer0.org3.example.com:
|
||||||
|
extends:
|
||||||
|
file: peer.yaml
|
||||||
|
service: peer-solo
|
||||||
|
container_name: peer0.org3.example.com
|
||||||
|
hostname: peer0.org3.example.com
|
||||||
|
environment:
|
||||||
|
- CORE_PEER_ID=peer0.org3.example.com
|
||||||
|
- CORE_PEER_ADDRESS=peer0.org3.example.com:7051
|
||||||
|
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org3.example.com:7052
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org3.example.com:7051
|
||||||
|
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org3.example.com:7051
|
||||||
|
- CORE_PEER_LOCALMSPID=Org3MSP
|
||||||
|
volumes:
|
||||||
|
- ./crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/msp:/etc/hyperledger/fabric/msp
|
||||||
|
- ./crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls:/etc/hyperledger/fabric/tls
|
||||||
|
ports:
|
||||||
|
- "11051:7051"
|
||||||
|
- "11052:7052"
|
||||||
|
- "11053:7053"
|
||||||
|
|
||||||
|
cli: # client node
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: cli-base
|
||||||
|
container_name: fabric-cli
|
||||||
|
hostname: fabric-cli
|
||||||
|
volumes:
|
||||||
|
- ./scripts:/tmp/scripts
|
||||||
|
- ./crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||||
|
- ./crypto-config:/etc/hyperledger/fabric/crypto-config
|
||||||
|
- ./solo/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||||
|
- ./solo/channel-artifacts:/tmp/channel-artifacts
|
||||||
|
- ./examples:/opt/gopath/src/examples
|
||||||
|
|
||||||
|
prometheus: # prometheus will pull metrics from fabric
|
||||||
|
extends:
|
||||||
|
file: base.yaml
|
||||||
|
service: prometheus
|
||||||
|
container_name: prometheus
|
||||||
|
hostname: prometheus
|
||||||
|
ports:
|
||||||
|
- "9090:9090"
|
|
@ -0,0 +1,165 @@
|
||||||
|
# Contains the base template for all Hyperledger Fabric services
|
||||||
|
# Never directly use services in this template, but inherent
|
||||||
|
# All services are abstract without any names, config or port mapping
|
||||||
|
# https://github.com/yeasy/docker-compose-files
|
||||||
|
#
|
||||||
|
# * ca-base: base for fabric-ca
|
||||||
|
# * orderer-base: base for fabric-orderer
|
||||||
|
# * peer-base: base for fabric-peer
|
||||||
|
# * cli-base: base for fabric peer client
|
||||||
|
# * event-listener-base: base for fabric eventhub listener
|
||||||
|
# * kafka-base: base for kafka
|
||||||
|
# * zookeeper-base: base for fabric-zookeeper
|
||||||
|
# * couchdb-base: base for couchdb
|
||||||
|
# * explorer-base: base for Hyperledger blockchain-explorer
|
||||||
|
# * mysql-base: base for MySQL
|
||||||
|
|
||||||
|
version: '2' # compose v3 still doesn't support `extends`, shame!
|
||||||
|
|
||||||
|
services:
|
||||||
|
ca-base:
|
||||||
|
image: yeasy/hyperledger-fabric-ca:${FABRIC_IMG_TAG}
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
environment:
|
||||||
|
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
|
||||||
|
- FABRIC_CA_SERVER_TLS_ENABLED=true # change to false to disable TLS
|
||||||
|
|
||||||
|
orderer-base:
|
||||||
|
image: yeasy/hyperledger-fabric-orderer:${FABRIC_IMG_TAG}
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
# Default config can be found at https://github.com/hyperledger/fabric/blob/master/orderer/common/localconfig/config.go
|
||||||
|
environment:
|
||||||
|
- FABRIC_LOGGING_SPEC=INFO # default: INFO
|
||||||
|
- FABRIC_LOGGING_FORMAT="%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}"
|
||||||
|
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 # default: 127.0.0.1
|
||||||
|
- ORDERER_GENERAL_LISTENPORT=7050
|
||||||
|
- ORDERER_GENERAL_GENESISMETHOD=file # default: provisional
|
||||||
|
- ORDERER_GENERAL_BOOTSTRAPFILE=/var/hyperledger/orderer/orderer.genesis.block
|
||||||
|
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP # default: DEFAULT
|
||||||
|
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
|
||||||
|
- ORDERER_GENERAL_LEDGERTYPE=file
|
||||||
|
#- ORDERER_GENERAL_LEDGERTYPE=json # default: file
|
||||||
|
- ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443 # operation RESTful API
|
||||||
|
- ORDERER_METRICS_PROVIDER=prometheus # prometheus will pull metrics from orderer via /metrics RESTful API
|
||||||
|
#- ORDERER_RAMLEDGER_HISTORY_SIZE=100 #only useful when use ram ledger
|
||||||
|
# enabled TLS
|
||||||
|
- ORDERER_GENERAL_TLS_ENABLED=true # default: false
|
||||||
|
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||||
|
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
|
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||||
|
# Only required by raft mode
|
||||||
|
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
|
||||||
|
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
|
||||||
|
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
|
||||||
|
#volumes:
|
||||||
|
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
|
expose:
|
||||||
|
- "7050" # gRPC
|
||||||
|
- "8443" # Operation REST
|
||||||
|
#command: bash -c 'bash /tmp/orderer_build.sh; orderer start' # use this if to debug orderer
|
||||||
|
command: orderer start
|
||||||
|
|
||||||
|
peer-base: # abstract base for fabric-peer, will be used in peer.yaml
|
||||||
|
image: yeasy/hyperledger-fabric-peer:${FABRIC_IMG_TAG}
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
environment:
|
||||||
|
- FABRIC_LOGGING_SPEC=INFO
|
||||||
|
- FABRIC_LOGGING_FORMAT="%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}"
|
||||||
|
- CORE_PEER_ADDRESSAUTODETECT=false
|
||||||
|
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${NETWORK} # uncomment this to use specific network
|
||||||
|
- CORE_PEER_GOSSIP_USELEADERELECTION=true
|
||||||
|
- CORE_PEER_GOSSIP_ORGLEADER=false # whether this node is the org leader, default to false
|
||||||
|
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=0.0.0.0:7051 # change to external addr for peers in other orgs
|
||||||
|
- CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:9443 # operation RESTful API
|
||||||
|
- CORE_METRICS_PROVIDER=prometheus # prometheus will pull metrics from fabric via /metrics RESTful API
|
||||||
|
- CORE_PEER_PROFILE_ENABLED=false
|
||||||
|
- CORE_PEER_TLS_ENABLED=true
|
||||||
|
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
|
||||||
|
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
|
||||||
|
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
|
||||||
|
- CORE_CHIANCODE_BUILDER=hyperledger/fabric-ccenv:${FABRIC_IMG_TAG}
|
||||||
|
- CORE_CHIANCODE_NODE_RUNTIME=hyperledger/fabric-nodeenv:${FABRIC_IMG_TAG}
|
||||||
|
- FABRIC_LOGGING_SPEC=DEBUG
|
||||||
|
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{longpkg}] %{callpath} -> %{level:.4s}%{color:reset} %{message}
|
||||||
|
volumes:
|
||||||
|
#- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||||
|
# docker.sock is mapped as the default CORE_VM_ENDPOINT
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
expose:
|
||||||
|
- "7051" # gRPC
|
||||||
|
- "9443" # Operation REST
|
||||||
|
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
||||||
|
command: peer node start
|
||||||
|
|
||||||
|
cli-base:
|
||||||
|
image: yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
- FABRIC_LOGGING_SPEC=DEBUG
|
||||||
|
- FABRIC_LOGGING_FORMAT=%{color}[%{id:03x} %{time:01-02 15:04:05.00 MST}] [%{module}] %{shortfunc} -> %{level:.4s}%{color:reset} %{message}
|
||||||
|
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
|
||||||
|
- ORDERER_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
|
||||||
|
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
||||||
|
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
|
||||||
|
|
||||||
|
prometheus: # prometheus will pull metrics from fabric
|
||||||
|
image: prom/prometheus:v2.6.0
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
tty: true
|
||||||
|
volumes:
|
||||||
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||||
|
|
||||||
|
zookeeper-base:
|
||||||
|
image: hyperledger/fabric-zookeeper:${EXT_IMG_TAG}
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
tty: true
|
||||||
|
expose:
|
||||||
|
- '2181'
|
||||||
|
- '2888'
|
||||||
|
- '3888'
|
||||||
|
|
||||||
|
kafka-base:
|
||||||
|
# official repo doesn't have 1.1.0-alpha tag, however, kafka changes version recently
|
||||||
|
#image: yeasy/hyperledger-fabric-kafka:0.10.2.0
|
||||||
|
image: hyperledger/fabric-kafka:${EXT_IMG_TAG}
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
- KAFKA_MESSAGE_MAX_BYTES=1048576 # 1 * 1024 * 1024 B
|
||||||
|
- KAFKA_REPLICA_FETCH_MAX_BYTES=1048576 # 1 * 1024 * 1024 B
|
||||||
|
- KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
|
||||||
|
- KAFKA_LOG_RETENTION_MS=-1
|
||||||
|
expose:
|
||||||
|
- '9092'
|
||||||
|
|
||||||
|
couchdb-base:
|
||||||
|
image: hyperledger/fabric-couchdb:${EXT_IMG_TAG}
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
tty: true
|
||||||
|
|
||||||
|
explorer-base:
|
||||||
|
image: yeasy/blockchain-explorer:0.1.0-preview # Till we have official image
|
||||||
|
expose:
|
||||||
|
- "8080" # HTTP port
|
||||||
|
command: bash -c 'sleep 10; node main.js'
|
||||||
|
|
||||||
|
mysql-base: # mysql service
|
||||||
|
image: mysql:8.0
|
||||||
|
restart: always
|
||||||
|
network_mode: ${NETWORK}
|
||||||
|
expose:
|
||||||
|
- "3306"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
external:
|
||||||
|
name: ${NETWORK}
|
|
@ -0,0 +1,112 @@
|
||||||
|
# Copyright IBM Corp. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# "OrdererOrgs" - Definition of organizations managing orderer nodes
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
OrdererOrgs:
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Orderer
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
- Name: Orderer
|
||||||
|
Domain: example.com
|
||||||
|
CA:
|
||||||
|
Country: US
|
||||||
|
Province: California
|
||||||
|
Locality: San Francisco
|
||||||
|
# Template:
|
||||||
|
# Count: 2
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# "Specs" - See OrdererOrgs below for complete description
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
Specs:
|
||||||
|
- Hostname: orderer0
|
||||||
|
- Hostname: orderer1
|
||||||
|
- Hostname: orderer2
|
||||||
|
- Hostname: orderer3
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# "PeerOrgs" - Definition of organizations managing peer nodes
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
PeerOrgs:
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Org1
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
- Name: Org1
|
||||||
|
Domain: org1.example.com
|
||||||
|
EnableNodeOUs: true
|
||||||
|
CA:
|
||||||
|
Country: US
|
||||||
|
Province: California
|
||||||
|
Locality: San Francisco
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# "Specs"
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Uncomment this section to enable the explicit definition of hosts in your
|
||||||
|
# configuration. Most users will want to use Template, below
|
||||||
|
#
|
||||||
|
# Specs is an array of Spec entries. Each Spec entry consists of two fields:
|
||||||
|
# - Hostname: (Required) The desired hostname, sans the domain.
|
||||||
|
# - CommonName: (Optional) Specifies the template or explicit override for
|
||||||
|
# the CN. By default, this is the template:
|
||||||
|
#
|
||||||
|
# "{{.Hostname}}.{{.Domain}}"
|
||||||
|
#
|
||||||
|
# which obtains its values from the Spec.Hostname and
|
||||||
|
# Org.Domain, respectively.
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Specs:
|
||||||
|
# - Hostname: foo # implicitly "foo.org1.example.com"
|
||||||
|
# CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above
|
||||||
|
# - Hostname: bar
|
||||||
|
# - Hostname: baz
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# "Template"
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Allows for the definition of 1 or more hosts that are created sequentially
|
||||||
|
# from a template. By default, this looks like "peer%d" from 0 to Count-1.
|
||||||
|
# You may override the number of nodes (Count), the starting index (Start)
|
||||||
|
# or the template used to construct the name (Hostname).
|
||||||
|
#
|
||||||
|
# Note: Template and Specs are not mutually exclusive. You may define both
|
||||||
|
# sections and the aggregate nodes will be created for you. Take care with
|
||||||
|
# name collisions
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
Template:
|
||||||
|
Count: 2
|
||||||
|
# Start: 5
|
||||||
|
# Hostname: {{.Prefix}}{{.Index}} # default
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# "Users"
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Count: The number of user accounts _in addition_ to Admin
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
Users:
|
||||||
|
Count: 1
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Org2: See "Org1" for full specification
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
- Name: Org2
|
||||||
|
Domain: org2.example.com
|
||||||
|
EnableNodeOUs: true
|
||||||
|
CA:
|
||||||
|
Country: US
|
||||||
|
Province: California
|
||||||
|
Locality: San Francisco
|
||||||
|
Template:
|
||||||
|
Count: 2
|
||||||
|
Users:
|
||||||
|
Count: 1
|
||||||
|
|
||||||
|
- Name: Org3
|
||||||
|
Domain: org3.example.com
|
||||||
|
EnableNodeOUs: true
|
||||||
|
CA:
|
||||||
|
Country: US
|
||||||
|
Province: California
|
||||||
|
Locality: San Francisco
|
||||||
|
Template:
|
||||||
|
Count: 2
|
||||||
|
Users:
|
||||||
|
Count: 1
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||||
|
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||||
|
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||||
|
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||||
|
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||||
|
wBo=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgs5hMqWm1yqAkSCNu
|
||||||
|
hZZilgCMH5E2n+cQ4IX6ubPDoOShRANCAARP7jJS5cOCA0cXbHRS+B2IrP7qG5kf
|
||||||
|
ijD5iO1IHpEnAB3bQrvEDX3N2XJKTxy/nDOh6atHBK3UXDN2twByIJeZ
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||||
|
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||||
|
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||||
|
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||||
|
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||||
|
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||||
|
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||||
|
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||||
|
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||||
|
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||||
|
wBo=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||||
|
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||||
|
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||||
|
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||||
|
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||||
|
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||||
|
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||||
|
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||||
|
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||||
|
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||||
|
wBo=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg2H9euQ0TOrNYBx0y
|
||||||
|
SNigNcW6XcRaYBCVuoqKBFV3gbuhRANCAATR8y7LnWAGsNntkO26NIqueqy3NnVK
|
||||||
|
lWO2nMImTN2ZjAyC5l6t1g8glLZxOVsni/+lc3Thj+GYS1AvHzYz1Qns
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICDjCCAbSgAwIBAgIRAPcQLxF/5LE2bv7G7mtguqowCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMR0wGwYDVQQDExRvcmRlcmVyMC5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
|
||||||
|
CCqGSM49AwEHA0IABNHzLsudYAaw2e2Q7bo0iq56rLc2dUqVY7acwiZM3ZmMDILm
|
||||||
|
Xq3WDyCUtnE5WyeL/6VzdOGP4ZhLUC8fNjPVCeyjTTBLMA4GA1UdDwEB/wQEAwIH
|
||||||
|
gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYL
|
||||||
|
EiXwkW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQDbF6XJfey6uj2rogCTu0NZ
|
||||||
|
H+3fSzzkMmx/KK2k664SYAIgfsZZ/yFnMKCpPsBYRYZbKnLWWO8/rHF7xCC+F/1e
|
||||||
|
jaA=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICfTCCAiOgAwIBAgIRAMXtFgoPoQ9Oq9ZO26mAQDswCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMC5leGFtcGxlLmNvbTBZMBMGByqGSM49
|
||||||
|
AgEGCCqGSM49AwEHA0IABF2FZUTPTKvYXytgD0drgzWwkjxb9ol2MDRZ/zey8xJH
|
||||||
|
4+IL9x6VUpixLZ5nbqwiNWmZtwiPsfQmsSYQYbNDq7ajgbgwgbUwDgYDVR0PAQH/
|
||||||
|
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
|
||||||
|
AjAAMCsGA1UdIwQkMCKAIC37huDPT4ie2qFr9rDF6oINFM3Z1E9GxFbw01z76TOo
|
||||||
|
MEkGA1UdEQRCMECCFG9yZGVyZXIwLmV4YW1wbGUuY29tgghvcmRlcmVyMIIUb3Jk
|
||||||
|
ZXJlcjAuZXhhbXBsZS5jb22CCG9yZGVyZXIwMAoGCCqGSM49BAMCA0gAMEUCIQC2
|
||||||
|
ltcQwBeDnbFTnscfCCUTOoroFYR77W5m4s80sonUtwIgYG5WGJCOn8g2M+RwWeH9
|
||||||
|
4fR+9nugg7rgv/qs5VIkD8s=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgUaRVs14w2HuJ++Yu
|
||||||
|
laaVz88ArTOXr1O2n6ANDO7dc66hRANCAARdhWVEz0yr2F8rYA9Ha4M1sJI8W/aJ
|
||||||
|
djA0Wf83svMSR+PiC/celVKYsS2eZ26sIjVpmbcIj7H0JrEmEGGzQ6u2
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||||
|
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||||
|
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||||
|
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||||
|
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||||
|
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||||
|
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||||
|
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||||
|
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||||
|
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||||
|
wBo=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgpPwNtKwxh4M0dx4X
|
||||||
|
t/BSt9MYNDRTnTvM3ZIbONjNS+ShRANCAARae5ejNvy9iGYcVAPmZV5gFIVtIGAg
|
||||||
|
J8LdHbH/twTu5DkFah2B+grC+KVX1vUE0I51dyOKVMmLHqbypHjtd1hV
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICDDCCAbOgAwIBAgIQFQeBAgerS7aDSySdl9sV6TAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowWTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xHTAbBgNVBAMTFG9yZGVyZXIxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
|
||||||
|
KoZIzj0DAQcDQgAEWnuXozb8vYhmHFQD5mVeYBSFbSBgICfC3R2x/7cE7uQ5BWod
|
||||||
|
gfoKwvilV9b1BNCOdXcjilTJix6m8qR47XdYVaNNMEswDgYDVR0PAQH/BAQDAgeA
|
||||||
|
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDRwAwRAIgehXv+eyIl57k2KvBvPypGyxI
|
||||||
|
0nn7xK1DbWa9byHZozoCIDuxA3LkDmJyZhCRUaIzYQTA21113DEZ/alyYvo3sjux
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICfDCCAiOgAwIBAgIRAPjaV85RtxdtCGwEQP9SdxIwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMS5leGFtcGxlLmNvbTBZMBMGByqGSM49
|
||||||
|
AgEGCCqGSM49AwEHA0IABDR01NIdTCD97nGG7NB5zgcn2dmCh73zLhRF3q2+meo+
|
||||||
|
ARZFrUwWsqgy7fQWJZ2M3Hf5g1f5zdBsop8LrxSsjk6jgbgwgbUwDgYDVR0PAQH/
|
||||||
|
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
|
||||||
|
AjAAMCsGA1UdIwQkMCKAIC37huDPT4ie2qFr9rDF6oINFM3Z1E9GxFbw01z76TOo
|
||||||
|
MEkGA1UdEQRCMECCFG9yZGVyZXIxLmV4YW1wbGUuY29tgghvcmRlcmVyMYIUb3Jk
|
||||||
|
ZXJlcjEuZXhhbXBsZS5jb22CCG9yZGVyZXIxMAoGCCqGSM49BAMCA0cAMEQCIArv
|
||||||
|
P5fPVc6wv2SCYrckJYXTBZWCuv1ZKDmY4irexYkHAiB5nq2n1j9NlsfnIpYMpTJZ
|
||||||
|
W6PFz8sQlgbfYiVmLZRvEw==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg4bi+Hm70tiOydW/1
|
||||||
|
6tmOQu5cquW9WLFr9svB3FGSkiqhRANCAAQ0dNTSHUwg/e5xhuzQec4HJ9nZgoe9
|
||||||
|
8y4URd6tvpnqPgEWRa1MFrKoMu30FiWdjNx3+YNX+c3QbKKfC68UrI5O
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||||
|
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||||
|
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||||
|
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||||
|
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||||
|
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||||
|
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||||
|
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||||
|
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||||
|
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||||
|
wBo=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgd+KSenCvo4vMdpfe
|
||||||
|
t56c/Z16uipKbk8Z2ip7B0kZL3GhRANCAASsDWn0twkrR2tW7wA1fJ/sUMSIWh90
|
||||||
|
V4p/vINccJbOeqTP/XQil50ViHdxoSNWM7TaPlpbGMorWU2hN9lp1+xO
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICDjCCAbSgAwIBAgIRAMecrVUXyDjORUUnQ13ojRQwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMR0wGwYDVQQDExRvcmRlcmVyMi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
|
||||||
|
CCqGSM49AwEHA0IABKwNafS3CStHa1bvADV8n+xQxIhaH3RXin+8g1xwls56pM/9
|
||||||
|
dCKXnRWId3GhI1YztNo+WlsYyitZTaE32WnX7E6jTTBLMA4GA1UdDwEB/wQEAwIH
|
||||||
|
gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYL
|
||||||
|
EiXwkW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQCNZ64eOaeRIzgSTrhdRKG+
|
||||||
|
Vg3HjJTwTUKfPmzswb6fZQIgT6z0HBCYD8OznSCX5h9pl/ro874Ppu1277f9Z1CR
|
||||||
|
P3E=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICfDCCAiKgAwIBAgIQfZTGuePHdfrwmnr4wKi67DAKBggqhkjOPQQDAjBsMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4
|
||||||
|
YW1wbGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowWTELMAkG
|
||||||
|
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu
|
||||||
|
Y2lzY28xHTAbBgNVBAMTFG9yZGVyZXIyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0C
|
||||||
|
AQYIKoZIzj0DAQcDQgAEN6xM56y1yyJVTfbrwMv2/OAZSUn+Wfg2NZkhgE9535QI
|
||||||
|
qlTOIgRcpcAi30EBnRanRpdM8xw0XGkIeX8+nN/kVaOBuDCBtTAOBgNVHQ8BAf8E
|
||||||
|
BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC
|
||||||
|
MAAwKwYDVR0jBCQwIoAgLfuG4M9PiJ7aoWv2sMXqgg0UzdnUT0bEVvDTXPvpM6gw
|
||||||
|
SQYDVR0RBEIwQIIUb3JkZXJlcjIuZXhhbXBsZS5jb22CCG9yZGVyZXIyghRvcmRl
|
||||||
|
cmVyMi5leGFtcGxlLmNvbYIIb3JkZXJlcjIwCgYIKoZIzj0EAwIDSAAwRQIhAP7i
|
||||||
|
+spZ5TGL5VGbKQiyi+e8DungdRnWLXRSVQxIQ+RCAiALmdF8F35KdnQviC42tOZq
|
||||||
|
25e5QFeabZJi4/eHHHDNpg==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgbdbtD7WsfenHLyu8
|
||||||
|
SLh72ZunY85XcheGXS92nimu2KehRANCAAQ3rEznrLXLIlVN9uvAy/b84BlJSf5Z
|
||||||
|
+DY1mSGAT3nflAiqVM4iBFylwCLfQQGdFqdGl0zzHDRcaQh5fz6c3+RV
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||||
|
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||||
|
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||||
|
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||||
|
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||||
|
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||||
|
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||||
|
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||||
|
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||||
|
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||||
|
wBo=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgIs14GY3q+uJX8Ae0
|
||||||
|
gXXx7EydQOwD4VFR2Tuc+pFZ6IqhRANCAAT3A4DgNkbkkKIk2hjwerg+XD6N3FGw
|
||||||
|
t84qNJkNdhIaBrQG51VS0t0ijbTTeD44lvkE2f7pKn2OKxe/h2Q6Yjgh
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICDTCCAbOgAwIBAgIQI7S/Ukgb3NWvBjHn8qbzNDAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowWTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xHTAbBgNVBAMTFG9yZGVyZXIzLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI
|
||||||
|
KoZIzj0DAQcDQgAE9wOA4DZG5JCiJNoY8Hq4Plw+jdxRsLfOKjSZDXYSGga0BudV
|
||||||
|
UtLdIo2003g+OJb5BNn+6Sp9jisXv4dkOmI4IaNNMEswDgYDVR0PAQH/BAQDAgeA
|
||||||
|
MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSAAwRQIhANWHSNkm6uc9uXPYWJc5lE22
|
||||||
|
rlzP43+6cNhxgi53ZCG2AiBuqDKgbbd+NV9YoOxhCdG97jWPU0UQHM6sZmDVWFhr
|
||||||
|
eg==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICfDCCAiOgAwIBAgIRAPzq97HiumS5phNWPVGzwPkwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFkxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMR0wGwYDVQQDExRvcmRlcmVyMy5leGFtcGxlLmNvbTBZMBMGByqGSM49
|
||||||
|
AgEGCCqGSM49AwEHA0IABGzc9sVbVGE2VKx5IBITzInVJ+mGVFRKE1efNiW74EU+
|
||||||
|
QBVyViFykXnrPYNvVsT65i0vgEptDCWQD3fm+EF+dOCjgbgwgbUwDgYDVR0PAQH/
|
||||||
|
BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E
|
||||||
|
AjAAMCsGA1UdIwQkMCKAIC37huDPT4ie2qFr9rDF6oINFM3Z1E9GxFbw01z76TOo
|
||||||
|
MEkGA1UdEQRCMECCFG9yZGVyZXIzLmV4YW1wbGUuY29tgghvcmRlcmVyM4IUb3Jk
|
||||||
|
ZXJlcjMuZXhhbXBsZS5jb22CCG9yZGVyZXIzMAoGCCqGSM49BAMCA0cAMEQCIAID
|
||||||
|
3vddcozKx8eWvrSvKEsg/2cCgNwaAIWX/MR66Vp+AiA7LdXhV8xrAVsm6yCPj61K
|
||||||
|
eJX88O6xTrnccbIvrDQtwQ==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgodVcUPk+QmI7Qs89
|
||||||
|
jZ+FFR5WwAyBLGb1H1YY+4AZSmqhRANCAARs3PbFW1RhNlSseSASE8yJ1SfphlRU
|
||||||
|
ShNXnzYlu+BFPkAVclYhcpF56z2Db1bE+uYtL4BKbQwlkA935vhBfnTg
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjPRbw31FDqsjqW2l
|
||||||
|
/XK0iUYLRN/DcG8Fhw4exEYSNh+hRANCAARUgiXSBQEdN30nO2mj9FTAvEXVcz6P
|
||||||
|
lCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNYUGCL
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||||
|
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||||
|
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||||
|
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||||
|
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||||
|
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICPjCCAeOgAwIBAgIQUu4O/3CefruTj+f4cPpoRTAKBggqhkjOPQQDAjBpMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w
|
||||||
|
bGUuY29tMB4XDTE5MTIyODAwNTEwMFoXDTI5MTIyNTAwNTEwMFowaTELMAkGA1UE
|
||||||
|
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
||||||
|
Y28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE/uMlLlw4IDRxdsdFL4HYis/uob
|
||||||
|
mR+KMPmI7UgekScAHdtCu8QNfc3ZckpPHL+cM6Hpq0cErdRcM3a3AHIgl5mjbTBr
|
||||||
|
MA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
|
||||||
|
DwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgRfPbHeR9F+8Dnh3JA4jp//RddgsS
|
||||||
|
JfCRbYyrQeREkJkwCgYIKoZIzj0EAwIDSQAwRgIhAJ0ZlT8pflUizBRmqsDu6hZG
|
||||||
|
gdwvzGqJxyI5jfaeE3R3AiEAmigcSZT9QweaNF1TFfgTEng8OGKZ99fjfKhc4Afj
|
||||||
|
wBo=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiQsZ+lkIBFb/dV+b
|
||||||
|
eYxxdcy/2J94hI4xh/HqQIG7DLyhRANCAAQm5WaTl7H6pIyWl2pPaQ7W2TizANFf
|
||||||
|
Z2yJsrtJwNdekTOVqSXh+JAcOJEzlX8AxpSfiuV+YLhG1WGZfCMYclWk
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,13 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICCzCCAbGgAwIBAgIRAJwXO+U7EeD61EDWbdg78cgwCgYIKoZIzj0EAwIwaTEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
|
||||||
|
cGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJBgNV
|
||||||
|
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
||||||
|
c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG
|
||||||
|
SM49AwEHA0IABCblZpOXsfqkjJaXak9pDtbZOLMA0V9nbImyu0nA116RM5WpJeH4
|
||||||
|
kBw4kTOVfwDGlJ+K5X5guEbVYZl8IxhyVaSjTTBLMA4GA1UdDwEB/wQEAwIHgDAM
|
||||||
|
BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEXz2x3kfRfvA54dyQOI6f/0XXYLEiXw
|
||||||
|
kW2Mq0HkRJCZMAoGCCqGSM49BAMCA0gAMEUCIQC6skiBvMjEAurpRg85+kD+mTSf
|
||||||
|
VNhNPWkz6ibPGJhsjwIgExujumcplJ4OfXxUwa2jiqVxlJSG+PoWBQn5skCT2+U=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICRDCCAeqgAwIBAgIRAKu1yQhWT98BSYHg9SZjF3MwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMGwxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh
|
||||||
|
bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARUgiXSBQEdN30nO2mj
|
||||||
|
9FTAvEXVcz6PlCxlz0la7qG0f4axoFxtGGKRewCuUZH5Hi6MJUw902t/p4eT/YNY
|
||||||
|
UGCLo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
|
||||||
|
AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIC37huDPT4ie2qFr9rDF
|
||||||
|
6oINFM3Z1E9GxFbw01z76TOoMAoGCCqGSM49BAMCA0gAMEUCIQCWOq7Q9s697DAJ
|
||||||
|
qiJzqtwGH3DbgC6wDtCMoyJJN+YFbQIgUskX6AX2rSaL78iAZsn6iJANyc9wllTL
|
||||||
|
1I8PpAO8LBY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICLTCCAdOgAwIBAgIRAM+AEHeJSBqggOqblHo/5MYwCgYIKoZIzj0EAwIwbDEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l
|
||||||
|
eGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBaMFYxCzAJ
|
||||||
|
BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh
|
||||||
|
bmNpc2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEG
|
||||||
|
CCqGSM49AwEHA0IABKTH6tOIPU8bsz+9o0zSa17HjvccslS83l4ydwsy73PSb9qU
|
||||||
|
Gsv4fafZ8mFhiZ1QVHCOSUXdlRR2sCqId3qLYzajbDBqMA4GA1UdDwEB/wQEAwIF
|
||||||
|
oDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAr
|
||||||
|
BgNVHSMEJDAigCAt+4bgz0+Intqha/awxeqCDRTN2dRPRsRW8NNc++kzqDAKBggq
|
||||||
|
hkjOPQQDAgNIADBFAiEAkoYrfgrhZxiozFt+nTrowynIUVrY41qN+LqPf4MXL08C
|
||||||
|
IHBLsAcfuTTrCOsP/lCwb6FNknLhRJcu6PGAa09RfBa+
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgBPZ52Zhm3JskixRq
|
||||||
|
/C6/EK7n/ZykZwzIU0f2/veIHsqhRANCAASkx+rTiD1PG7M/vaNM0mtex473HLJU
|
||||||
|
vN5eMncLMu9z0m/alBrL+H2n2fJhYYmdUFRwjklF3ZUUdrAqiHd6i2M2
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||||
|
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||||
|
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||||
|
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||||
|
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||||
|
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||||
|
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||||
|
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||||
|
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||||
|
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgNZufJY6J5iZKtdh1
|
||||||
|
whJctstg/ff2C2ACCy9558NcdSChRANCAAQkop/cvYeMmukIDQJOPDM1UT9ssFNK
|
||||||
|
07++Q8F0GQpxXK/aNl4nzAunZHNvGh5a6PITfqFjBsUkzKv2ssRWWYdR
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||||
|
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||||
|
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||||
|
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||||
|
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||||
|
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||||
|
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||||
|
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||||
|
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||||
|
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
NodeOUs:
|
||||||
|
Enable: true
|
||||||
|
ClientOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: client
|
||||||
|
PeerOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: peer
|
||||||
|
AdminOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: admin
|
||||||
|
OrdererOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: orderer
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||||
|
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||||
|
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||||
|
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||||
|
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||||
|
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||||
|
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||||
|
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||||
|
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||||
|
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||||
|
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||||
|
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||||
|
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||||
|
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||||
|
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||||
|
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||||
|
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||||
|
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||||
|
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||||
|
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
NodeOUs:
|
||||||
|
Enable: true
|
||||||
|
ClientOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: client
|
||||||
|
PeerOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: peer
|
||||||
|
AdminOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: admin
|
||||||
|
OrdererOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: orderer
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQggdnwZQ52tHilpK8d
|
||||||
|
WLPqdIDaKjx2E4ma74gAPY7liY+hRANCAAQj29c7Z2DaiAX0bs2S15olqnJJTrvV
|
||||||
|
GIpwic2/c4B0iv7GyfXVZ/tMzr3g7Dv8ZawZTvWhlNlsd/CLlJ8qVpsy
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICJzCCAc6gAwIBAgIQQIM2ou9DqfvkKtiUOZHklTAKBggqhkjOPQQDAjBzMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||||
|
MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||||
|
YW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMC5vcmcx
|
||||||
|
LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEI9vXO2dg2ogF
|
||||||
|
9G7NkteaJapySU671RiKcInNv3OAdIr+xsn11Wf7TM694Ow7/GWsGU71oZTZbHfw
|
||||||
|
i5SfKlabMqNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j
|
||||||
|
BCQwIoAg0y4VvcZCLdSplahOGKT05hcJiRUeoqVmEQhWb+p7yNEwCgYIKoZIzj0E
|
||||||
|
AwIDRwAwRAIgHtaqhr9/bxigCyhuKqYqDztw3uE11quIZ7drkaY/mvQCIGVtipl+
|
||||||
|
O8Vy84ulTRlvtafD5eVJuq6IrP9BroFxu1DJ
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||||
|
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||||
|
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||||
|
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||||
|
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||||
|
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||||
|
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||||
|
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||||
|
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||||
|
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||||
|
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||||
|
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||||
|
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||||
|
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||||
|
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||||
|
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||||
|
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||||
|
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||||
|
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||||
|
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||||
|
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIChzCCAi2gAwIBAgIRANgPf/v+85TtKkvIXJXKsBcwCgYIKoZIzj0EAwIwdjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
|
||||||
|
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkxMjI4MDA1MTAwWhcNMjkxMjI1MDA1
|
||||||
|
MTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
|
||||||
|
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAub3JnMS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHP25tKEyBKTWeQtlo+TuLiSys7M
|
||||||
|
V9/MJHLDaJ5M/aEw8H6eyCYr9tKC+nMcySZfFgY0aNx0uYF+hT7faN9o2mCjgbYw
|
||||||
|
gbMwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
|
||||||
|
AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIObH9ZKGdOwInjw4YsumDBatcQfd
|
||||||
|
aT6m9fZDx3lYCFObMEcGA1UdEQRAMD6CFnBlZXIwLm9yZzEuZXhhbXBsZS5jb22C
|
||||||
|
BXBlZXIwghZwZWVyMC5vcmcxLmV4YW1wbGUuY29tggVwZWVyMDAKBggqhkjOPQQD
|
||||||
|
AgNIADBFAiEAvxOp3mk+uaxklAFVu+dK7jltpR2W33+rSLUP1qYvzFQCIF6sXLPm
|
||||||
|
7M1lzR54aGqhVHuXHG0gGbo4wBZ5GVz9j5FW
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgUifQU7d8Sl7SVnM1
|
||||||
|
M/i2DyIpKayTf93q+sszUg9741ahRANCAARz9ubShMgSk1nkLZaPk7i4ksrOzFff
|
||||||
|
zCRyw2ieTP2hMPB+nsgmK/bSgvpzHMkmXxYGNGjcdLmBfoU+32jfaNpg
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||||
|
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||||
|
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||||
|
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||||
|
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||||
|
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||||
|
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||||
|
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||||
|
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||||
|
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
NodeOUs:
|
||||||
|
Enable: true
|
||||||
|
ClientOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: client
|
||||||
|
PeerOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: peer
|
||||||
|
AdminOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: admin
|
||||||
|
OrdererOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: orderer
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgDcKHlgVvEdA8DaKO
|
||||||
|
UxL0hUcgM0nuPd9YtZl2SKk5VXWhRANCAASLee2bCqa1H4ELqQ16l3FDY/0KJTRL
|
||||||
|
kcbHCnmsoSJco55nEP8ANsppiJcV2Y35LzWKti0s+Nxq3VVRWjYiWxV7
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICKDCCAc+gAwIBAgIRAL6UJxau6L+P+ZjjcRQ8/hAwCgYIKoZIzj0EAwIwczEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
|
||||||
|
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTkxMjI4MDA1MTAwWhcNMjkxMjI1MDA1MTAw
|
||||||
|
WjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
|
||||||
|
U2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjEub3Jn
|
||||||
|
MS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIt57ZsKprUf
|
||||||
|
gQupDXqXcUNj/QolNEuRxscKeayhIlyjnmcQ/wA2ymmIlxXZjfkvNYq2LSz43Grd
|
||||||
|
VVFaNiJbFXujTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud
|
||||||
|
IwQkMCKAINMuFb3GQi3UqZWoThik9OYXCYkVHqKlZhEIVm/qe8jRMAoGCCqGSM49
|
||||||
|
BAMCA0cAMEQCIA1SKdLR6URj5OwCzKZhR4V/TOGLsL77sYN8KeuvY1GSAiBPsdGr
|
||||||
|
2V46NzLoCm8sAXKYAKp9KQtANPw5s1hOdxhUHg==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||||
|
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||||
|
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||||
|
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||||
|
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||||
|
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||||
|
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||||
|
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||||
|
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||||
|
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||||
|
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||||
|
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||||
|
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||||
|
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||||
|
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||||
|
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||||
|
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||||
|
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||||
|
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||||
|
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||||
|
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,16 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIChjCCAi2gAwIBAgIRAPBugYzQz6gS0Bc4FXQX5aQwCgYIKoZIzj0EAwIwdjEL
|
||||||
|
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
|
||||||
|
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs
|
||||||
|
c2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTkxMjI4MDA1MTAwWhcNMjkxMjI1MDA1
|
||||||
|
MTAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE
|
||||||
|
BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjEub3JnMS5leGFtcGxlLmNv
|
||||||
|
bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH8sryo9uJjooklsjtgWTBKGD+AZ
|
||||||
|
btg/ZfYaABi1bncPIHfmFiWA6dQfMCmUQM265sBirsEiWNSSmYWgaIzskE2jgbYw
|
||||||
|
gbMwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
|
||||||
|
AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIObH9ZKGdOwInjw4YsumDBatcQfd
|
||||||
|
aT6m9fZDx3lYCFObMEcGA1UdEQRAMD6CFnBlZXIxLm9yZzEuZXhhbXBsZS5jb22C
|
||||||
|
BXBlZXIxghZwZWVyMS5vcmcxLmV4YW1wbGUuY29tggVwZWVyMTAKBggqhkjOPQQD
|
||||||
|
AgNHADBEAiA4G37nuh0AgV1lqnngP0eJ1B1K+9u9KmB4Z04sUWswSgIgFgryHRfs
|
||||||
|
DIIhrlsxnTx1PBGdCbX9CtDbyRkWEgnWC7c=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgr0ifEvi/W/JyW5pD
|
||||||
|
sxyNRKQRTTkD0TkWUgCTjrCwSiOhRANCAAR/LK8qPbiY6KJJbI7YFkwShg/gGW7Y
|
||||||
|
P2X2GgAYtW53DyB35hYlgOnUHzAplEDNuubAYq7BIljUkpmFoGiM7JBN
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMTGO8zhf6nmY9V9b
|
||||||
|
I7YkqTgW5OEiapSKFmqlv6WDmnKhRANCAATkkeOmj6rqs6n7hAa8iqHA2j1lVz3h
|
||||||
|
TuJQvreeJV78DpgWrLj6sWuCqzYxfcK5zCNNGIejRMeD6NgcdhSm3HWu
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICVjCCAf2gAwIBAgIQcfOQWk9N1hlErPmbovYUdTAKBggqhkjOPQQDAjB2MQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
|
||||||
|
Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUx
|
||||||
|
MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
|
||||||
|
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
|
||||||
|
VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
|
||||||
|
AQcDQgAE5JHjpo+q6rOp+4QGvIqhwNo9ZVc94U7iUL63niVe/A6YFqy4+rFrgqs2
|
||||||
|
MX3CucwjTRiHo0THg+jYHHYUptx1rqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
|
||||||
|
JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
|
||||||
|
DgQiBCDmx/WShnTsCJ48OGLLpgwWrXEH3Wk+pvX2Q8d5WAhTmzAKBggqhkjOPQQD
|
||||||
|
AgNHADBEAiAu2vRTsvIXFRJ+VdmYSh++rTTUdRQqyRrCOVpbefVW9wIgdf0bUM41
|
||||||
|
qAp45pdE55MWZaAJtJ/QsXGi9tvkIDjoei0=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,15 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICUTCCAfegAwIBAgIQfMtqJpvCGTzjpT2VwLq7BzAKBggqhkjOPQQDAjBzMQsw
|
||||||
|
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
|
||||||
|
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
|
||||||
|
b3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMjgwMDUxMDBaFw0yOTEyMjUwMDUxMDBa
|
||||||
|
MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
|
||||||
|
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD
|
||||||
|
ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
|
||||||
|
JKKf3L2HjJrpCA0CTjwzNVE/bLBTStO/vkPBdBkKcVyv2jZeJ8wLp2RzbxoeWujy
|
||||||
|
E36hYwbFJMyr9rLEVlmHUaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG
|
||||||
|
CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDT
|
||||||
|
LhW9xkIt1KmVqE4YpPTmFwmJFR6ipWYRCFZv6nvI0TAKBggqhkjOPQQDAgNIADBF
|
||||||
|
AiByuDBOlaxW6EZoTdjnjM6wSyfsPCxsJi3iAlb+IbFdeQIhAKhCSieyLpwTEt1A
|
||||||
|
5V2H4rwYNGu5Kw0KYkSr1mZ/IlNJ
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,14 @@
|
||||||
|
NodeOUs:
|
||||||
|
Enable: true
|
||||||
|
ClientOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: client
|
||||||
|
PeerOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: peer
|
||||||
|
AdminOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: admin
|
||||||
|
OrdererOUIdentifier:
|
||||||
|
Certificate: cacerts/ca.org1.example.com-cert.pem
|
||||||
|
OrganizationalUnitIdentifier: orderer
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue