├── chaincode ├── chaincode_test.go └── citizensChain.go ├── common └── data.go ├── fabric-service ├── .env ├── all.log ├── artifacts │ ├── FBImspanchors.tx │ ├── citizens.tx │ └── orderer.genesis.block ├── bin │ ├── configtxgen │ └── cryptogen ├── bulid.sh ├── configtx.yaml ├── crypto-config.yaml ├── crypto-config │ ├── ordererOrganizations │ │ └── citizens.com │ │ │ ├── ca │ │ │ ├── 47f0259da4e4e873aa41c792556099114939bd866cc37b8cec493e3102c92c99_sk │ │ │ └── ca.citizens.com-cert.pem │ │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@citizens.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.citizens.com-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.citizens.com-cert.pem │ │ │ ├── orderers │ │ │ └── orderer.citizens.com │ │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@citizens.com-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.citizens.com-cert.pem │ │ │ │ ├── keystore │ │ │ │ │ └── 0a1d58621830a46a59bf9715b4ac5c4e735de7d4764c673b7f0ce705c9e9daf3_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── orderer.citizens.com-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.citizens.com-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ │ ├── tlsca │ │ │ ├── 05b98bce76749b7fc0bb480a57dd68982a44fa0b154751faae9eb3aa0e7df7d1_sk │ │ │ └── tlsca.citizens.com-cert.pem │ │ │ └── users │ │ │ └── Admin@citizens.com │ │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@citizens.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.citizens.com-cert.pem │ │ │ ├── keystore │ │ │ │ └── 69e1d51f56dbccd6b54386f27e0ac7cfb39f4ca34981a89577b9343beda38665_sk │ │ │ ├── signcerts │ │ │ │ └── Admin@citizens.com-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.citizens.com-cert.pem │ │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── client.crt │ │ │ └── client.key │ └── peerOrganizations │ │ └── fbi.citizens.com │ │ ├── ca │ │ ├── 61c37558b4d39442597ce66fb8a87ac8b3a8e0452fb4b22845323c20c10a2651_sk │ │ └── ca.fbi.citizens.com-cert.pem │ │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@fbi.citizens.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.fbi.citizens.com-cert.pem │ │ └── tlscacerts │ │ │ └── tlsca.fbi.citizens.com-cert.pem │ │ ├── peers │ │ ├── peer0.fbi.citizens.com │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@fbi.citizens.com-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.fbi.citizens.com-cert.pem │ │ │ │ ├── keystore │ │ │ │ │ └── 3ecb834704a898d2cbbf6c9bcf64f52db408d991e9b2b2eaef3bec0e44750248_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── peer0.fbi.citizens.com-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.fbi.citizens.com-cert.pem │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ └── peer1.fbi.citizens.com │ │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@fbi.citizens.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.fbi.citizens.com-cert.pem │ │ │ ├── keystore │ │ │ │ └── 0b44e27a93c7f301856e3cdf5bc42daae5fdcc6330a26da40c20ceedf0925d7f_sk │ │ │ ├── signcerts │ │ │ │ └── peer1.fbi.citizens.com-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.fbi.citizens.com-cert.pem │ │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── server.crt │ │ │ └── server.key │ │ ├── tlsca │ │ ├── f1dfe6c61adedb0c99f62ee4fa147d53f19093752b2cabdf90a61fd9803f2c2c_sk │ │ └── tlsca.fbi.citizens.com-cert.pem │ │ └── users │ │ ├── Admin@fbi.citizens.com │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@fbi.citizens.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.fbi.citizens.com-cert.pem │ │ │ ├── keystore │ │ │ │ └── 27310794a32a7118b8ff31d0e181d4267c9aa41973fe7aa1d356a92ed5efd264_sk │ │ │ ├── signcerts │ │ │ │ └── Admin@fbi.citizens.com-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.fbi.citizens.com-cert.pem │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── client.crt │ │ │ └── client.key │ │ ├── User1@fbi.citizens.com │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── User1@fbi.citizens.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.fbi.citizens.com-cert.pem │ │ │ ├── keystore │ │ │ │ └── d4b908f62a3ab145b7a9cbb87f759e7304af8e6f73787b7ed8878f81d357a5e0_sk │ │ │ ├── signcerts │ │ │ │ └── User1@fbi.citizens.com-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.fbi.citizens.com-cert.pem │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── client.crt │ │ │ └── client.key │ │ └── User2@fbi.citizens.com │ │ ├── msp │ │ ├── admincerts │ │ │ └── User2@fbi.citizens.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.fbi.citizens.com-cert.pem │ │ ├── keystore │ │ │ └── 3e7aa857b45e03eab8cfcafaf3439fd11bd4d63cdd8822a0a5ce58453fa7baf7_sk │ │ ├── signcerts │ │ │ └── User2@fbi.citizens.com-cert.pem │ │ └── tlscacerts │ │ │ └── tlsca.fbi.citizens.com-cert.pem │ │ └── tls │ │ ├── ca.crt │ │ ├── client.crt │ │ └── client.key ├── docker-compose.yaml ├── doman.txt ├── start.sh └── stop.sh ├── readme.md └── web-service ├── blockchain ├── invoke.go ├── query.go └── setup.go ├── config.yaml └── main.go /chaincode/chaincode_test.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | /* 4 | Copyright IBM Corp. All Rights Reserved. 5 | 6 | SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | import ( 10 | "encoding/json" 11 | "fmt" 12 | "testing" 13 | 14 | "github.com/hyperledger/fabric/core/chaincode/shim" 15 | ) 16 | 17 | var chaincodeName = "CitizensChain" 18 | 19 | // chaincode_example05 looks like it wanted to return a JSON response to Query() 20 | // it doesn't actually do this though, it just returns the sum value 21 | func jsonResponse(name string, value string) string { 22 | return fmt.Sprintf("jsonResponse = \"{\"Name\":\"%v\",\"Value\":\"%v\"}", name, value) 23 | } 24 | 25 | func checkInit(t *testing.T, stub *shim.MockStub, args [][]byte) { 26 | res := stub.MockInit("1", args) 27 | if res.Status != shim.OK { 28 | fmt.Println("Init failed", string(res.Message)) 29 | t.FailNow() 30 | } 31 | } 32 | 33 | func checkState(t *testing.T, stub *shim.MockStub, name string, expect string) { 34 | bytes := stub.State[name] 35 | if bytes == nil { 36 | fmt.Println("State", name, "failed to get value") 37 | t.FailNow() 38 | } 39 | if string(bytes) != expect { 40 | fmt.Println("State value", name, "was not", expect, "as expected") 41 | t.FailNow() 42 | } 43 | } 44 | 45 | func checkQuery(t *testing.T, stub *shim.MockStub, args [][]byte, expect string) { 46 | res := stub.MockInvoke("1", args) 47 | if res.Status != shim.OK { 48 | fmt.Println("Query", args, "failed", string(res.Message)) 49 | t.FailNow() 50 | } 51 | if res.Payload == nil { 52 | fmt.Println("Query", args, "failed to get result") 53 | t.FailNow() 54 | } 55 | 56 | if string(res.Payload) != expect { 57 | fmt.Println("Query result ", string(res.Payload), "was not", expect, "as expected") 58 | t.FailNow() 59 | } 60 | } 61 | 62 | func checkInvoke(t *testing.T, stub *shim.MockStub, args [][]byte) { 63 | res := stub.MockInvoke("1", args) 64 | if res.Status != shim.OK { 65 | fmt.Println("Invoke", args, "failed", string(res.Message)) 66 | t.FailNow() 67 | } 68 | } 69 | func TestInit(t *testing.T) { 70 | scc := new(CitizensChain) 71 | stub := shim.NewMockStub("CitizensChain", scc) 72 | 73 | checkInit(t, stub, [][]byte{[]byte("init"), []byte("citizensChain")}) 74 | } 75 | 76 | func TestQuery(t *testing.T) { 77 | scc := new(CitizensChain) 78 | stub := shim.NewMockStub("CitizensChain", scc) 79 | 80 | ccEx2 := new(CitizensChain) 81 | stubEx2 := shim.NewMockStub(chaincodeName, ccEx2) 82 | checkInit(t, stubEx2, [][]byte{[]byte("init"), []byte("a"), []byte("111"), []byte("b"), []byte("222")}) 83 | stub.MockPeerChaincode(chaincodeName, stubEx2) 84 | 85 | checkInit(t, stub, [][]byte{[]byte("init"), []byte("sumStoreName"), []byte("0")}) 86 | 87 | // a + b = 111 + 222 = 333 88 | checkQuery(t, stub, [][]byte{[]byte("query"), []byte(chaincodeName), []byte("sumStoreName"), []byte("")}, "333") // example05 doesn't return JSON? 89 | } 90 | 91 | func TestRegister(t *testing.T) { 92 | scc := new(CitizensChain) 93 | stub := shim.NewMockStub("CitizensChain", scc) 94 | checkInit(t, stub, [][]byte{[]byte("init"), []byte("citizensChain")}) 95 | people := People{ 96 | DataType: "citizens", 97 | Id: "535636789302345673", 98 | Sex: "男", 99 | Name: "张三", 100 | BirthLocation: Location{Province: "海南", City: "三亚市", Detail: "天涯海角"}, 101 | LiveLocation: Location{Province: "北京", Town: "朝阳区", Detail: "大悦城"}, 102 | MotherId: "535636789302345671", 103 | FatherId: "535636789302345672", 104 | Childs: []string{"535636789302345674", "535636789302345675"}, 105 | } 106 | b, _ := json.Marshal(people) 107 | checkInvoke(t, stub, [][]byte{[]byte("register"), []byte("535636789302345673"), b}) 108 | checkQuery(t, stub, [][]byte{[]byte("query"), []byte("535636789302345673")}, string(b)) 109 | } 110 | -------------------------------------------------------------------------------- /chaincode/citizensChain.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "log" 7 | 8 | "github.com/hyperledger/fabric/core/chaincode/shim" 9 | "github.com/hyperledger/fabric/protos/peer" 10 | ) 11 | 12 | /** 13 | 个人基础信息 14 | */ 15 | type People struct { 16 | DataType string `json:"dataType"` // 区分数据类型 17 | Id string `json:"id"` // 身份证号码 18 | Sex string `json:"sex"` // 性别 19 | Name string `json:"name"` // 姓名 20 | BirthLocation Location `json:"birthLocation"` // 出生地 21 | LiveLocation Location `json:"liveLocation"` // 现居住地 22 | MotherId string `json:"motherID"` // 母亲身份证号码 23 | FatherId string `json:"fatherID"` // 父亲身份证号码 24 | Childs []string `json:"chailds"` // 子女身份证 25 | } 26 | 27 | /** 28 | 位置 29 | */ 30 | type Location struct { 31 | Country string `json:"country"` // 国家 32 | Province string `json:"province"` // 省 33 | City string `json:"city"` // 城市 34 | Town string `json:"town"` // 镇 35 | Detail string `json:"detail"` // 详细住址 36 | } 37 | 38 | /** 39 | 公民链 40 | 存储公民基础信息 41 | */ 42 | type CitizensChain struct { 43 | } 44 | 45 | /** 46 | 初始化方法 47 | */ 48 | func (c *CitizensChain) Init(stub shim.ChaincodeStubInterface) peer.Response { 49 | log.Println("Init CitizensChain start") 50 | function, args := stub.GetFunctionAndParameters() 51 | if function != "init" { 52 | return shim.Error("function is not define") 53 | } 54 | if len(args) < 1 { 55 | return shim.Error("Incorrect number of arguments. Expecting 1") 56 | } 57 | 58 | if args[0] != "init" { 59 | return shim.Error("args error") 60 | } 61 | log.Println("Init CitizensChain success") 62 | return shim.Success(nil) 63 | } 64 | 65 | /** 66 | 执行查询、插入等方法 67 | */ 68 | func (c *CitizensChain) Invoke(stub shim.ChaincodeStubInterface) peer.Response { 69 | log.Println("========Invoke========") 70 | function, args := stub.GetFunctionAndParameters() 71 | log.Println("========GetFunctionAndParameters========", function, len(args), args) 72 | log.Println(function == "register") 73 | log.Println(function == "query") 74 | 75 | if function == "register" { 76 | log.Println("========register========") 77 | return c.register(stub, args) 78 | } else if function == "query" { 79 | log.Println("========query========") 80 | return c.query(stub, args) 81 | } else { 82 | return shim.Error("function not define hahah") 83 | } 84 | return shim.Success(nil) 85 | } 86 | 87 | /** 88 | 查询公民信息 89 | */ 90 | func (c *CitizensChain) query(stub shim.ChaincodeStubInterface, args []string) peer.Response { 91 | if len(args) < 1 { 92 | return shim.Error("args error") 93 | } 94 | key := args[0] 95 | result, err := stub.GetState(key) 96 | if err != nil { 97 | log.Println(fmt.Sprintf("query fail key:%s err:%s", key, err)) 98 | return shim.Error("query fail") 99 | } 100 | return shim.Success(result) 101 | } 102 | 103 | /** 104 | 录入公民信息 105 | */ 106 | func (c *CitizensChain) register(stub shim.ChaincodeStubInterface, args []string) peer.Response { 107 | if len(args) != 2 { 108 | return shim.Error("args error") 109 | } 110 | // 身份证号码 111 | key := args[0] 112 | // 公民信息(用json保存) 113 | value := args[1] 114 | 115 | people := People{} 116 | err := json.Unmarshal([]byte(value), &people) 117 | if err != nil { 118 | return shim.Error("register fail, parameters cannot be parsed into json objects") 119 | } 120 | stub.PutState(key, []byte(value)) 121 | log.Println(key, args) 122 | return shim.Success(nil) 123 | } 124 | 125 | func main() { 126 | err := shim.Start(new(CitizensChain)) 127 | if err != nil { 128 | log.Println(err) 129 | } 130 | 131 | } 132 | -------------------------------------------------------------------------------- /common/data.go: -------------------------------------------------------------------------------- 1 | package common 2 | 3 | /** 4 | 个人基础信息 5 | */ 6 | type People struct { 7 | DataType string `json:"dataType"` // 区分数据类型 8 | Id string `json:"id"` // 身份证号码 9 | Sex string `json:"sex"` // 性别 10 | Name string `json:"name"` // 姓名 11 | BirthLocation Location `json:"birthLocation"` // 出生地 12 | LiveLocation Location `json:"liveLocation"` // 现居住地 13 | MotherId string `json:"motherID"` // 母亲身份证号码 14 | FatherId string `json:"fatherID"` // 父亲身份证号码 15 | Childs []string `json:"chailds"` // 子女身份证 16 | } 17 | 18 | /** 19 | 位置 20 | */ 21 | type Location struct { 22 | Country string `json:"country"` // 国家 23 | Province string `json:"province"` // 省 24 | City string `json:"city"` // 城市 25 | Town string `json:"town"` // 镇 26 | Detail string `json:"detail"` // 详细住址 27 | } 28 | -------------------------------------------------------------------------------- /fabric-service/.env: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright SecureKey Technologies Inc. All Rights Reserved. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # This file contains the default images and tags used in the docker-based 8 | # Fabric fixtures. The images and tags can be overridden using environment 9 | # variables. See docker compose documentation. 10 | 11 | # Default architecture for fabric images (excluding baseos & baseimage) 12 | ARCH=x86_64 13 | ARCH_SEP=- 14 | 15 | # Default architecture for fabric base images 16 | BASE_ARCH=x86_64 17 | 18 | CORE_PEER_NETWORKID=citizens 19 | COMPOSE_PROJECT_NAME=citizens 20 | 21 | FABRIC_DOCKER_REGISTRY= 22 | 23 | FABRIC_FIXTURE_VERSION=v1.1 24 | FABRIC_CRYPTOCONFIG_VERSION=v1 25 | 26 | FABRIC_CA_FIXTURE_TAG=1.1.0 27 | FABRIC_ORDERER_FIXTURE_TAG=1.1.0 28 | FABRIC_PEER_FIXTURE_TAG=1.1.0 29 | FABRIC_BUILDER_FIXTURE_TAG=1.1.0 30 | FABRIC_COUCHDB_FIXTURE_TAG=0.4.6 31 | FABRIC_BASEOS_FIXTURE_TAG=x86_64-0.4.6 32 | FABRIC_BASEIMAGE_FIXTURE_TAG=0.4.6 33 | 34 | FABRIC_CA_FIXTURE_IMAGE=hyperledger/fabric-ca 35 | FABRIC_ORDERER_FIXTURE_IMAGE=hyperledger/fabric-orderer 36 | FABRIC_PEER_FIXTURE_IMAGE=hyperledger/fabric-peer 37 | FABRIC_COUCHDB_FIXTURE_IMAGE=hyperledger/fabric-couchdb 38 | FABRIC_BUILDER_FIXTURE_IMAGE=hyperledger/fabric-ccenv 39 | FABRIC_BASEOS_FIXTURE_IMAGE=hyperledger/fabric-baseos 40 | FABRIC_BASEIMAGE_FIXTURE_IMAGE=hyperledger/fabric-baseimage 41 | 42 | 43 | # Default orderer and peer configuration for mutual TLS 44 | CORE_PEER_TLS_CLIENTAUTHREQUIRED=false 45 | CORE_PEER_TLS_CLIENTROOTCAS_FILES= 46 | ORDERER_GENERAL_TLS_CLIENTAUTHENABLED=false 47 | ORDERER_GENERAL_TLS_CLIENTROOTCAS= -------------------------------------------------------------------------------- /fabric-service/all.log: -------------------------------------------------------------------------------- 1 | The FABRIC_ARCH variable is not set. Defaulting to a blank string. 2 | The FABRIC_ARCH_SEP variable is not set. Defaulting to a blank string. 3 | The FABRIC_BASE_DOCKER_REGISTRY variable is not set. Defaulting to a blank string. 4 | Creating network "citizens_default" with the default driver 5 | Creating citizens_orderer_1 ... 6 |  Creating citizens_orderer_1 ... done Creating citizens_FBIpeer2_1 ... 7 | Creating citizens_FBIpeer1_1 ... 8 |  Creating citizens_FBIpeer2_1 ... done  Creating citizens_FBIpeer1_1 ... done Attaching to citizens_orderer_1, citizens_FBIpeer2_1, citizens_FBIpeer1_1 9 | orderer_1 | 2018-09-08 09:29:51.056 UTC [orderer/common/server] prettyPrintStruct -> INFO 001 Orderer config values: 10 | orderer_1 | General.LedgerType = "file" 11 | orderer_1 | General.ListenAddress = "0.0.0.0" 12 | orderer_1 | General.ListenPort = 7050 13 | orderer_1 | General.TLS.Enabled = true 14 | orderer_1 | General.TLS.PrivateKey = "/etc/hyperledger/tls/orderer/server.key" 15 | orderer_1 | General.TLS.Certificate = "/etc/hyperledger/tls/orderer/server.crt" 16 | orderer_1 | General.TLS.RootCAs = [/etc/hyperledger/tls/orderer/ca.crt] 17 | orderer_1 | General.TLS.ClientAuthRequired = false 18 | orderer_1 | General.TLS.ClientRootCAs = [] 19 | orderer_1 | General.Keepalive.ServerMinInterval = 1m0s 20 | orderer_1 | General.Keepalive.ServerInterval = 2h0m0s 21 | orderer_1 | General.Keepalive.ServerTimeout = 20s 22 | orderer_1 | General.GenesisMethod = "file" 23 | orderer_1 | General.GenesisProfile = "SampleInsecureSolo" 24 | orderer_1 | General.SystemChannel = "testchainid" 25 | orderer_1 | General.GenesisFile = "/etc/hyperledger/configtx/orderer.genesis.block" 26 | orderer_1 | General.Profile.Enabled = false 27 | orderer_1 | General.Profile.Address = "0.0.0.0:6060" 28 | orderer_1 | General.LogLevel = "info" 29 | orderer_1 | General.LogFormat = "%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}" 30 | orderer_1 | General.LocalMSPDir = "/etc/hyperledger/msp/orderer" 31 | orderer_1 | General.LocalMSPID = "OrdererMSP" 32 | orderer_1 | General.BCCSP.ProviderName = "SW" 33 | orderer_1 | General.BCCSP.SwOpts.SecLevel = 256 34 | orderer_1 | General.BCCSP.SwOpts.HashFamily = "SHA2" 35 | orderer_1 | General.BCCSP.SwOpts.Ephemeral = false 36 | orderer_1 | General.BCCSP.SwOpts.FileKeystore.KeyStorePath = "/etc/hyperledger/msp/orderer/keystore" 37 | orderer_1 | General.BCCSP.SwOpts.DummyKeystore = 38 | orderer_1 | General.BCCSP.PluginOpts = 39 | orderer_1 | General.BCCSP.Pkcs11Opts = 40 | orderer_1 | General.Authentication.TimeWindow = 15m0s 41 | orderer_1 | FileLedger.Location = "/var/hyperledger/production/orderer" 42 | orderer_1 | FileLedger.Prefix = "hyperledger-fabric-ordererledger" 43 | orderer_1 | RAMLedger.HistorySize = 1000 44 | orderer_1 | Kafka.Retry.ShortInterval = 5s 45 | orderer_1 | Kafka.Retry.ShortTotal = 10m0s 46 | orderer_1 | Kafka.Retry.LongInterval = 5m0s 47 | orderer_1 | Kafka.Retry.LongTotal = 12h0m0s 48 | orderer_1 | Kafka.Retry.NetworkTimeouts.DialTimeout = 10s 49 | orderer_1 | Kafka.Retry.NetworkTimeouts.ReadTimeout = 10s 50 | orderer_1 | Kafka.Retry.NetworkTimeouts.WriteTimeout = 10s 51 | orderer_1 | Kafka.Retry.Metadata.RetryMax = 3 52 | orderer_1 | Kafka.Retry.Metadata.RetryBackoff = 250ms 53 | orderer_1 | Kafka.Retry.Producer.RetryMax = 3 54 | orderer_1 | Kafka.Retry.Producer.RetryBackoff = 100ms 55 | orderer_1 | Kafka.Retry.Consumer.RetryBackoff = 2s 56 | orderer_1 | Kafka.Verbose = false 57 | orderer_1 | Kafka.Version = 0.10.2.0 58 | orderer_1 | Kafka.TLS.Enabled = false 59 | orderer_1 | Kafka.TLS.PrivateKey = "" 60 | orderer_1 | Kafka.TLS.Certificate = "" 61 | orderer_1 | Kafka.TLS.RootCAs = [] 62 | orderer_1 | Kafka.TLS.ClientAuthRequired = false 63 | orderer_1 | Kafka.TLS.ClientRootCAs = [] 64 | orderer_1 | Debug.BroadcastTraceDir = "" 65 | orderer_1 | Debug.DeliverTraceDir = "" 66 | FBIpeer2_1 | 2018-09-08 09:29:51.906 UTC [nodeCmd] serve -> INFO 001 Starting peer: 67 | FBIpeer2_1 | Version: 1.1.0 68 | FBIpeer2_1 | Go version: go1.9.2 69 | FBIpeer2_1 | OS/Arch: linux/amd64 70 | FBIpeer2_1 | Experimental features: false 71 | FBIpeer2_1 | Chaincode: 72 | FBIpeer2_1 | Base Image Version: 0.4.6 73 | FBIpeer2_1 | Base Docker Namespace: hyperledger 74 | FBIpeer2_1 | Base Docker Label: org.hyperledger.fabric 75 | FBIpeer2_1 | Docker Namespace: hyperledger 76 | FBIpeer2_1 | 77 | FBIpeer2_1 | 2018-09-08 09:29:51.907 UTC [ledgermgmt] initialize -> INFO 002 Initializing ledger mgmt 78 | FBIpeer2_1 | 2018-09-08 09:29:51.907 UTC [kvledger] NewProvider -> INFO 003 Initializing ledger provider 79 | orderer_1 | 2018-09-08 09:29:51.063 UTC [orderer/common/server] initializeServerConfig -> INFO 002 Starting orderer with TLS enabled 80 | FBIpeer2_1 | 2018-09-08 09:29:51.940 UTC [kvledger] NewProvider -> INFO 004 ledger provider Initialized 81 | FBIpeer2_1 | 2018-09-08 09:29:51.940 UTC [ledgermgmt] initialize -> INFO 005 ledger mgmt initialized 82 | orderer_1 | 2018-09-08 09:29:51.075 UTC [fsblkstorage] newBlockfileMgr -> INFO 003 Getting block information from block storage 83 | orderer_1 | 2018-09-08 09:29:51.084 UTC [orderer/commmon/multichannel] NewRegistrar -> INFO 004 Starting system channel 'testchainid' with genesis block hash 5c240af991bcfb1b4cc24bea03d5c2d6f994be3692b58e1b26b3aa7c4bf805b1 and orderer type solo 84 | orderer_1 | 2018-09-08 09:29:51.084 UTC [orderer/common/server] Start -> INFO 005 Starting orderer: 85 | orderer_1 | Version: 1.1.0 86 | orderer_1 | Go version: go1.9.2 87 | orderer_1 | OS/Arch: linux/amd64 88 | orderer_1 | Experimental features: false 89 | FBIpeer2_1 | 2018-09-08 09:29:51.940 UTC [peer] func1 -> INFO 006 Auto-detected peer address: 192.168.16.3:7151 90 | orderer_1 | 2018-09-08 09:29:51.084 UTC [orderer/common/server] Start -> INFO 006 Beginning to serve requests 91 | FBIpeer2_1 | 2018-09-08 09:29:51.941 UTC [peer] func1 -> INFO 007 Returning peer1.fbi.citizens.com:7151 92 | FBIpeer2_1 | 2018-09-08 09:29:51.941 UTC [peer] func1 -> INFO 008 Auto-detected peer address: 192.168.16.3:7151 93 | FBIpeer2_1 | 2018-09-08 09:29:51.941 UTC [peer] func1 -> INFO 009 Returning peer1.fbi.citizens.com:7151 94 | FBIpeer2_1 | 2018-09-08 09:29:51.953 UTC [nodeCmd] serve -> INFO 00a Starting peer with TLS enabled 95 | FBIpeer2_1 | 2018-09-08 09:29:51.961 UTC [eventhub_producer] start -> INFO 00b Event processor started 96 | FBIpeer2_1 | 2018-09-08 09:29:51.961 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 00c Entering computeChaincodeEndpoint with peerHostname: peer1.fbi.citizens.com 97 | FBIpeer2_1 | 2018-09-08 09:29:51.962 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 00d Exit with ccEndpoint: peer1.fbi.citizens.com:7152 98 | FBIpeer2_1 | 2018-09-08 09:29:51.969 UTC [chaincode] NewChaincodeSupport -> INFO 00e Chaincode support using peerAddress: peer1.fbi.citizens.com:7152 99 | FBIpeer2_1 | 2018-09-08 09:29:51.970 UTC [sccapi] registerSysCC -> INFO 00f system chaincode cscc(github.com/hyperledger/fabric/core/scc/cscc) registered 100 | FBIpeer2_1 | 2018-09-08 09:29:51.971 UTC [sccapi] registerSysCC -> INFO 010 system chaincode lscc(github.com/hyperledger/fabric/core/scc/lscc) registered 101 | FBIpeer2_1 | 2018-09-08 09:29:51.971 UTC [sccapi] registerSysCC -> INFO 011 system chaincode escc(github.com/hyperledger/fabric/core/scc/escc) registered 102 | FBIpeer2_1 | 2018-09-08 09:29:51.972 UTC [sccapi] registerSysCC -> INFO 012 system chaincode vscc(github.com/hyperledger/fabric/core/scc/vscc) registered 103 | FBIpeer2_1 | 2018-09-08 09:29:51.972 UTC [sccapi] registerSysCC -> INFO 013 system chaincode qscc(github.com/hyperledger/fabric/core/chaincode/qscc) registered 104 | FBIpeer2_1 | 2018-09-08 09:29:51.979 UTC [gossip/service] func1 -> INFO 014 Initialize gossip with endpoint peer1.fbi.citizens.com:7151 and bootstrap set [peer0.fbi.citizens.com:7051] 105 | FBIpeer2_1 | 2018-09-08 09:29:51.985 UTC [msp] DeserializeIdentity -> INFO 015 Obtaining identity 106 | FBIpeer2_1 | 2018-09-08 09:29:51.989 UTC [gossip/discovery] NewDiscoveryService -> INFO 016 Started {peer1.fbi.citizens.com:7151 [] [179 154 108 200 193 14 111 56 56 99 52 125 96 172 250 110 67 214 210 1 26 141 54 180 106 188 194 234 85 190 189 236] peer1.fbi.citizens.com:7151 } incTime is 1536398991987757900 107 | FBIpeer2_1 | 2018-09-08 09:29:51.993 UTC [gossip/gossip] NewGossipService -> INFO 017 Creating gossip service with self membership of {peer1.fbi.citizens.com:7151 [] [179 154 108 200 193 14 111 56 56 99 52 125 96 172 250 110 67 214 210 1 26 141 54 180 106 188 194 234 85 190 189 236] peer1.fbi.citizens.com:7151 } 108 | FBIpeer2_1 | 2018-09-08 09:29:51.995 UTC [gossip/gossip] start -> INFO 018 Gossip instance peer1.fbi.citizens.com:7151 started 109 | FBIpeer2_1 | 2018-09-08 09:29:51.998 UTC [cscc] Init -> INFO 019 Init CSCC 110 | FBIpeer2_1 | 2018-09-08 09:29:51.998 UTC [sccapi] deploySysCC -> INFO 01a system chaincode cscc/(github.com/hyperledger/fabric/core/scc/cscc) deployed 111 | FBIpeer2_1 | 2018-09-08 09:29:52.001 UTC [sccapi] deploySysCC -> INFO 01b system chaincode lscc/(github.com/hyperledger/fabric/core/scc/lscc) deployed 112 | FBIpeer2_1 | 2018-09-08 09:29:52.002 UTC [escc] Init -> INFO 01c Successfully initialized ESCC 113 | FBIpeer2_1 | 2018-09-08 09:29:52.002 UTC [sccapi] deploySysCC -> INFO 01d system chaincode escc/(github.com/hyperledger/fabric/core/scc/escc) deployed 114 | FBIpeer2_1 | 2018-09-08 09:29:52.004 UTC [sccapi] deploySysCC -> INFO 01e system chaincode vscc/(github.com/hyperledger/fabric/core/scc/vscc) deployed 115 | FBIpeer2_1 | 2018-09-08 09:29:52.006 UTC [qscc] Init -> INFO 01f Init QSCC 116 | FBIpeer2_1 | 2018-09-08 09:29:52.006 UTC [sccapi] deploySysCC -> INFO 020 system chaincode qscc/(github.com/hyperledger/fabric/core/chaincode/qscc) deployed 117 | FBIpeer2_1 | 2018-09-08 09:29:52.006 UTC [nodeCmd] initSysCCs -> INFO 021 Deployed system chaincodes 118 | FBIpeer2_1 | 2018-09-08 09:29:52.006 UTC [nodeCmd] serve -> INFO 022 Starting peer with ID=[name:"peer1.fbi.citizens.com" ], network ID=[citizens], address=[peer1.fbi.citizens.com:7151] 119 | FBIpeer2_1 | 2018-09-08 09:29:52.008 UTC [nodeCmd] serve -> INFO 023 Started peer with ID=[name:"peer1.fbi.citizens.com" ], network ID=[citizens], address=[peer1.fbi.citizens.com:7151] 120 | FBIpeer1_1 | 2018-09-08 09:29:52.044 UTC [nodeCmd] serve -> INFO 001 Starting peer: 121 | FBIpeer1_1 | Version: 1.1.0 122 | FBIpeer1_1 | Go version: go1.9.2 123 | FBIpeer1_1 | OS/Arch: linux/amd64 124 | FBIpeer1_1 | Experimental features: false 125 | FBIpeer1_1 | Chaincode: 126 | FBIpeer1_1 | Base Image Version: 0.4.6 127 | FBIpeer1_1 | Base Docker Namespace: hyperledger 128 | FBIpeer1_1 | Base Docker Label: org.hyperledger.fabric 129 | FBIpeer1_1 | Docker Namespace: hyperledger 130 | FBIpeer1_1 | 131 | FBIpeer1_1 | 2018-09-08 09:29:52.045 UTC [ledgermgmt] initialize -> INFO 002 Initializing ledger mgmt 132 | FBIpeer1_1 | 2018-09-08 09:29:52.045 UTC [kvledger] NewProvider -> INFO 003 Initializing ledger provider 133 | FBIpeer1_1 | 2018-09-08 09:29:52.061 UTC [kvledger] NewProvider -> INFO 004 ledger provider Initialized 134 | FBIpeer1_1 | 2018-09-08 09:29:52.061 UTC [ledgermgmt] initialize -> INFO 005 ledger mgmt initialized 135 | FBIpeer1_1 | 2018-09-08 09:29:52.061 UTC [peer] func1 -> INFO 006 Auto-detected peer address: 192.168.16.4:7051 136 | FBIpeer1_1 | 2018-09-08 09:29:52.062 UTC [peer] func1 -> INFO 007 Returning peer0.fbi.citizens.com:7051 137 | FBIpeer1_1 | 2018-09-08 09:29:52.062 UTC [peer] func1 -> INFO 008 Auto-detected peer address: 192.168.16.4:7051 138 | FBIpeer1_1 | 2018-09-08 09:29:52.063 UTC [peer] func1 -> INFO 009 Returning peer0.fbi.citizens.com:7051 139 | FBIpeer1_1 | 2018-09-08 09:29:52.070 UTC [nodeCmd] serve -> INFO 00a Starting peer with TLS enabled 140 | FBIpeer1_1 | 2018-09-08 09:29:52.076 UTC [eventhub_producer] start -> INFO 00b Event processor started 141 | FBIpeer1_1 | 2018-09-08 09:29:52.076 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 00c Entering computeChaincodeEndpoint with peerHostname: peer0.fbi.citizens.com 142 | FBIpeer1_1 | 2018-09-08 09:29:52.077 UTC [nodeCmd] computeChaincodeEndpoint -> INFO 00d Exit with ccEndpoint: peer0.fbi.citizens.com:7052 143 | FBIpeer1_1 | 2018-09-08 09:29:52.084 UTC [chaincode] NewChaincodeSupport -> INFO 00e Chaincode support using peerAddress: peer0.fbi.citizens.com:7052 144 | FBIpeer1_1 | 2018-09-08 09:29:52.085 UTC [sccapi] registerSysCC -> INFO 00f system chaincode cscc(github.com/hyperledger/fabric/core/scc/cscc) registered 145 | FBIpeer1_1 | 2018-09-08 09:29:52.085 UTC [sccapi] registerSysCC -> INFO 010 system chaincode lscc(github.com/hyperledger/fabric/core/scc/lscc) registered 146 | FBIpeer1_1 | 2018-09-08 09:29:52.086 UTC [sccapi] registerSysCC -> INFO 011 system chaincode escc(github.com/hyperledger/fabric/core/scc/escc) registered 147 | FBIpeer1_1 | 2018-09-08 09:29:52.086 UTC [sccapi] registerSysCC -> INFO 012 system chaincode vscc(github.com/hyperledger/fabric/core/scc/vscc) registered 148 | FBIpeer1_1 | 2018-09-08 09:29:52.087 UTC [sccapi] registerSysCC -> INFO 013 system chaincode qscc(github.com/hyperledger/fabric/core/chaincode/qscc) registered 149 | FBIpeer1_1 | 2018-09-08 09:29:52.093 UTC [gossip/service] func1 -> INFO 014 Initialize gossip with endpoint peer0.fbi.citizens.com:7051 and bootstrap set [127.0.0.1:7051] 150 | FBIpeer1_1 | 2018-09-08 09:29:52.100 UTC [msp] DeserializeIdentity -> INFO 015 Obtaining identity 151 | FBIpeer1_1 | 2018-09-08 09:29:52.104 UTC [gossip/discovery] NewDiscoveryService -> INFO 016 Started {peer0.fbi.citizens.com:7051 [] [11 181 240 193 214 37 45 118 198 216 113 38 185 29 76 66 199 22 77 12 142 78 94 122 196 203 179 127 247 83 95 156] peer0.fbi.citizens.com:7051 } incTime is 1536398992103424100 152 | FBIpeer1_1 | 2018-09-08 09:29:52.104 UTC [gossip/gossip] NewGossipService -> INFO 017 Creating gossip service with self membership of {peer0.fbi.citizens.com:7051 [] [11 181 240 193 214 37 45 118 198 216 113 38 185 29 76 66 199 22 77 12 142 78 94 122 196 203 179 127 247 83 95 156] peer0.fbi.citizens.com:7051 } 153 | FBIpeer1_1 | 2018-09-08 09:29:52.108 UTC [gossip/gossip] start -> INFO 018 Gossip instance peer0.fbi.citizens.com:7051 started 154 | FBIpeer1_1 | 2018-09-08 09:29:52.110 UTC [cscc] Init -> INFO 019 Init CSCC 155 | FBIpeer1_1 | 2018-09-08 09:29:52.110 UTC [sccapi] deploySysCC -> INFO 01a system chaincode cscc/(github.com/hyperledger/fabric/core/scc/cscc) deployed 156 | FBIpeer1_1 | 2018-09-08 09:29:52.113 UTC [sccapi] deploySysCC -> INFO 01b system chaincode lscc/(github.com/hyperledger/fabric/core/scc/lscc) deployed 157 | FBIpeer1_1 | 2018-09-08 09:29:52.114 UTC [escc] Init -> INFO 01c Successfully initialized ESCC 158 | FBIpeer1_1 | 2018-09-08 09:29:52.114 UTC [sccapi] deploySysCC -> INFO 01d system chaincode escc/(github.com/hyperledger/fabric/core/scc/escc) deployed 159 | FBIpeer1_1 | 2018-09-08 09:29:52.115 UTC [sccapi] deploySysCC -> INFO 01e system chaincode vscc/(github.com/hyperledger/fabric/core/scc/vscc) deployed 160 | FBIpeer1_1 | 2018-09-08 09:29:52.116 UTC [qscc] Init -> INFO 01f Init QSCC 161 | FBIpeer1_1 | 2018-09-08 09:29:52.117 UTC [sccapi] deploySysCC -> INFO 020 system chaincode qscc/(github.com/hyperledger/fabric/core/chaincode/qscc) deployed 162 | FBIpeer1_1 | 2018-09-08 09:29:52.117 UTC [nodeCmd] initSysCCs -> INFO 021 Deployed system chaincodes 163 | FBIpeer1_1 | 2018-09-08 09:29:52.118 UTC [nodeCmd] serve -> INFO 022 Starting peer with ID=[name:"peer0.fbi.citizens.com" ], network ID=[citizens], address=[peer0.fbi.citizens.com:7051] 164 | FBIpeer1_1 | 2018-09-08 09:29:52.119 UTC [nodeCmd] serve -> INFO 023 Started peer with ID=[name:"peer0.fbi.citizens.com" ], network ID=[citizens], address=[peer0.fbi.citizens.com:7051] 165 | orderer_1 | 2018-09-08 09:30:01.394 UTC [msp] DeserializeIdentity -> INFO 007 Obtaining identity 166 | orderer_1 | 2018-09-08 09:30:01.395 UTC [msp] DeserializeIdentity -> INFO 008 Obtaining identity 167 | orderer_1 | 2018-09-08 09:30:01.398 UTC [msp] DeserializeIdentity -> INFO 009 Obtaining identity 168 | orderer_1 | 2018-09-08 09:30:01.410 UTC [fsblkstorage] newBlockfileMgr -> INFO 00a Getting block information from block storage 169 | orderer_1 | 2018-09-08 09:30:01.415 UTC [orderer/commmon/multichannel] newChain -> INFO 00b Created and starting new chain citizens 170 | orderer_1 | 2018-09-08 09:30:02.377 UTC [msp] DeserializeIdentity -> INFO 00c Obtaining identity 171 | FBIpeer1_1 | 2018-09-08 09:30:02.385 UTC [ledgermgmt] CreateLedger -> INFO 024 Creating ledger [citizens] with genesis block 172 | FBIpeer2_1 | 2018-09-08 09:30:02.387 UTC [ledgermgmt] CreateLedger -> INFO 024 Creating ledger [citizens] with genesis block 173 | FBIpeer1_1 | 2018-09-08 09:30:02.390 UTC [fsblkstorage] newBlockfileMgr -> INFO 025 Getting block information from block storage 174 | FBIpeer2_1 | 2018-09-08 09:30:02.390 UTC [fsblkstorage] newBlockfileMgr -> INFO 025 Getting block information from block storage 175 | FBIpeer2_1 | 2018-09-08 09:30:02.399 UTC [kvledger] CommitWithPvtData -> INFO 026 Channel [citizens]: Committed block [0] with 1 transaction(s) 176 | FBIpeer1_1 | 2018-09-08 09:30:02.401 UTC [kvledger] CommitWithPvtData -> INFO 026 Channel [citizens]: Committed block [0] with 1 transaction(s) 177 | FBIpeer2_1 | 2018-09-08 09:30:02.403 UTC [ledgermgmt] CreateLedger -> INFO 027 Created ledger [citizens] with genesis block 178 | FBIpeer1_1 | 2018-09-08 09:30:02.405 UTC [ledgermgmt] CreateLedger -> INFO 027 Created ledger [citizens] with genesis block 179 | FBIpeer1_1 | 2018-09-08 09:30:02.422 UTC [cscc] Init -> INFO 028 Init CSCC 180 | FBIpeer1_1 | 2018-09-08 09:30:02.423 UTC [sccapi] deploySysCC -> INFO 029 system chaincode cscc/citizens(github.com/hyperledger/fabric/core/scc/cscc) deployed 181 | FBIpeer1_1 | 2018-09-08 09:30:02.424 UTC [sccapi] deploySysCC -> INFO 02a system chaincode lscc/citizens(github.com/hyperledger/fabric/core/scc/lscc) deployed 182 | FBIpeer1_1 | 2018-09-08 09:30:02.424 UTC [escc] Init -> INFO 02b Successfully initialized ESCC 183 | FBIpeer1_1 | 2018-09-08 09:30:02.424 UTC [sccapi] deploySysCC -> INFO 02c system chaincode escc/citizens(github.com/hyperledger/fabric/core/scc/escc) deployed 184 | FBIpeer2_1 | 2018-09-08 09:30:02.423 UTC [cscc] Init -> INFO 028 Init CSCC 185 | FBIpeer2_1 | 2018-09-08 09:30:02.424 UTC [sccapi] deploySysCC -> INFO 029 system chaincode cscc/citizens(github.com/hyperledger/fabric/core/scc/cscc) deployed 186 | FBIpeer2_1 | 2018-09-08 09:30:02.424 UTC [sccapi] deploySysCC -> INFO 02a system chaincode lscc/citizens(github.com/hyperledger/fabric/core/scc/lscc) deployed 187 | FBIpeer2_1 | 2018-09-08 09:30:02.425 UTC [escc] Init -> INFO 02b Successfully initialized ESCC 188 | FBIpeer1_1 | 2018-09-08 09:30:02.425 UTC [sccapi] deploySysCC -> INFO 02d system chaincode vscc/citizens(github.com/hyperledger/fabric/core/scc/vscc) deployed 189 | FBIpeer2_1 | 2018-09-08 09:30:02.425 UTC [sccapi] deploySysCC -> INFO 02c system chaincode escc/citizens(github.com/hyperledger/fabric/core/scc/escc) deployed 190 | FBIpeer1_1 | 2018-09-08 09:30:02.426 UTC [qscc] Init -> INFO 02e Init QSCC 191 | FBIpeer1_1 | 2018-09-08 09:30:02.426 UTC [sccapi] deploySysCC -> INFO 02f system chaincode qscc/citizens(github.com/hyperledger/fabric/core/chaincode/qscc) deployed 192 | FBIpeer2_1 | 2018-09-08 09:30:02.426 UTC [sccapi] deploySysCC -> INFO 02d system chaincode vscc/citizens(github.com/hyperledger/fabric/core/scc/vscc) deployed 193 | FBIpeer2_1 | 2018-09-08 09:30:02.427 UTC [qscc] Init -> INFO 02e Init QSCC 194 | FBIpeer2_1 | 2018-09-08 09:30:02.428 UTC [sccapi] deploySysCC -> INFO 02f system chaincode qscc/citizens(github.com/hyperledger/fabric/core/chaincode/qscc) deployed 195 | FBIpeer1_1 | 2018-09-08 09:30:02.441 UTC [lscc] executeInstall -> INFO 030 Installed Chaincode [citizens-service] Version [0] to peer 196 | FBIpeer2_1 | 2018-09-08 09:30:02.441 UTC [lscc] executeInstall -> INFO 030 Installed Chaincode [citizens-service] Version [0] to peer 197 | FBIpeer1_1 | 2018-09-08 09:30:02.467 UTC [golang-platform] GenerateDockerBuild -> INFO 031 building chaincode with ldflagsOpt: '-ldflags "-linkmode external -extldflags '-static'"' 198 | FBIpeer1_1 | 2018-09-08 09:30:02.467 UTC [golang-platform] GenerateDockerBuild -> INFO 032 building chaincode with tags: 199 | orderer_1 | 2018-09-08 09:30:08.434 UTC [msp] DeserializeIdentity -> INFO 00d Obtaining identity 200 | FBIpeer2_1 | 2018-09-08 09:30:08.440 UTC [deliveryClient] connect -> WARN 031 Failed running post-connection procedures: closing 201 | orderer_1 | 2018-09-08 09:30:08.441 UTC [common/deliver] Handle -> WARN 00e Error reading from 192.168.16.3:49742: rpc error: code = Canceled desc = context canceled 202 | FBIpeer2_1 | 2018-09-08 09:30:08.442 UTC [deliveryClient] try -> WARN 032 Got error: closing , at 1 attempt. Retrying in 1s 203 | FBIpeer2_1 | 2018-09-08 09:30:08.442 UTC [blocksProvider] DeliverBlocks -> WARN 033 [citizens] Receive error: Client is closing 204 | FBIpeer1_1 | 2018-09-08 09:30:17.779 UTC [cceventmgmt] HandleStateUpdates -> INFO 033 Channel [citizens]: Handling LSCC state update for chaincode [citizens-service] 205 | FBIpeer1_1 | 2018-09-08 09:30:17.785 UTC [kvledger] CommitWithPvtData -> INFO 034 Channel [citizens]: Committed block [1] with 1 transaction(s) 206 | FBIpeer2_1 | 2018-09-08 09:30:17.792 UTC [cceventmgmt] HandleStateUpdates -> INFO 034 Channel [citizens]: Handling LSCC state update for chaincode [citizens-service] 207 | FBIpeer2_1 | 2018-09-08 09:30:17.802 UTC [kvledger] CommitWithPvtData -> INFO 035 Channel [citizens]: Committed block [1] with 1 transaction(s) 208 | orderer_1 | 2018-09-08 09:30:17.806 UTC [msp] DeserializeIdentity -> INFO 00f Obtaining identity 209 | FBIpeer1_1 | 2018-09-08 09:30:19.824 UTC [kvledger] CommitWithPvtData -> INFO 035 Channel [citizens]: Committed block [2] with 1 transaction(s) 210 | FBIpeer2_1 | 2018-09-08 09:30:19.834 UTC [kvledger] CommitWithPvtData -> INFO 036 Channel [citizens]: Committed block [2] with 1 transaction(s) 211 | FBIpeer1_1 | 2018-09-08 09:31:09.320 UTC [main] main -> INFO 036 Exiting..... 212 | FBIpeer2_1 | 2018-09-08 09:31:09.327 UTC [main] main -> INFO 037 Exiting..... 213 | citizens_FBIpeer1_1 exited with code 0 214 | citizens_FBIpeer2_1 exited with code 0 215 | citizens_orderer_1 exited with code 2 216 |  -------------------------------------------------------------------------------- /fabric-service/artifacts/FBImspanchors.tx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akkagao/citizens/7fe6596582c89adaff00e463eb61fbc7560b4c04/fabric-service/artifacts/FBImspanchors.tx -------------------------------------------------------------------------------- /fabric-service/artifacts/citizens.tx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akkagao/citizens/7fe6596582c89adaff00e463eb61fbc7560b4c04/fabric-service/artifacts/citizens.tx -------------------------------------------------------------------------------- /fabric-service/artifacts/orderer.genesis.block: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akkagao/citizens/7fe6596582c89adaff00e463eb61fbc7560b4c04/fabric-service/artifacts/orderer.genesis.block -------------------------------------------------------------------------------- /fabric-service/bin/configtxgen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akkagao/citizens/7fe6596582c89adaff00e463eb61fbc7560b4c04/fabric-service/bin/configtxgen -------------------------------------------------------------------------------- /fabric-service/bin/cryptogen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akkagao/citizens/7fe6596582c89adaff00e463eb61fbc7560b4c04/fabric-service/bin/cryptogen -------------------------------------------------------------------------------- /fabric-service/bulid.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | WORKSPACE=`pwd` 4 | FABRIC_HOME="/Users/crazywolf/go/gopath/src/github.com/hyperledger/fabric" 5 | WEB_WOEKSPACE=`pwd`/../web-service 6 | SDK_GO="/Users/crazywolf/go/gopath/src/github.com/hyperledger/fabric-sdk-go" 7 | 8 | cleanAll(){ 9 | rm -rf bin crypto-config artifacts 10 | cd $FABRIC_HOME 11 | echo "切换fabric版本为release-1.1" 12 | git checkout master 13 | } 14 | 15 | 16 | clean(){ 17 | rm -rf crypto-config artifacts 18 | echo "切换fabric版本为release-1.1" 19 | cd $FABRIC_HOME 20 | git checkout -b release-1.1 origin/release-1.1 21 | git checkout release-1.1 22 | cd $WORKSPACE 23 | } 24 | 25 | # 编译工具 26 | buildTool(){ 27 | echo "buildTool >>" 28 | cd $FABRIC_HOME 29 | echo "切换fabric版本为release-1.1" 30 | git checkout -b release-1.1 origin/release-1.1 31 | git checkout release-1.1 32 | echo "编译configtxgen" 33 | make configtxgen 34 | echo "编译cryptogen" 35 | make cryptogen 36 | cd $WORKSPACE 37 | mkdir bin 38 | echo "复制 configtxgen 和 cryptogen 到bin目录" 39 | cp $FABRIC_HOME/build/bin/* ./bin 40 | echo "cryptogen 版本" 41 | ./bin/cryptogen version 42 | echo "configtxgen 版本" 43 | ./bin/configtxgen --version 44 | } 45 | 46 | # 生成配置文件 47 | initConfig(){ 48 | # 生成crypto-config.yaml 配置文件 49 | ./bin/cryptogen showtemplate >> crypto-config.yaml 50 | 51 | # 生成configtx.yaml 和 docker-compose.yaml 52 | cp $FABRIC_HOME/examples/e2e_cli/configtx.yaml ./ 53 | cp $SDK_GO/test/fixtures/dockerenv/docker-compose.yaml ./ 54 | cp $SDK_GO/test/fixtures/dockerenv/.env ./ 55 | 56 | cd $WEB_WOEKSPACE 57 | cp $SDK_GO/test/fixtures/config/config_e2e.yaml ./config.yaml 58 | } 59 | 60 | # 根据配置文件生成所有证书文件 61 | createzhengshu(){ 62 | ./bin/cryptogen generate --config=crypto-config.yaml 63 | } 64 | 65 | # 生成创世区块 66 | createconfigtx(){ 67 | mkdir artifacts 68 | ./bin/configtxgen --profile CitizensGenesis -outputBlock ./artifacts/orderer.genesis.block 69 | ./bin/configtxgen --profile CitizensChannel -outputCreateChannelTx ./artifacts/citizens.tx -channelID citizens 70 | ./bin/configtxgen --profile CitizensChannel -outputAnchorPeersUpdate ./artifacts/FBImspanchors.tx -channelID citizens -asOrg FBIMSP 71 | 72 | } 73 | 74 | clean 75 | 76 | # buildTool 77 | 78 | # initConfig 79 | 80 | createzhengshu 81 | 82 | createconfigtx 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /fabric-service/configtx.yaml: -------------------------------------------------------------------------------- 1 | # Copyright IBM Corp. All Rights Reserved. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | 6 | --- 7 | ################################################################################ 8 | # 9 | # Profile 10 | # 11 | # - Different configuration profiles may be encoded here to be specified 12 | # as parameters to the configtxgen tool 13 | # 14 | ################################################################################ 15 | Profiles: 16 | 17 | CitizensGenesis: 18 | Capabilities: 19 | <<: *ChannelCapabilities 20 | Orderer: 21 | <<: *OrdererDefaults 22 | Organizations: 23 | - *OrdererOrg 24 | Capabilities: 25 | <<: *OrdererCapabilities 26 | Consortiums: 27 | SampleConsortium: 28 | Organizations: 29 | - *FBI 30 | CitizensChannel: 31 | Consortium: SampleConsortium 32 | Application: 33 | <<: *ApplicationDefaults 34 | Organizations: 35 | - *FBI 36 | Capabilities: 37 | <<: *ApplicationCapabilities 38 | 39 | ################################################################################ 40 | # 41 | # Section: Organizations 42 | # 43 | # - This section defines the different organizational identities which will 44 | # be referenced later in the configuration. 45 | # 46 | ################################################################################ 47 | Organizations: 48 | 49 | # SampleOrg defines an MSP using the sampleconfig. It should never be used 50 | # in production but may be used as a template for other definitions 51 | - &OrdererOrg 52 | # DefaultOrg defines the organization which is used in the sampleconfig 53 | # of the fabric.git development environment 54 | Name: OrdererOrg 55 | 56 | # ID to load the MSP definition as 57 | ID: OrdererMSP 58 | 59 | # MSPDir is the filesystem path which contains the MSP configuration 60 | MSPDir: crypto-config/ordererOrganizations/citizens.com/msp 61 | 62 | - &FBI 63 | # DefaultOrg defines the organization which is used in the sampleconfig 64 | # of the fabric.git development environment 65 | Name: FBIMSP 66 | 67 | # ID to load the MSP definition as 68 | ID: FBIMSP 69 | 70 | MSPDir: crypto-config/peerOrganizations/fbi.citizens.com/msp 71 | 72 | AnchorPeers: 73 | # AnchorPeers defines the location of peers which can be used 74 | # for cross org gossip communication. Note, this value is only 75 | # encoded in the genesis block in the Application section context 76 | - Host: peer0.fbi.citizens.com 77 | Port: 7051 78 | 79 | 80 | 81 | ################################################################################ 82 | # 83 | # SECTION: Orderer 84 | # 85 | # - This section defines the values to encode into a config transaction or 86 | # genesis block for orderer related parameters 87 | # 88 | ################################################################################ 89 | Orderer: &OrdererDefaults 90 | 91 | # Orderer Type: The orderer implementation to start 92 | # Available types are "solo" and "kafka" 93 | OrdererType: solo 94 | 95 | Addresses: 96 | - orderer.citizens.com:7050 97 | 98 | # Batch Timeout: The amount of time to wait before creating a batch 99 | BatchTimeout: 2s 100 | 101 | # Batch Size: Controls the number of messages batched into a block 102 | BatchSize: 103 | 104 | # Max Message Count: The maximum number of messages to permit in a batch 105 | MaxMessageCount: 10 106 | 107 | # Absolute Max Bytes: The absolute maximum number of bytes allowed for 108 | # the serialized messages in a batch. 109 | AbsoluteMaxBytes: 98 MB 110 | 111 | # Preferred Max Bytes: The preferred maximum number of bytes allowed for 112 | # the serialized messages in a batch. A message larger than the preferred 113 | # max bytes will result in a batch larger than preferred max bytes. 114 | PreferredMaxBytes: 512 KB 115 | 116 | # Kafka: 117 | # # Brokers: A list of Kafka brokers to which the orderer connects. Edit 118 | # # this list to identify the brokers of the ordering service. 119 | # # NOTE: Use IP:port notation. 120 | # Brokers: 121 | # - kafka0:9092 122 | # - kafka1:9092 123 | # - kafka2:9092 124 | # - kafka3:9092 125 | 126 | # Organizations is the list of orgs which are defined as participants on 127 | # the orderer side of the network 128 | Organizations: 129 | 130 | ################################################################################ 131 | # 132 | # SECTION: Application 133 | # 134 | # - This section defines the values to encode into a config transaction or 135 | # genesis block for application related parameters 136 | # 137 | ################################################################################ 138 | Application: &ApplicationDefaults 139 | 140 | # Organizations is the list of orgs which are defined as participants on 141 | # the application side of the network 142 | Organizations: 143 | ################################################################################ 144 | # 145 | # SECTION: Capabilities 146 | # 147 | # - This section defines the capabilities of fabric network. This is a new 148 | # concept as of v1.1.0 and should not be utilized in mixed networks with 149 | # v1.0.x peers and orderers. Capabilities define features which must be 150 | # present in a fabric binary for that binary to safely participate in the 151 | # fabric network. For instance, if a new MSP type is added, newer binaries 152 | # might recognize and validate the signatures from this type, while older 153 | # binaries without this support would be unable to validate those 154 | # transactions. This could lead to different versions of the fabric binaries 155 | # having different world states. Instead, defining a capability for a channel 156 | # informs those binaries without this capability that they must cease 157 | # processing transactions until they have been upgraded. For v1.0.x if any 158 | # capabilities are defined (including a map with all capabilities turned off) 159 | # then the v1.0.x peer will deliberately crash. 160 | # 161 | ################################################################################ 162 | Capabilities: 163 | # Channel capabilities apply to both the orderers and the peers and must be 164 | # supported by both. Set the value of the capability to true to require it. 165 | Global: &ChannelCapabilities 166 | # V1.1 for Global is a catchall flag for behavior which has been 167 | # determined to be desired for all orderers and peers running v1.0.x, 168 | # but the modification of which would cause incompatibilities. Users 169 | # should leave this flag set to true. 170 | V1_1: true 171 | 172 | # Orderer capabilities apply only to the orderers, and may be safely 173 | # manipulated without concern for upgrading peers. Set the value of the 174 | # capability to true to require it. 175 | Orderer: &OrdererCapabilities 176 | # V1.1 for Order is a catchall flag for behavior which has been 177 | # determined to be desired for all orderers running v1.0.x, but the 178 | # modification of which would cause incompatibilities. Users should 179 | # leave this flag set to true. 180 | V1_1: true 181 | 182 | # Application capabilities apply only to the peer network, and may be safely 183 | # manipulated without concern for upgrading orderers. Set the value of the 184 | # capability to true to require it. 185 | Application: &ApplicationCapabilities 186 | # V1.1 for Application is a catchall flag for behavior which has been 187 | # determined to be desired for all peers running v1.0.x, but the 188 | # modification of which would cause incompatibilities. Users should 189 | # leave this flag set to true. 190 | V1_1: true 191 | -------------------------------------------------------------------------------- /fabric-service/crypto-config.yaml: -------------------------------------------------------------------------------- 1 | 2 | # --------------------------------------------------------------------------- 3 | # "OrdererOrgs" - Definition of organizations managing orderer nodes 4 | # --------------------------------------------------------------------------- 5 | OrdererOrgs: 6 | # --------------------------------------------------------------------------- 7 | # Orderer 8 | # --------------------------------------------------------------------------- 9 | - Name: Orderer 10 | Domain: citizens.com 11 | 12 | # --------------------------------------------------------------------------- 13 | # "Specs" - See PeerOrgs below for complete description 14 | # --------------------------------------------------------------------------- 15 | Specs: 16 | - Hostname: orderer 17 | 18 | # --------------------------------------------------------------------------- 19 | # "PeerOrgs" - Definition of organizations managing peer nodes 20 | # --------------------------------------------------------------------------- 21 | PeerOrgs: 22 | # --------------------------------------------------------------------------- 23 | # Org1 24 | # --------------------------------------------------------------------------- 25 | - Name: FBI 26 | Domain: fbi.citizens.com 27 | EnableNodeOUs: false 28 | Template: 29 | Count: 2 30 | Users: 31 | Count: 2 32 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/ca/47f0259da4e4e873aa41c792556099114939bd866cc37b8cec493e3102c92c99_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgfOBxtbUxaHa6GrU5 3 | uP4XMw+V2Zo7OKmiM0XLPHkJmTahRANCAATF+VB8ipkVtKXFZ9qTFBBTbwdIpqVc 4 | kM8o+9WmHthppKiq0cMPdmVurB1m9zDbN4moJ15DZczlANvlFqE6sPML 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/ca/ca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMzCCAdmgAwIBAgIQKx2zpcMgDJupzORFr0HL9zAKBggqhkjOPQQDAjBrMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRp 5 | emVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBrMQswCQYD 6 | VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5j 7 | aXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRpemVu 8 | cy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATF+VB8ipkVtKXFZ9qTFBBT 9 | bwdIpqVckM8o+9WmHthppKiq0cMPdmVurB1m9zDbN4moJ15DZczlANvlFqE6sPML 10 | o18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8E 11 | BTADAQH/MCkGA1UdDgQiBCBH8CWdpOToc6pBx5JVYJkRSTm9hmzDe4zsST4xAsks 12 | mTAKBggqhkjOPQQDAgNIADBFAiEAwKsDGIBi5YaxA7LPQ8wiKSGNkcwqdQwK/Z/F 13 | Gjp7z+sCIDygQBa/uJc2uY5PFlJhk4cH5BprUcCC28a2dla6Su3R 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/msp/admincerts/Admin@citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICDjCCAbSgAwIBAgIRAKy1ICwIJSe+SVDI1oWYxTAwCgYIKoZIzj0EAwIwazEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFTATBgNVBAoTDGNpdGl6ZW5zLmNvbTEYMBYGA1UEAxMPY2EuY2l0 5 | aXplbnMuY29tMB4XDTE4MDkwODAzMTExM1oXDTI4MDkwNTAzMTExM1owVzELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xGzAZBgNVBAMMEkFkbWluQGNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEG 8 | CCqGSM49AwEHA0IABCmL18SC+MqzFq+VOI2ZA19ha6A55HQtk92iXESU19EqWgQE 9 | f23A6PpmS9FCbOz7J7IA7shQYORQKZyDtNWTT0mjTTBLMA4GA1UdDwEB/wQEAwIH 10 | gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEfwJZ2k5OhzqkHHklVgmRFJOb2G 11 | bMN7jOxJPjECySyZMAoGCCqGSM49BAMCA0gAMEUCIQDODi6crnftKlwMNP+hIrSD 12 | uD5n4RhR4JzMHWRpAWlhOgIgYbWjfZMShb9NRQjnPaDcIxI5STvWDI30hOavoyOR 13 | QUo= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/msp/cacerts/ca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMzCCAdmgAwIBAgIQKx2zpcMgDJupzORFr0HL9zAKBggqhkjOPQQDAjBrMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRp 5 | emVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBrMQswCQYD 6 | VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5j 7 | aXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRpemVu 8 | cy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATF+VB8ipkVtKXFZ9qTFBBT 9 | bwdIpqVckM8o+9WmHthppKiq0cMPdmVurB1m9zDbN4moJ15DZczlANvlFqE6sPML 10 | o18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8E 11 | BTADAQH/MCkGA1UdDgQiBCBH8CWdpOToc6pBx5JVYJkRSTm9hmzDe4zsST4xAsks 12 | mTAKBggqhkjOPQQDAgNIADBFAiEAwKsDGIBi5YaxA7LPQ8wiKSGNkcwqdQwK/Z/F 13 | Gjp7z+sCIDygQBa/uJc2uY5PFlJhk4cH5BprUcCC28a2dla6Su3R 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/msp/tlscacerts/tlsca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOTCCAd+gAwIBAgIQR1NXUUyZtR1y0otOc4uYYTAKBggqhkjOPQQDAjBuMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 5 | aXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBuMQsw 6 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 7 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 8 | aXRpemVucy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATuD9+5CYPaYgbk 9 | 0NdWVyRc2KfcXNSZLzuwwzJitMyHGTLaO9UVeaSWOR8rX7hNwtmBYIBdhRqI4I+b 10 | oOpyT6Njo18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNV 11 | HRMBAf8EBTADAQH/MCkGA1UdDgQiBCAFuYvOdnSbf8C7SApX3WiYKkT6CxVHUfqu 12 | nrOqDn330TAKBggqhkjOPQQDAgNIADBFAiEAlPuS58iSfrcEdvZHM4Zq0BjPKp6w 13 | 53JqlCR+HgcpgygCIErAv31CtgfyixGk36+ueaagaONCfddhXKaaUH9AlqyC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/msp/admincerts/Admin@citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICDjCCAbSgAwIBAgIRAKy1ICwIJSe+SVDI1oWYxTAwCgYIKoZIzj0EAwIwazEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFTATBgNVBAoTDGNpdGl6ZW5zLmNvbTEYMBYGA1UEAxMPY2EuY2l0 5 | aXplbnMuY29tMB4XDTE4MDkwODAzMTExM1oXDTI4MDkwNTAzMTExM1owVzELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xGzAZBgNVBAMMEkFkbWluQGNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEG 8 | CCqGSM49AwEHA0IABCmL18SC+MqzFq+VOI2ZA19ha6A55HQtk92iXESU19EqWgQE 9 | f23A6PpmS9FCbOz7J7IA7shQYORQKZyDtNWTT0mjTTBLMA4GA1UdDwEB/wQEAwIH 10 | gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEfwJZ2k5OhzqkHHklVgmRFJOb2G 11 | bMN7jOxJPjECySyZMAoGCCqGSM49BAMCA0gAMEUCIQDODi6crnftKlwMNP+hIrSD 12 | uD5n4RhR4JzMHWRpAWlhOgIgYbWjfZMShb9NRQjnPaDcIxI5STvWDI30hOavoyOR 13 | QUo= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/msp/cacerts/ca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMzCCAdmgAwIBAgIQKx2zpcMgDJupzORFr0HL9zAKBggqhkjOPQQDAjBrMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRp 5 | emVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBrMQswCQYD 6 | VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5j 7 | aXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRpemVu 8 | cy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATF+VB8ipkVtKXFZ9qTFBBT 9 | bwdIpqVckM8o+9WmHthppKiq0cMPdmVurB1m9zDbN4moJ15DZczlANvlFqE6sPML 10 | o18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8E 11 | BTADAQH/MCkGA1UdDgQiBCBH8CWdpOToc6pBx5JVYJkRSTm9hmzDe4zsST4xAsks 12 | mTAKBggqhkjOPQQDAgNIADBFAiEAwKsDGIBi5YaxA7LPQ8wiKSGNkcwqdQwK/Z/F 13 | Gjp7z+sCIDygQBa/uJc2uY5PFlJhk4cH5BprUcCC28a2dla6Su3R 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/msp/keystore/0a1d58621830a46a59bf9715b4ac5c4e735de7d4764c673b7f0ce705c9e9daf3_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgmy5315HvKCX0S7jd 3 | Odp3ZtM1a81uVCXmo2ckRjZsGK6hRANCAARN2hJNeUbUyRyJw1XjeOA3L/wbVg0s 4 | PMiWczrlh+rouSJxILcThogYWJ8pV7rgMxVAv/SB3ACOcBheKmiHgLs/ 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/msp/signcerts/orderer.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICDzCCAbagAwIBAgIRAM2S4sfmzA5ug1/eiifB5TYwCgYIKoZIzj0EAwIwazEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFTATBgNVBAoTDGNpdGl6ZW5zLmNvbTEYMBYGA1UEAxMPY2EuY2l0 5 | aXplbnMuY29tMB4XDTE4MDkwODAzMTExM1oXDTI4MDkwNTAzMTExM1owWTELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xHTAbBgNVBAMTFG9yZGVyZXIuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0C 8 | AQYIKoZIzj0DAQcDQgAETdoSTXlG1MkcicNV43jgNy/8G1YNLDzIlnM65Yfq6Lki 9 | cSC3E4aIGFifKVe64DMVQL/0gdwAjnAYXipoh4C7P6NNMEswDgYDVR0PAQH/BAQD 10 | AgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgR/AlnaTk6HOqQceSVWCZEUk5 11 | vYZsw3uM7Ek+MQLJLJkwCgYIKoZIzj0EAwIDRwAwRAIgTkcBIf2SzaGE58OiXp61 12 | eXpb9v8i2Ldyv7Z57rXvdOwCIBQZqHu4pEbpGcK/tsT6n89fqqRCznMY5hu8kFJE 13 | ox4u 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/msp/tlscacerts/tlsca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOTCCAd+gAwIBAgIQR1NXUUyZtR1y0otOc4uYYTAKBggqhkjOPQQDAjBuMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 5 | aXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBuMQsw 6 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 7 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 8 | aXRpemVucy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATuD9+5CYPaYgbk 9 | 0NdWVyRc2KfcXNSZLzuwwzJitMyHGTLaO9UVeaSWOR8rX7hNwtmBYIBdhRqI4I+b 10 | oOpyT6Njo18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNV 11 | HRMBAf8EBTADAQH/MCkGA1UdDgQiBCAFuYvOdnSbf8C7SApX3WiYKkT6CxVHUfqu 12 | nrOqDn330TAKBggqhkjOPQQDAgNIADBFAiEAlPuS58iSfrcEdvZHM4Zq0BjPKp6w 13 | 53JqlCR+HgcpgygCIErAv31CtgfyixGk36+ueaagaONCfddhXKaaUH9AlqyC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOTCCAd+gAwIBAgIQR1NXUUyZtR1y0otOc4uYYTAKBggqhkjOPQQDAjBuMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 5 | aXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBuMQsw 6 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 7 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 8 | aXRpemVucy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATuD9+5CYPaYgbk 9 | 0NdWVyRc2KfcXNSZLzuwwzJitMyHGTLaO9UVeaSWOR8rX7hNwtmBYIBdhRqI4I+b 10 | oOpyT6Njo18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNV 11 | HRMBAf8EBTADAQH/MCkGA1UdDgQiBCAFuYvOdnSbf8C7SApX3WiYKkT6CxVHUfqu 12 | nrOqDn330TAKBggqhkjOPQQDAgNIADBFAiEAlPuS58iSfrcEdvZHM4Zq0BjPKp6w 13 | 53JqlCR+HgcpgygCIErAv31CtgfyixGk36+ueaagaONCfddhXKaaUH9AlqyC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXjCCAgSgAwIBAgIRALeQl16hqUokSsOq2D2VjkYwCgYIKoZIzj0EAwIwbjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFTATBgNVBAoTDGNpdGl6ZW5zLmNvbTEbMBkGA1UEAxMSdGxzY2Eu 5 | Y2l0aXplbnMuY29tMB4XDTE4MDkwODAzMTExM1oXDTI4MDkwNTAzMTExM1owWTEL 6 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 7 | cmFuY2lzY28xHTAbBgNVBAMTFG9yZGVyZXIuY2l0aXplbnMuY29tMFkwEwYHKoZI 8 | zj0CAQYIKoZIzj0DAQcDQgAEh8nOSKMt3UUTodo0VUHk3k6uhFrwd56kTN9u/6bi 9 | Op/KtWDrKYxnSItKEJdgb/ok/Mwf+bK6a/pfIlyrybhH8qOBlzCBlDAOBgNVHQ8B 10 | Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB 11 | /wQCMAAwKwYDVR0jBCQwIoAgBbmLznZ0m3/Au0gKV91omCpE+gsVR1H6rp6zqg59 12 | 99EwKAYDVR0RBCEwH4IUb3JkZXJlci5jaXRpemVucy5jb22CB29yZGVyZXIwCgYI 13 | KoZIzj0EAwIDSAAwRQIhAN8maMBIp33pH2o087iKIXJBriJVB4azRtBhuhcsY+IV 14 | AiBoPg098ukZzsTf8jJaSM/1AsB8XRgR9R1n+ctx50yi0g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgwpUAWYQSuDH8FrLd 3 | +0LKVXxzm4EgqY8pY4NjT7ExoLehRANCAASHyc5Ioy3dRROh2jRVQeTeTq6EWvB3 4 | nqRM327/puI6n8q1YOspjGdIi0oQl2Bv+iT8zB/5srpr+l8iXKvJuEfy 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/tlsca/05b98bce76749b7fc0bb480a57dd68982a44fa0b154751faae9eb3aa0e7df7d1_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgsB2yuIJnl5O3kUnH 3 | z7AN7tIip+BZuAW7qNjoFYrxpNShRANCAATuD9+5CYPaYgbk0NdWVyRc2KfcXNSZ 4 | LzuwwzJitMyHGTLaO9UVeaSWOR8rX7hNwtmBYIBdhRqI4I+boOpyT6Nj 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/tlsca/tlsca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOTCCAd+gAwIBAgIQR1NXUUyZtR1y0otOc4uYYTAKBggqhkjOPQQDAjBuMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 5 | aXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBuMQsw 6 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 7 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 8 | aXRpemVucy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATuD9+5CYPaYgbk 9 | 0NdWVyRc2KfcXNSZLzuwwzJitMyHGTLaO9UVeaSWOR8rX7hNwtmBYIBdhRqI4I+b 10 | oOpyT6Njo18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNV 11 | HRMBAf8EBTADAQH/MCkGA1UdDgQiBCAFuYvOdnSbf8C7SApX3WiYKkT6CxVHUfqu 12 | nrOqDn330TAKBggqhkjOPQQDAgNIADBFAiEAlPuS58iSfrcEdvZHM4Zq0BjPKp6w 13 | 53JqlCR+HgcpgygCIErAv31CtgfyixGk36+ueaagaONCfddhXKaaUH9AlqyC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/msp/admincerts/Admin@citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICDjCCAbSgAwIBAgIRAKy1ICwIJSe+SVDI1oWYxTAwCgYIKoZIzj0EAwIwazEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFTATBgNVBAoTDGNpdGl6ZW5zLmNvbTEYMBYGA1UEAxMPY2EuY2l0 5 | aXplbnMuY29tMB4XDTE4MDkwODAzMTExM1oXDTI4MDkwNTAzMTExM1owVzELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xGzAZBgNVBAMMEkFkbWluQGNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEG 8 | CCqGSM49AwEHA0IABCmL18SC+MqzFq+VOI2ZA19ha6A55HQtk92iXESU19EqWgQE 9 | f23A6PpmS9FCbOz7J7IA7shQYORQKZyDtNWTT0mjTTBLMA4GA1UdDwEB/wQEAwIH 10 | gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEfwJZ2k5OhzqkHHklVgmRFJOb2G 11 | bMN7jOxJPjECySyZMAoGCCqGSM49BAMCA0gAMEUCIQDODi6crnftKlwMNP+hIrSD 12 | uD5n4RhR4JzMHWRpAWlhOgIgYbWjfZMShb9NRQjnPaDcIxI5STvWDI30hOavoyOR 13 | QUo= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/msp/cacerts/ca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMzCCAdmgAwIBAgIQKx2zpcMgDJupzORFr0HL9zAKBggqhkjOPQQDAjBrMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRp 5 | emVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBrMQswCQYD 6 | VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5j 7 | aXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRgwFgYDVQQDEw9jYS5jaXRpemVu 8 | cy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATF+VB8ipkVtKXFZ9qTFBBT 9 | bwdIpqVckM8o+9WmHthppKiq0cMPdmVurB1m9zDbN4moJ15DZczlANvlFqE6sPML 10 | o18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8E 11 | BTADAQH/MCkGA1UdDgQiBCBH8CWdpOToc6pBx5JVYJkRSTm9hmzDe4zsST4xAsks 12 | mTAKBggqhkjOPQQDAgNIADBFAiEAwKsDGIBi5YaxA7LPQ8wiKSGNkcwqdQwK/Z/F 13 | Gjp7z+sCIDygQBa/uJc2uY5PFlJhk4cH5BprUcCC28a2dla6Su3R 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/msp/keystore/69e1d51f56dbccd6b54386f27e0ac7cfb39f4ca34981a89577b9343beda38665_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgC/kv0pEM8af36ipY 3 | +Md7o2jDqyUHo/fOs8je9Byh8imhRANCAAQpi9fEgvjKsxavlTiNmQNfYWugOeR0 4 | LZPdolxElNfRKloEBH9twOj6ZkvRQmzs+yeyAO7IUGDkUCmcg7TVk09J 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/msp/signcerts/Admin@citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICDjCCAbSgAwIBAgIRAKy1ICwIJSe+SVDI1oWYxTAwCgYIKoZIzj0EAwIwazEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFTATBgNVBAoTDGNpdGl6ZW5zLmNvbTEYMBYGA1UEAxMPY2EuY2l0 5 | aXplbnMuY29tMB4XDTE4MDkwODAzMTExM1oXDTI4MDkwNTAzMTExM1owVzELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xGzAZBgNVBAMMEkFkbWluQGNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEG 8 | CCqGSM49AwEHA0IABCmL18SC+MqzFq+VOI2ZA19ha6A55HQtk92iXESU19EqWgQE 9 | f23A6PpmS9FCbOz7J7IA7shQYORQKZyDtNWTT0mjTTBLMA4GA1UdDwEB/wQEAwIH 10 | gDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIEfwJZ2k5OhzqkHHklVgmRFJOb2G 11 | bMN7jOxJPjECySyZMAoGCCqGSM49BAMCA0gAMEUCIQDODi6crnftKlwMNP+hIrSD 12 | uD5n4RhR4JzMHWRpAWlhOgIgYbWjfZMShb9NRQjnPaDcIxI5STvWDI30hOavoyOR 13 | QUo= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/msp/tlscacerts/tlsca.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOTCCAd+gAwIBAgIQR1NXUUyZtR1y0otOc4uYYTAKBggqhkjOPQQDAjBuMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 5 | aXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBuMQsw 6 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 7 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 8 | aXRpemVucy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATuD9+5CYPaYgbk 9 | 0NdWVyRc2KfcXNSZLzuwwzJitMyHGTLaO9UVeaSWOR8rX7hNwtmBYIBdhRqI4I+b 10 | oOpyT6Njo18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNV 11 | HRMBAf8EBTADAQH/MCkGA1UdDgQiBCAFuYvOdnSbf8C7SApX3WiYKkT6CxVHUfqu 12 | nrOqDn330TAKBggqhkjOPQQDAgNIADBFAiEAlPuS58iSfrcEdvZHM4Zq0BjPKp6w 13 | 53JqlCR+HgcpgygCIErAv31CtgfyixGk36+ueaagaONCfddhXKaaUH9AlqyC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOTCCAd+gAwIBAgIQR1NXUUyZtR1y0otOc4uYYTAKBggqhkjOPQQDAjBuMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 5 | aXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBuMQsw 6 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 7 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 8 | aXRpemVucy5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATuD9+5CYPaYgbk 9 | 0NdWVyRc2KfcXNSZLzuwwzJitMyHGTLaO9UVeaSWOR8rX7hNwtmBYIBdhRqI4I+b 10 | oOpyT6Njo18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNV 11 | HRMBAf8EBTADAQH/MCkGA1UdDgQiBCAFuYvOdnSbf8C7SApX3WiYKkT6CxVHUfqu 12 | nrOqDn330TAKBggqhkjOPQQDAgNIADBFAiEAlPuS58iSfrcEdvZHM4Zq0BjPKp6w 13 | 53JqlCR+HgcpgygCIErAv31CtgfyixGk36+ueaagaONCfddhXKaaUH9AlqyC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLzCCAdWgAwIBAgIQPbd5Va87gY22CUNC3sj8DDAKBggqhkjOPQQDAjBuMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEVMBMGA1UEChMMY2l0aXplbnMuY29tMRswGQYDVQQDExJ0bHNjYS5j 5 | aXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEzWjBXMQsw 6 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 7 | YW5jaXNjbzEbMBkGA1UEAwwSQWRtaW5AY2l0aXplbnMuY29tMFkwEwYHKoZIzj0C 8 | AQYIKoZIzj0DAQcDQgAEbNIm9Sw9M/Tu1xfx5m4dVoP7CqjTqj27XJucoCw3zNUc 9 | x6ZBy/8ncAYXvm8e0TpRk6Akn4CYEuNW8n1N+LZPRqNsMGowDgYDVR0PAQH/BAQD 10 | AgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA 11 | MCsGA1UdIwQkMCKAIAW5i852dJt/wLtIClfdaJgqRPoLFUdR+q6es6oOfffRMAoG 12 | CCqGSM49BAMCA0gAMEUCIQCgq4mrUoG7jab5xXybxeFtdy5vzrra4IQej0dBvMcg 13 | pAIgL7RPU2aByuHJPyPW21uvGxfgaQjAripiRHhQYH99RiA= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/ordererOrganizations/citizens.com/users/Admin@citizens.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgM4pyZ6jpHtVH3sEN 3 | 9dxZAjKGc4WoWReeqJn4hAX3//ihRANCAARs0ib1LD0z9O7XF/Hmbh1Wg/sKqNOq 4 | Pbtcm5ygLDfM1RzHpkHL/ydwBhe+bx7ROlGToCSfgJgS41byfU34tk9G 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/ca/61c37558b4d39442597ce66fb8a87ac8b3a8e0452fb4b22845323c20c10a2651_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg2TnVlmQPNjPCzhPA 3 | rnAtxLwb3zuScwl5KMzg69UwyIehRANCAATAfG8Ah4kKYIrpmxVaGEWU0ErsRWbh 4 | 3dVjOX3Mp6tElyQSaLPL71sLTVIZ0aXTiwINqciuxDB2NAQUBKO/Q7Zk 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/ca/ca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQjCCAemgAwIBAgIQPgr/BUCNdQcwB8TuNK4S2jAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBmYmkuY2l0aXplbnMuY29tMRwwGgYDVQQD 8 | ExNjYS5mYmkuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | wHxvAIeJCmCK6ZsVWhhFlNBK7EVm4d3VYzl9zKerRJckEmizy+9bC01SGdGl04sC 10 | DanIrsQwdjQEFASjv0O2ZKNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG 11 | BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgYcN1WLTTlEJZfOZvuKh6 12 | yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgeeUh2xL+A1XPkUf+ 13 | GgvYZ6fIOx++MI9N5GCBnLYIPUgCIG4/T6+etRHfKQ6ToDWzMfXCMKfqNaLHvhW5 14 | NzI4xyvC 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/msp/admincerts/Admin@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQfE0sqgdb0dBVYS+sRSHZ0DAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENdejl9LDhKyYIJV50NNFVWmL+T/RMJ13 9 | zcsI7EMKehugPFyyT5jU24/uh7QWmLeXvoU5LyKlH8wLocBzsPASgqNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgTSvkfBbh 12 | JTew97sP7ye34Z39Zq+sTF23wqG2sfEFiWoCIF0Hoe/wOJjM/XX+w+4qlCU2etDs 13 | /tuI4ZFnFkVK1VWC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/msp/cacerts/ca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQjCCAemgAwIBAgIQPgr/BUCNdQcwB8TuNK4S2jAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBmYmkuY2l0aXplbnMuY29tMRwwGgYDVQQD 8 | ExNjYS5mYmkuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | wHxvAIeJCmCK6ZsVWhhFlNBK7EVm4d3VYzl9zKerRJckEmizy+9bC01SGdGl04sC 10 | DanIrsQwdjQEFASjv0O2ZKNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG 11 | BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgYcN1WLTTlEJZfOZvuKh6 12 | yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgeeUh2xL+A1XPkUf+ 13 | GgvYZ6fIOx++MI9N5GCBnLYIPUgCIG4/T6+etRHfKQ6ToDWzMfXCMKfqNaLHvhW5 14 | NzI4xyvC 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/msp/tlscacerts/tlsca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/msp/admincerts/Admin@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQfE0sqgdb0dBVYS+sRSHZ0DAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENdejl9LDhKyYIJV50NNFVWmL+T/RMJ13 9 | zcsI7EMKehugPFyyT5jU24/uh7QWmLeXvoU5LyKlH8wLocBzsPASgqNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgTSvkfBbh 12 | JTew97sP7ye34Z39Zq+sTF23wqG2sfEFiWoCIF0Hoe/wOJjM/XX+w+4qlCU2etDs 13 | /tuI4ZFnFkVK1VWC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/msp/cacerts/ca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQjCCAemgAwIBAgIQPgr/BUCNdQcwB8TuNK4S2jAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBmYmkuY2l0aXplbnMuY29tMRwwGgYDVQQD 8 | ExNjYS5mYmkuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | wHxvAIeJCmCK6ZsVWhhFlNBK7EVm4d3VYzl9zKerRJckEmizy+9bC01SGdGl04sC 10 | DanIrsQwdjQEFASjv0O2ZKNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG 11 | BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgYcN1WLTTlEJZfOZvuKh6 12 | yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgeeUh2xL+A1XPkUf+ 13 | GgvYZ6fIOx++MI9N5GCBnLYIPUgCIG4/T6+etRHfKQ6ToDWzMfXCMKfqNaLHvhW5 14 | NzI4xyvC 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/msp/keystore/3ecb834704a898d2cbbf6c9bcf64f52db408d991e9b2b2eaef3bec0e44750248_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgaXM0+VHw+J4ZkMK2 3 | LRm1gB2c7kXzybILiyWXlpwxu6qhRANCAAQOUZHz8An2ajHkp8PNXQCFaTaghUub 4 | KdnZwQnY40jLBdfRrm2av8R9dJahhuBoTQ1vnm4WCpqP/buH69XxJiu+ 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/msp/signcerts/peer0.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGjCCAcCgAwIBAgIRAI6DRHOnhikBUIdmxcSIs+4wCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHDAaBgNVBAMTE2Nh 5 | LmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMxMTEz 6 | WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAuZmJpLmNpdGl6ZW5zLmNvbTBZ 8 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABA5RkfPwCfZqMeSnw81dAIVpNqCFS5sp 9 | 2dnBCdjjSMsF19GubZq/xH10lqGG4GhNDW+ebhYKmo/9u4fr1fEmK76jTTBLMA4G 10 | A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIGHDdVi005RC 11 | WXzmb7ioesizqOBFL7SyKEUyPCDBCiZRMAoGCCqGSM49BAMCA0gAMEUCIQDjSZuD 12 | EHZRbJSbw6RDkDkuAIHxWBprhSZ4M19JVeaRFgIgdVT1nC9JOqDyghFKXCjFGA4s 13 | Ho5QLdN7IzE6O0Rq5rM= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/msp/tlscacerts/tlsca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAO3ewe9rvjv4ozxTR7xCSuIwCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAuZmJpLmNpdGl6ZW5zLmNv 8 | bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCeR+UguYU/B/wvAfFjRpGSBvylU 9 | 6vg7IJmo5EKMb7bofuXYIRgh6y25NDpSILUFovoZ/3ObHde4nSZgiWSZE2OjgZcw 10 | gZQwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD 11 | AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIPHf5sYa3tsMmfYu5PoUfVPxkJN1 12 | Kyyr35CmH9mAPywsMCgGA1UdEQQhMB+CFnBlZXIwLmZiaS5jaXRpemVucy5jb22C 13 | BXBlZXIwMAoGCCqGSM49BAMCA0cAMEQCICtv0ffTqAR2xo5udR2esbtZkrL4TNcb 14 | MVcSQp/t3zgTAiAatHS6kyjNmGEZoFZh5Mfl7oMehaqn7S0aXtxhTEbWuw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMNRtWeUteHP1p6LE 3 | vabbf1o3cbJWSd+Ml1fMJYHy4zehRANCAAQnkflILmFPwf8LwHxY0aRkgb8pVOr4 4 | OyCZqORCjG+26H7l2CEYIestuTQ6UiC1BaL6Gf9zmx3XuJ0mYIlkmRNj 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/msp/admincerts/Admin@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQfE0sqgdb0dBVYS+sRSHZ0DAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENdejl9LDhKyYIJV50NNFVWmL+T/RMJ13 9 | zcsI7EMKehugPFyyT5jU24/uh7QWmLeXvoU5LyKlH8wLocBzsPASgqNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgTSvkfBbh 12 | JTew97sP7ye34Z39Zq+sTF23wqG2sfEFiWoCIF0Hoe/wOJjM/XX+w+4qlCU2etDs 13 | /tuI4ZFnFkVK1VWC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/msp/cacerts/ca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQjCCAemgAwIBAgIQPgr/BUCNdQcwB8TuNK4S2jAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBmYmkuY2l0aXplbnMuY29tMRwwGgYDVQQD 8 | ExNjYS5mYmkuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | wHxvAIeJCmCK6ZsVWhhFlNBK7EVm4d3VYzl9zKerRJckEmizy+9bC01SGdGl04sC 10 | DanIrsQwdjQEFASjv0O2ZKNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG 11 | BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgYcN1WLTTlEJZfOZvuKh6 12 | yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgeeUh2xL+A1XPkUf+ 13 | GgvYZ6fIOx++MI9N5GCBnLYIPUgCIG4/T6+etRHfKQ6ToDWzMfXCMKfqNaLHvhW5 14 | NzI4xyvC 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/msp/keystore/0b44e27a93c7f301856e3cdf5bc42daae5fdcc6330a26da40c20ceedf0925d7f_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg1j6yFFWlNw3wugoA 3 | tEq0TzLgjwgNfXBAjD8SldCxRsyhRANCAASUg/zKFjqOdydkejLZaiWsNWPwfemT 4 | tGuxWnIn+xXD5AZsvkvOua715NDFpeGLb8p4UipQo2rVRoYgKFHwpIhK 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/msp/signcerts/peer1.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQTfIFUDbru8GzpQDfOiFsdjAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMS5mYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElIP8yhY6jncnZHoy2WolrDVj8H3pk7Rr 9 | sVpyJ/sVw+QGbL5Lzrmu9eTQxaXhi2/KeFIqUKNq1UaGIChR8KSISqNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgQ/hBDxS7 12 | rJvSzl0SUI/8PajS8gfd+Y3TdYanL7RIT64CIBaqb8LjQ7ibTovJW/ZvVR0LTF4B 13 | LQdjyu9+s8YNKr9h 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/msp/tlscacerts/tlsca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg2gAwIBAgIQGsSSr/DGr/dEHTXuYUU+ujAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2EuZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzEx 6 | MTNaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMS5mYmkuY2l0aXplbnMuY29t 8 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE5aUJJI7ywnVCwsdjGZDuqAqpt3ao 9 | lMi5uUaiCTumVUUI5fhj6x09Jmefhpd1gnKxUT0rvb/tbLaOza1K+tJWVaOBlzCB 10 | lDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC 11 | MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAg8d/mxhre2wyZ9i7k+hR9U/GQk3Ur 12 | LKvfkKYf2YA/LCwwKAYDVR0RBCEwH4IWcGVlcjEuZmJpLmNpdGl6ZW5zLmNvbYIF 13 | cGVlcjEwCgYIKoZIzj0EAwIDSAAwRQIhAI07Rcmh0ZukDowY9u0LAegfmgD7OUpj 14 | h8SkOJfY+FYTAiAy4mChjZMwvmpmbyQ0iE40yCYa7FkHFR6GSVxqcwt2jA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3KV1Uz6NdIeg/PoK 3 | usUrbvswLsUfznqPOC9YwRi2v1qhRANCAATlpQkkjvLCdULCx2MZkO6oCqm3dqiU 4 | yLm5RqIJO6ZVRQjl+GPrHT0mZ5+Gl3WCcrFRPSu9v+1sto7NrUr60lZV 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/f1dfe6c61adedb0c99f62ee4fa147d53f19093752b2cabdf90a61fd9803f2c2c_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgcbmRi5uIb0Tj1ZuE 3 | H4S7+C3z4kC0FKH5C5Pu+um81LmhRANCAAQZPJAZdmyrf+Mf7BNS+QCqTFpSLnaz 4 | LjoJ3J/mTY1rhCs4A5LK8hqY8LrEGIk4hOMWH/OgJDUsk3suL6F2m+6Q 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/tlsca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/msp/admincerts/Admin@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQfE0sqgdb0dBVYS+sRSHZ0DAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENdejl9LDhKyYIJV50NNFVWmL+T/RMJ13 9 | zcsI7EMKehugPFyyT5jU24/uh7QWmLeXvoU5LyKlH8wLocBzsPASgqNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgTSvkfBbh 12 | JTew97sP7ye34Z39Zq+sTF23wqG2sfEFiWoCIF0Hoe/wOJjM/XX+w+4qlCU2etDs 13 | /tuI4ZFnFkVK1VWC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/msp/cacerts/ca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQjCCAemgAwIBAgIQPgr/BUCNdQcwB8TuNK4S2jAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBmYmkuY2l0aXplbnMuY29tMRwwGgYDVQQD 8 | ExNjYS5mYmkuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | wHxvAIeJCmCK6ZsVWhhFlNBK7EVm4d3VYzl9zKerRJckEmizy+9bC01SGdGl04sC 10 | DanIrsQwdjQEFASjv0O2ZKNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG 11 | BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgYcN1WLTTlEJZfOZvuKh6 12 | yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgeeUh2xL+A1XPkUf+ 13 | GgvYZ6fIOx++MI9N5GCBnLYIPUgCIG4/T6+etRHfKQ6ToDWzMfXCMKfqNaLHvhW5 14 | NzI4xyvC 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/msp/keystore/27310794a32a7118b8ff31d0e181d4267c9aa41973fe7aa1d356a92ed5efd264_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgrx8LSWZrc7dU70k7 3 | IJcNW5Y0crxZo1yNUzmiFdwU3NChRANCAAQ116OX0sOErJgglXnQ00VVaYv5P9Ew 4 | nXfNywjsQwp6G6A8XLJPmNTbj+6HtBaYt5e+hTkvIqUfzAuhwHOw8BKC 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/msp/signcerts/Admin@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQfE0sqgdb0dBVYS+sRSHZ0DAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENdejl9LDhKyYIJV50NNFVWmL+T/RMJ13 9 | zcsI7EMKehugPFyyT5jU24/uh7QWmLeXvoU5LyKlH8wLocBzsPASgqNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgTSvkfBbh 12 | JTew97sP7ye34Z39Zq+sTF23wqG2sfEFiWoCIF0Hoe/wOJjM/XX+w+4qlCU2etDs 13 | /tuI4ZFnFkVK1VWC 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/msp/tlscacerts/tlsca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOzCCAeGgAwIBAgIQaH82FVc51e3OlaX31pPTOzAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2EuZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzEx 6 | MTNaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBmYmkuY2l0aXplbnMuY29t 8 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiN9fROfBnn2ukJyEQv7DNI/pRUeE 9 | 5iGhWc3KFl6yKrAGRyPyrPtpb2FKul8o7KhZ8UySi/a/Sda92VRQ2fyDfaNsMGow 10 | DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM 11 | BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIPHf5sYa3tsMmfYu5PoUfVPxkJN1Kyyr 12 | 35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQChpk7Cgz5WSAsIuVxRaHQzUR5P 13 | bBlFdheX4SEjUuiexwIgewHh/hpVaUon7VcP8n58I7dJtVPVhzrjyIEAr9StfzM= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/Admin@fbi.citizens.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgrkTfaRa3TVCB3wdO 3 | Oo0PzPG0A86gxK5a3LmdHkLHnYyhRANCAASI319E58Gefa6QnIRC/sM0j+lFR4Tm 4 | IaFZzcoWXrIqsAZHI/Ks+2lvYUq6XyjsqFnxTJKL9r9J1r3ZVFDZ/IN9 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/msp/admincerts/User1@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQO/6fPnV9KTAli1FTS1I/lzAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMUBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/B1yaZh7v6K1uioxG7sZ18462DQggys6 9 | cmhRlSJQLCnKjBtgFiHEHRyOPX1JObWBF2EmLdn1dUBuscWrlij07qNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgV/XQodQn 12 | PbHXnMwEDi0wknq7ZEPfwlLjfkh5xqVZ5foCIEZWSATRAKIlVw/uTTky3RzdMLUo 13 | DsUbTzku8dJ9G8ET 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/msp/cacerts/ca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQjCCAemgAwIBAgIQPgr/BUCNdQcwB8TuNK4S2jAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBmYmkuY2l0aXplbnMuY29tMRwwGgYDVQQD 8 | ExNjYS5mYmkuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | wHxvAIeJCmCK6ZsVWhhFlNBK7EVm4d3VYzl9zKerRJckEmizy+9bC01SGdGl04sC 10 | DanIrsQwdjQEFASjv0O2ZKNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG 11 | BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgYcN1WLTTlEJZfOZvuKh6 12 | yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgeeUh2xL+A1XPkUf+ 13 | GgvYZ6fIOx++MI9N5GCBnLYIPUgCIG4/T6+etRHfKQ6ToDWzMfXCMKfqNaLHvhW5 14 | NzI4xyvC 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/msp/keystore/d4b908f62a3ab145b7a9cbb87f759e7304af8e6f73787b7ed8878f81d357a5e0_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguEMO63Gc2mqDbcEA 3 | ATPkojt27XwaEsDstSMyRIthqA2hRANCAAT8HXJpmHu/orW6KjEbuxnXzjrYNCCD 4 | KzpyaFGVIlAsKcqMG2AWIcQdHI49fUk5tYEXYSYt2fV1QG6xxauWKPTu 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/msp/signcerts/User1@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQO/6fPnV9KTAli1FTS1I/lzAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMUBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/B1yaZh7v6K1uioxG7sZ18462DQggys6 9 | cmhRlSJQLCnKjBtgFiHEHRyOPX1JObWBF2EmLdn1dUBuscWrlij07qNNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgV/XQodQn 12 | PbHXnMwEDi0wknq7ZEPfwlLjfkh5xqVZ5foCIEZWSATRAKIlVw/uTTky3RzdMLUo 13 | DsUbTzku8dJ9G8ET 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/msp/tlscacerts/tlsca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICPDCCAeKgAwIBAgIRANg2iEqp2d0AY7/9QLMShsUwCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAZmJpLmNpdGl6ZW5zLmNv 8 | bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIckChRo2/m26JfNDRi0qf9xDrWy 9 | F8n0Dneu3HM8GIAeicSj2DSlhPcg06k3iqBEDtJRaYmnSbjrUQEYG2QOp/SjbDBq 10 | MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw 11 | DAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCDx3+bGGt7bDJn2LuT6FH1T8ZCTdSss 12 | q9+Qph/ZgD8sLDAKBggqhkjOPQQDAgNIADBFAiEAjT3YfJKLdVAGJ/OlR47FEgf2 13 | rkZwVazlEfPnoLOvSrgCICzeQVGZGSLXd7JUMgfx/k9kyv21ffu9Hb6eFUJsIzJy 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgi0etHLm5Ow/J4uS8 3 | AGd5+2LwccjffFEKXoCC6lwRVQWhRANCAASHJAoUaNv5tuiXzQ0YtKn/cQ61shfJ 4 | 9A53rtxzPBiAHonEo9g0pYT3INOpN4qgRA7SUWmJp0m461EBGBtkDqf0 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/msp/admincerts/User2@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQIL0Rm0dqsSy1TmKVr+xcHTAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMkBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKRRV/D46fr/30rWQU/6V0Ab+EczWYari 9 | pImfvDjTf6aO4wEA5n6cIA5BYNLFZFgzM4VvvjKwGv9EIBgLyDEFf6NNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgVGNIUpeP 12 | khOeKlE2RBWe+k5SGdBR2dXoZuBw1tu7ppECIBonE8UrmzFCBthNOBjBDqsG3sbI 13 | 3nbiSQX35jovlh3g 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/msp/cacerts/ca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQjCCAemgAwIBAgIQPgr/BUCNdQcwB8TuNK4S2jAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBmYmkuY2l0aXplbnMuY29tMRwwGgYDVQQD 8 | ExNjYS5mYmkuY2l0aXplbnMuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | wHxvAIeJCmCK6ZsVWhhFlNBK7EVm4d3VYzl9zKerRJckEmizy+9bC01SGdGl04sC 10 | DanIrsQwdjQEFASjv0O2ZKNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYG 11 | BFUdJQAwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgYcN1WLTTlEJZfOZvuKh6 12 | yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgeeUh2xL+A1XPkUf+ 13 | GgvYZ6fIOx++MI9N5GCBnLYIPUgCIG4/T6+etRHfKQ6ToDWzMfXCMKfqNaLHvhW5 14 | NzI4xyvC 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/msp/keystore/3e7aa857b45e03eab8cfcafaf3439fd11bd4d63cdd8822a0a5ce58453fa7baf7_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQggVqW7tTF7Sc8/S3R 3 | RFFicRHOTsuQV0aH5Au+tQ1DRF2hRANCAAQpFFX8Pjp+v/fStZBT/pXQBv4RzNZh 4 | quKkiZ+8ONN/po7jAQDmfpwgDkFg0sVkWDMzhW++MrAa/0QgGAvIMQV/ 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/msp/signcerts/User2@fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGDCCAb+gAwIBAgIQIL0Rm0dqsSy1TmKVr+xcHTAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEcMBoGA1UEAxMTY2Eu 5 | ZmJpLmNpdGl6ZW5zLmNvbTAeFw0xODA5MDgwMzExMTNaFw0yODA5MDUwMzExMTNa 6 | MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMkBmYmkuY2l0aXplbnMuY29tMFkw 8 | EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKRRV/D46fr/30rWQU/6V0Ab+EczWYari 9 | pImfvDjTf6aO4wEA5n6cIA5BYNLFZFgzM4VvvjKwGv9EIBgLyDEFf6NNMEswDgYD 10 | VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgYcN1WLTTlEJZ 11 | fOZvuKh6yLOo4EUvtLIoRTI8IMEKJlEwCgYIKoZIzj0EAwIDRwAwRAIgVGNIUpeP 12 | khOeKlE2RBWe+k5SGdBR2dXoZuBw1tu7ppECIBonE8UrmzFCBthNOBjBDqsG3sbI 13 | 3nbiSQX35jovlh3g 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/msp/tlscacerts/tlsca.fbi.citizens.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICSjCCAfCgAwIBAgIRAItvdQ5/G9f69WvyfaeLVw8wCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjB2MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQZmJpLmNpdGl6ZW5zLmNvbTEfMB0G 8 | A1UEAxMWdGxzY2EuZmJpLmNpdGl6ZW5zLmNvbTBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABBk8kBl2bKt/4x/sE1L5AKpMWlIudrMuOgncn+ZNjWuEKzgDksryGpjw 10 | usQYiTiE4xYf86AkNSyTey4voXab7pCjXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNV 11 | HSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIPHf5sYa3tsM 12 | mfYu5PoUfVPxkJN1Kyyr35CmH9mAPywsMAoGCCqGSM49BAMCA0gAMEUCIQDr/N5p 13 | 1F7B30VZ2ddorgW82Q0ZYPri1318LtgrnalslgIgcRG2vsEq8jkFJPxgQs2G/CU7 14 | Oyu93CtMYz9smNN5HTk= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOzCCAeKgAwIBAgIRAOy3dcob83Uk+CW2HLf8K5wwCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEGZiaS5jaXRpemVucy5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLmZiaS5jaXRpemVucy5jb20wHhcNMTgwOTA4MDMxMTEzWhcNMjgwOTA1MDMx 6 | MTEzWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjJAZmJpLmNpdGl6ZW5zLmNv 8 | bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHsc2ZixIWerOJzHkDLHUzb7Mw5D 9 | rNrVAxBUEW6pT60tm3e5Geg1dj4vN7pCgNhLUZSWVRZUtBPDXx/doczCCJmjbDBq 10 | MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw 11 | DAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCDx3+bGGt7bDJn2LuT6FH1T8ZCTdSss 12 | q9+Qph/ZgD8sLDAKBggqhkjOPQQDAgNHADBEAiBVKdxa+SEGmGgmq8AmHmaiRDgh 13 | F6wYfLCg06JbDCPFwAIgSofAu+wqtD7vqFOakJAY8eej3NSVQzTj2xV32AOqlVk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User2@fbi.citizens.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOMpYieh7MARvC9xd 3 | afTFS8oNiuru9kuWjNqFUgPW7+OhRANCAAR7HNmYsSFnqzicx5Ayx1M2+zMOQ6za 4 | 1QMQVBFuqU+tLZt3uRnoNXY+Lze6QoDYS1GUllUWVLQTw18f3aHMwgiZ 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /fabric-service/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright SecureKey Technologies Inc. All Rights Reserved. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | version: '2' 7 | 8 | services: 9 | 10 | orderer: 11 | image: ${FABRIC_DOCKER_REGISTRY}${FABRIC_ORDERER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_ORDERER_FIXTURE_TAG} 12 | environment: 13 | - ORDERER_GENERAL_LOGLEVEL=info 14 | - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 15 | - ORDERER_GENERAL_GENESISMETHOD=file 16 | - ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/orderer.genesis.block 17 | - ORDERER_GENERAL_LOCALMSPID=OrdererMSP 18 | - ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer 19 | - ORDERER_GENERAL_TLS_ENABLED=true 20 | - ORDERER_GENERAL_TLS_PRIVATEKEY=/etc/hyperledger/tls/orderer/server.key 21 | - ORDERER_GENERAL_TLS_CERTIFICATE=/etc/hyperledger/tls/orderer/server.crt 22 | - ORDERER_GENERAL_TLS_ROOTCAS=[/etc/hyperledger/tls/orderer/ca.crt] 23 | - ORDERER_GENERAL_TLS_CLIENTAUTHENABLED 24 | - ORDERER_GENERAL_TLS_CLIENTROOTCAS 25 | #comment out logging.driver in order to render the debug logs 26 | # logging: 27 | # driver: none 28 | working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer 29 | command: orderer 30 | ports: 31 | - 7050:7050 32 | volumes: 33 | - ./artifacts:/etc/hyperledger/configtx 34 | - ./crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/msp:/etc/hyperledger/msp/orderer 35 | - ./crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/tls:/etc/hyperledger/tls/orderer 36 | - ./crypto-config/peerOrganizations/fbi.citizens.com/tlsca:/etc/hyperledger/tlsca 37 | networks: 38 | default: 39 | aliases: 40 | - orderer.citizens.com 41 | 42 | FBIpeer1: 43 | image: ${FABRIC_DOCKER_REGISTRY}${FABRIC_PEER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_PEER_FIXTURE_TAG} 44 | environment: 45 | - CORE_VM_ENDPOINT 46 | - CORE_PEER_ID=peer0.fbi.citizens.com 47 | - CORE_LOGGING_PEER=info 48 | # - CORE_LOGGING_GRPC=debug 49 | # - CORE_LOGGING_GOSSIP=debug 50 | # - CORE_CHAINCODE_STARTUPTIMEOUT=30s 51 | - CORE_CHAINCODE_LOGGING_SHIM=debug 52 | - CORE_CHAINCODE_LOGGING_LEVEL=debug 53 | - CORE_CHAINCODE_BUILDER=${FABRIC_DOCKER_REGISTRY}${FABRIC_BUILDER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BUILDER_FIXTURE_TAG} 54 | - CORE_CHAINCODE_GOLANG_RUNTIME=${FABRIC_BASE_DOCKER_REGISTRY}${FABRIC_BASEOS_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BASEOS_FIXTURE_TAG} 55 | - CORE_CHAINCODE_EXECUTETIMEOUT=120s 56 | - CORE_VM_DOCKER_ATTACHSTDOUT=false 57 | - CORE_PEER_LOCALMSPID=FBIMSP 58 | - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer 59 | - CORE_PEER_LISTENADDRESS=0.0.0.0:7051 60 | - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 61 | - CORE_PEER_GOSSIP_BOOTSTRAP=127.0.0.1:7051 62 | - CORE_PEER_ADDRESS=peer0.fbi.citizens.com:7051 63 | - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.fbi.citizens.com:7051 64 | - CORE_PEER_TLS_ENABLED=true 65 | - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/peer/server.key 66 | - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/peer/server.crt 67 | - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tls/peer/ca.crt 68 | - CORE_PEER_TLS_CLIENTAUTHREQUIRED 69 | - CORE_PEER_TLS_CLIENTROOTCAS_FILES 70 | # # the following setting starts chaincode containers on the same 71 | # # bridge network as the peers 72 | # # https://docs.docker.com/compose/networking/ 73 | - CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID} 74 | - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default 75 | #comment out logging.driver in order to render the debug logs 76 | # logging: 77 | # driver: none 78 | working_dir: /opt/gopath/src/github.com/hyperledger/fabric 79 | command: peer node start 80 | ports: 81 | - "7051:7051" 82 | expose: 83 | - "7051" 84 | - "7052" 85 | volumes: 86 | - /var/run/:/var/run/ 87 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/msp:/etc/hyperledger/msp/peer 88 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/tls:/etc/hyperledger/tls/peer 89 | - ./crypto-config/peerOrganizations/fbi.citizens.com/tlsca:/etc/hyperledger/orgs/fbi.citizens.com/tlsca 90 | networks: 91 | default: 92 | aliases: 93 | - peer0.fbi.citizens.com 94 | depends_on: 95 | - orderer 96 | 97 | FBIpeer2: 98 | image: ${FABRIC_DOCKER_REGISTRY}${FABRIC_PEER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_PEER_FIXTURE_TAG} 99 | environment: 100 | - CORE_VM_ENDPOINT 101 | - CORE_PEER_ID=peer1.fbi.citizens.com 102 | - CORE_LOGGING_PEER=info 103 | # - CORE_LOGGING_GRPC=debug 104 | # - CORE_LOGGING_GOSSIP=debug 105 | # - CORE_CHAINCODE_STARTUPTIMEOUT=30s 106 | - CORE_CHAINCODE_LOGGING_SHIM=debug 107 | - CORE_CHAINCODE_LOGGING_LEVEL=debug 108 | - CORE_CHAINCODE_BUILDER=${FABRIC_DOCKER_REGISTRY}${FABRIC_BUILDER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BUILDER_FIXTURE_TAG} 109 | - CORE_CHAINCODE_GOLANG_RUNTIME=${FABRIC_BASE_DOCKER_REGISTRY}${FABRIC_BASEOS_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BASEOS_FIXTURE_TAG} 110 | - CORE_CHAINCODE_EXECUTETIMEOUT=120s 111 | - CORE_VM_DOCKER_ATTACHSTDOUT=false 112 | - CORE_PEER_LOCALMSPID=FBIMSP 113 | - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer 114 | - CORE_PEER_LISTENADDRESS=0.0.0.0:7151 115 | - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7152 116 | - CORE_PEER_ADDRESS=peer1.fbi.citizens.com:7151 117 | - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.fbi.citizens.com:7151 118 | - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.fbi.citizens.com:7051 119 | - CORE_PEER_TLS_ENABLED=true 120 | - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/peer/server.key 121 | - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/peer/server.crt 122 | - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tls/peer/ca.crt 123 | - CORE_PEER_TLS_CLIENTAUTHREQUIRED 124 | - CORE_PEER_TLS_CLIENTROOTCAS_FILES 125 | # # the following setting starts chaincode containers on the same 126 | # # bridge network as the peers 127 | # # https://docs.docker.com/compose/networking/ 128 | - CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID} 129 | - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default 130 | #comment out logging.driver in order to render the debug logs 131 | # logging: 132 | # driver: none 133 | working_dir: /opt/gopath/src/github.com/hyperledger/fabric 134 | command: peer node start 135 | ports: 136 | - "7151:7151" 137 | expose: 138 | - "7151" 139 | - "7152" 140 | volumes: 141 | - /var/run/:/var/run/ 142 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/msp:/etc/hyperledger/msp/peer 143 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/tls:/etc/hyperledger/tls/peer 144 | - ./crypto-config/peerOrganizations/fbi.citizens.com/tlsca:/etc/hyperledger/orgs/fbi.citizens.com/tlsca 145 | networks: 146 | default: 147 | aliases: 148 | - peer1.fbi.citizens.com 149 | depends_on: 150 | - orderer 151 | # # builder is only here to create a dependency on the image (not used as part of compose) 152 | # builder: 153 | # image: ${FABRIC_DOCKER_REGISTRY}${FABRIC_BUILDER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BUILDER_FIXTURE_TAG} 154 | # command: tail -F anything 155 | # logging: 156 | # driver: none 157 | 158 | # # golangruntime is only here to create a dependency on the image (not used as part of compose) 159 | # golangruntime: 160 | # image: ${FABRIC_BASE_DOCKER_REGISTRY}${FABRIC_BASEOS_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BASEOS_FIXTURE_TAG} 161 | # command: tail -F anything 162 | # logging: 163 | # driver: none 164 | 165 | networks: 166 | default: 167 | -------------------------------------------------------------------------------- /fabric-service/doman.txt: -------------------------------------------------------------------------------- 1 | 2 | 127.0.0.1 ebbyte.com 3 | 127.0.0.1 orderer.ebbyte.com 4 | 127.0.0.1 akka.ebbyte.com 5 | 127.0.0.1 peer0.akka.ebbyte.com 6 | 127.0.0.1 peer1.akka.ebbyte.com -------------------------------------------------------------------------------- /fabric-service/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "========>" 3 | echo "clean docker" 4 | docker stop $(docker ps -a -q) 5 | docker rm $(docker ps -a -q) 6 | 7 | rm all.log 8 | 9 | echo "start docker" 10 | docker-compose up >> all.log 2>&1 & 11 | echo "start success..." -------------------------------------------------------------------------------- /fabric-service/stop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "=========>" 3 | 4 | echo "stop docker" 5 | docker-compose down 6 | 7 | echo "clean docker" 8 | docker stop $(docker ps -a -q) 9 | docker rm $(docker ps -a -q) 10 | 11 | echo "stop success" -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # fabric-go-sdk 学习 2 | 3 | ## 1. 安装软件环境 4 | 5 | 此项目在macPro环境下部署 6 | 7 | 1. 安装git 8 | 2. 安装golang 9 | 3. 安装docker 10 | 4. 安装docker-compose 11 | 12 | 以上软件安装自行google吧,教程很多。 13 | 14 | ## 2. 编译工具 15 | 16 | - 把[fabric源码](https://github.com/hyperledger/fabric)下载到 $GOPATH/src/github.com/hyperledger 目录下 17 | 18 | git clone git@github.com:hyperledger/fabric.git 19 | 20 | - 切换到1.1版本(本项目使用fabirc1.1作为演示) 21 | 22 | git checkout -b release-1.1 origin/release-1.1 23 | 24 | - 生成工具包 25 | 26 | 在fabric目录$GOPATH/src/github.com/hyperledger/fabric目录下执行 27 | 28 | make configtxgen 29 | 30 | make cryptogen 31 | 32 | 在build/bin目录下生成 configtxgen cryptogen 文件 33 | 34 | - 把上面编译好的文件放到本项目 fabric-service/bin 目录下 35 | 36 | ```shell 37 | ➜ fabric-service git:(master) ✗ tree -l bin 38 | bin 39 | ├── configtxgen 40 | └── cryptogen 41 | ``` 42 | 43 | ## 编写配置文件 44 | 45 | - 约定 46 | 47 | 本项目暂定1个组织FBI,组织有2个节点,2个用户 48 | 49 | 根域名使用 citizens.com 50 | 51 | ### crypto-config.yaml 文件 52 | 53 | ```shell 54 | 使用下面命令生成 文件模版 55 | ./bin/cryptogen showtemplate > crypto-config.yaml 56 | ``` 57 | 58 | 根据实际定义修改内容,最终结果为 59 | 60 | ```yaml 61 | OrdererOrgs: 62 | - Name: Orderer 63 | Domain: citizens.com 64 | Specs: 65 | - Hostname: orderer 66 | PeerOrgs: 67 | - Name: FBI 68 | Domain: fbi.citizens.com 69 | EnableNodeOUs: false 70 | Template: 71 | Count: 2 72 | Users: 73 | Count: 2 74 | ``` 75 | 76 | - 在fabric-service目录下生成证书目录 77 | 78 | ``` 79 | ➜ fabric-service git:(master) ✗ ./bin/cryptogen generate --config=crypto-config.yaml 80 | fbi.citizens.com 81 | ``` 82 | 83 | ### configtx.yaml 文件 84 | 85 | - 从fabric配置文件例子中获取模版 86 | 87 | ```shell 88 | ➜ fabric-service git:(master) ✗ 89 | cp $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/configtx.yaml ./ 90 | ``` 91 | 92 | - 修改后的内容 93 | 94 | ```yaml 95 | --- 96 | Profiles: 97 | 98 | CitizensGenesis: 99 | Capabilities: 100 | <<: *ChannelCapabilities 101 | Orderer: 102 | <<: *OrdererDefaults 103 | Organizations: 104 | - *OrdererOrg 105 | Capabilities: 106 | <<: *OrdererCapabilities 107 | Consortiums: 108 | SampleConsortium: 109 | Organizations: 110 | - *FBI 111 | CitizensChannel: 112 | Consortium: SampleConsortium 113 | Application: 114 | <<: *ApplicationDefaults 115 | Organizations: 116 | - *FBI 117 | Capabilities: 118 | <<: *ApplicationCapabilities 119 | Organizations: 120 | - &OrdererOrg 121 | Name: OrdererOrg 122 | ID: OrdererMSP 123 | MSPDir: crypto-config/ordererOrganizations/citizens.com/msp 124 | - &FBI 125 | Name: FBIMSP 126 | ID: FBIMSP 127 | MSPDir: crypto-config/peerOrganizations/fbi.citizens.com/msp 128 | AnchorPeers: 129 | - Host: peer0.fbi.citizens.com 130 | Port: 7051 131 | Orderer: &OrdererDefaults 132 | OrdererType: solo 133 | Addresses: 134 | - orderer.citizens.com:7050 135 | BatchTimeout: 2s 136 | BatchSize: 137 | MaxMessageCount: 10 138 | AbsoluteMaxBytes: 98 MB 139 | PreferredMaxBytes: 512 KB 140 | Organizations: 141 | Application: &ApplicationDefaults 142 | Organizations: 143 | Capabilities: 144 | Global: &ChannelCapabilities 145 | V1_1: true 146 | Orderer: &OrdererCapabilities 147 | V1_1: true 148 | Application: &ApplicationCapabilities 149 | V1_1: true 150 | 151 | ``` 152 | 153 | - 生成order创世区块锚节点配置文件 154 | 155 | ```shell 156 | mkdir artifacts 157 | //生成order创世区块 158 | ./bin/configtxgen --profile CitizensGenesis -outputBlock ./artifacts/orderer.genesis.block 159 | // 生成channel初始块 160 | ./bin/configtxgen --profile CitizensChannel -outputCreateChannelTx ./artifacts/citizens.tx -channelID citizens 161 | //创建锚节点更新文件 162 | ./bin/configtxgen --profile CitizensChannel -outputAnchorPeersUpdate ./artifacts/FBImspanchors.tx -channelID citizens -asOrg FBIMSP 163 | ``` 164 | 165 | - 生成channel初始块 166 | 167 | channel 名字为 citizens 168 | 169 | ```shell 170 | 命令: 171 | ./bin/configtxgen --profile CitizensChain -outputCreateChannelTx ./artifacts/citizens.tx -channelID citizens 172 | ---------------------------------执行结果---------------------------------------------- 173 | ➜ fabric-service git:(master) ✗ ./bin/configtxgen --profile CitizensChain -outputCreateChannelTx ./artifacts/citizens.tx -channelID citizens 174 | 2018-08-11 16:06:07.685 CST [common/tools/configtxgen] main -> INFO 001 Loading configuration 175 | 2018-08-11 16:06:07.691 CST [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 002 Generating new channel configtx 176 | 2018-08-11 16:06:07.712 CST [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 003 Writing new channel tx 177 | ``` 178 | 179 | - 以上命令执行完毕后查看生成的结果,如果以下文件都生成成功说明以上操作都没有问题 180 | 181 | ```shell 182 | fabric-service git:(master) ✗ tree -l artifacts 183 | artifacts 184 | ├── appleorgmspanchors.tx 185 | ├── citizens.tx 186 | ├── fbiorgmspanchors.tx 187 | └── orderer.genesis.block 188 | ``` 189 | 190 | ### docker-compose.yaml 文件 191 | 192 | - 复制模版文件 193 | 194 | ```shell 195 | 基于go模版文件修改 196 | cp $GOPATH/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/dockerenv/docker-compose.yaml ./ 197 | cp $GOPATH/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/dockerenv/.env ./ 198 | ``` 199 | 200 | - 修改后的结果 201 | 202 | ```yaml 203 | version: '2' 204 | services: 205 | orderer: 206 | image: ${FABRIC_DOCKER_REGISTRY}${FABRIC_ORDERER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_ORDERER_FIXTURE_TAG} 207 | environment: 208 | - ORDERER_GENERAL_LOGLEVEL=info 209 | - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 210 | - ORDERER_GENERAL_GENESISMETHOD=file 211 | - ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/orderer.genesis.block 212 | - ORDERER_GENERAL_LOCALMSPID=OrdererMSP 213 | - ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer 214 | - ORDERER_GENERAL_TLS_ENABLED=true 215 | - ORDERER_GENERAL_TLS_PRIVATEKEY=/etc/hyperledger/tls/orderer/server.key 216 | - ORDERER_GENERAL_TLS_CERTIFICATE=/etc/hyperledger/tls/orderer/server.crt 217 | - ORDERER_GENERAL_TLS_ROOTCAS=[/etc/hyperledger/tls/orderer/ca.crt] 218 | - ORDERER_GENERAL_TLS_CLIENTAUTHENABLED 219 | - ORDERER_GENERAL_TLS_CLIENTROOTCAS 220 | #comment out logging.driver in order to render the debug logs 221 | # logging: 222 | # driver: none 223 | working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer 224 | command: orderer 225 | ports: 226 | - 7050:7050 227 | volumes: 228 | - ./artifacts:/etc/hyperledger/configtx 229 | - ./crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/msp:/etc/hyperledger/msp/orderer 230 | - ./crypto-config/ordererOrganizations/citizens.com/orderers/orderer.citizens.com/tls:/etc/hyperledger/tls/orderer 231 | - ./crypto-config/peerOrganizations/fbi.citizens.com/tlsca:/etc/hyperledger/tlsca 232 | networks: 233 | default: 234 | aliases: 235 | - orderer.citizens.com 236 | 237 | FBIpeer1: 238 | image: ${FABRIC_DOCKER_REGISTRY}${FABRIC_PEER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_PEER_FIXTURE_TAG} 239 | environment: 240 | - CORE_VM_ENDPOINT 241 | - CORE_PEER_ID=peer0.fbi.citizens.com 242 | - CORE_LOGGING_PEER=info 243 | # - CORE_LOGGING_GRPC=debug 244 | # - CORE_LOGGING_GOSSIP=debug 245 | # - CORE_CHAINCODE_STARTUPTIMEOUT=30s 246 | - CORE_CHAINCODE_LOGGING_SHIM=debug 247 | - CORE_CHAINCODE_LOGGING_LEVEL=debug 248 | - CORE_CHAINCODE_BUILDER=${FABRIC_DOCKER_REGISTRY}${FABRIC_BUILDER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BUILDER_FIXTURE_TAG} 249 | - CORE_CHAINCODE_GOLANG_RUNTIME=${FABRIC_BASE_DOCKER_REGISTRY}${FABRIC_BASEOS_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BASEOS_FIXTURE_TAG} 250 | - CORE_CHAINCODE_EXECUTETIMEOUT=120s 251 | - CORE_VM_DOCKER_ATTACHSTDOUT=false 252 | - CORE_PEER_LOCALMSPID=FBIMSP 253 | - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer 254 | - CORE_PEER_LISTENADDRESS=0.0.0.0:7051 255 | - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 256 | - CORE_PEER_GOSSIP_BOOTSTRAP=127.0.0.1:7051 257 | - CORE_PEER_ADDRESS=peer0.fbi.citizens.com:7051 258 | - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.fbi.citizens.com:7051 259 | - CORE_PEER_TLS_ENABLED=true 260 | - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/peer/server.key 261 | - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/peer/server.crt 262 | - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tls/peer/ca.crt 263 | - CORE_PEER_TLS_CLIENTAUTHREQUIRED 264 | - CORE_PEER_TLS_CLIENTROOTCAS_FILES 265 | # # the following setting starts chaincode containers on the same 266 | # # bridge network as the peers 267 | # # https://docs.docker.com/compose/networking/ 268 | - CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID} 269 | - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default 270 | #comment out logging.driver in order to render the debug logs 271 | # logging: 272 | # driver: none 273 | working_dir: /opt/gopath/src/github.com/hyperledger/fabric 274 | command: peer node start 275 | ports: 276 | - "7051:7051" 277 | expose: 278 | - "7051" 279 | - "7052" 280 | volumes: 281 | - /var/run/:/var/run/ 282 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/msp:/etc/hyperledger/msp/peer 283 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer0.fbi.citizens.com/tls:/etc/hyperledger/tls/peer 284 | - ./crypto-config/peerOrganizations/fbi.citizens.com/tlsca:/etc/hyperledger/orgs/fbi.citizens.com/tlsca 285 | networks: 286 | default: 287 | aliases: 288 | - peer0.fbi.citizens.com 289 | depends_on: 290 | - orderer 291 | 292 | FBIpeer2: 293 | image: ${FABRIC_DOCKER_REGISTRY}${FABRIC_PEER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_PEER_FIXTURE_TAG} 294 | environment: 295 | - CORE_VM_ENDPOINT 296 | - CORE_PEER_ID=peer1.fbi.citizens.com 297 | - CORE_LOGGING_PEER=info 298 | # - CORE_LOGGING_GRPC=debug 299 | # - CORE_LOGGING_GOSSIP=debug 300 | # - CORE_CHAINCODE_STARTUPTIMEOUT=30s 301 | - CORE_CHAINCODE_LOGGING_SHIM=debug 302 | - CORE_CHAINCODE_LOGGING_LEVEL=debug 303 | - CORE_CHAINCODE_BUILDER=${FABRIC_DOCKER_REGISTRY}${FABRIC_BUILDER_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BUILDER_FIXTURE_TAG} 304 | - CORE_CHAINCODE_GOLANG_RUNTIME=${FABRIC_BASE_DOCKER_REGISTRY}${FABRIC_BASEOS_FIXTURE_IMAGE}:${FABRIC_ARCH}${FABRIC_ARCH_SEP}${FABRIC_BASEOS_FIXTURE_TAG} 305 | - CORE_CHAINCODE_EXECUTETIMEOUT=120s 306 | - CORE_VM_DOCKER_ATTACHSTDOUT=false 307 | - CORE_PEER_LOCALMSPID=FBIMSP 308 | - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer 309 | - CORE_PEER_LISTENADDRESS=0.0.0.0:7151 310 | - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7152 311 | - CORE_PEER_ADDRESS=peer1.fbi.citizens.com:7151 312 | - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.fbi.citizens.com:7151 313 | - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.fbi.citizens.com:7051 314 | - CORE_PEER_TLS_ENABLED=true 315 | - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/peer/server.key 316 | - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/peer/server.crt 317 | - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tls/peer/ca.crt 318 | - CORE_PEER_TLS_CLIENTAUTHREQUIRED 319 | - CORE_PEER_TLS_CLIENTROOTCAS_FILES 320 | # # the following setting starts chaincode containers on the same 321 | # # bridge network as the peers 322 | # # https://docs.docker.com/compose/networking/ 323 | - CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID} 324 | - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default 325 | #comment out logging.driver in order to render the debug logs 326 | # logging: 327 | # driver: none 328 | working_dir: /opt/gopath/src/github.com/hyperledger/fabric 329 | command: peer node start 330 | ports: 331 | - "7151:7151" 332 | expose: 333 | - "7151" 334 | - "7152" 335 | volumes: 336 | - /var/run/:/var/run/ 337 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/msp:/etc/hyperledger/msp/peer 338 | - ./crypto-config/peerOrganizations/fbi.citizens.com/peers/peer1.fbi.citizens.com/tls:/etc/hyperledger/tls/peer 339 | - ./crypto-config/peerOrganizations/fbi.citizens.com/tlsca:/etc/hyperledger/orgs/fbi.citizens.com/tlsca 340 | networks: 341 | default: 342 | aliases: 343 | - peer1.fbi.citizens.com 344 | depends_on: 345 | - orderer 346 | 347 | networks: 348 | default: 349 | 350 | ``` 351 | 352 | - 修改hosts 把以下内容加入/etc/hosts文件 353 | 354 | ```shell 355 | 127.0.0.1 peer0.fbi.citizens.com 356 | 127.0.0.1 peer1.fbi.citizens.com 357 | 127.0.0.1 apple.citizens.com 358 | 127.0.0.1 fbi.citizens.com 359 | 127.0.0.1 orderer.citizens.com 360 | 127.0.0.1 citizens.com 361 | ``` 362 | 363 | ### 编写config.yaml 文件 364 | 365 | 进入web-service目录 366 | 367 | cp $GOPATH/src/github.com/hyperledger/fabric-sdk-go/test/fixtures/config/config_e2e.yaml ./config.yaml 368 | 369 | 修改后的结果 370 | 371 | ```yaml 372 | version: 1.0.0 373 | client: 374 | organization: FBI 375 | 376 | logging: 377 | level: info 378 | cryptoconfig: 379 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config 380 | credentialStore: 381 | path: "/tmp/state-store" 382 | cryptoStore: 383 | path: /tmp/msp 384 | BCCSP: 385 | security: 386 | enabled: true 387 | default: 388 | provider: "SW" 389 | hashAlgorithm: "SHA2" 390 | softVerify: true 391 | level: 256 392 | 393 | tlsCerts: 394 | # [Optional]. Use system certificate pool when connecting to peers, orderers (for negotiating TLS) Default: false 395 | systemCertPool: false 396 | 397 | # [Optional]. Client key and cert for TLS handshake with peers and orderers 398 | client: 399 | key: 400 | path: 401 | cert: 402 | path: 403 | 404 | channels: 405 | citizens: 406 | peers: 407 | peer0.fbi.citizens.com: 408 | endorsingPeer: true 409 | chaincodeQuery: true 410 | ledgerQuery: true 411 | eventSource: true 412 | organizations: 413 | FBI: 414 | mspid: FBIMSP 415 | 416 | # This org's MSP store (absolute path or relative to client.cryptoconfig) 417 | cryptoPath: peerOrganizations/fbi.citizens.com/users/{username}@fbi.citizens.com/msp 418 | 419 | peers: 420 | - peer0.fbi.citizens.com 421 | - peer1.fbi.citizens.com 422 | 423 | 424 | certificateAuthorities: 425 | - ca.fbi.citizens.com 426 | 427 | 428 | # 429 | orderers: 430 | orderer.citizens.com: 431 | url: localhost:7050 432 | 433 | # these are standard properties defined by the gRPC library 434 | # they will be passed in as-is to gRPC client constructor 435 | grpcOptions: 436 | ssl-target-name-override: orderer.citizens.com 437 | # These parameters should be set in coordination with the keepalive policy on the server, 438 | # as incompatible settings can result in closing of connection. 439 | # When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled 440 | keep-alive-time: 0s 441 | keep-alive-timeout: 20s 442 | keep-alive-permit: false 443 | fail-fast: false 444 | # allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs 445 | allow-insecure: false 446 | 447 | tlsCACerts: 448 | # Certificate location absolute path 449 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/ordererOrganizations/citizens.com/tlsca/tlsca.citizens.com-cert.pem 450 | 451 | # 452 | # List of peers to send various requests to, including endorsement, query 453 | # and event listener registration. 454 | # 455 | peers: 456 | peer0.fbi.citizens.com: 457 | # this URL is used to send endorsement and query requests 458 | url: peer0.fbi.citizens.com:7051 459 | 460 | grpcOptions: 461 | ssl-target-name-override: peer0.fbi.citizens.com 462 | # These parameters should be set in coordination with the keepalive policy on the server, 463 | # as incompatible settings can result in closing of connection. 464 | # When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled 465 | keep-alive-time: 0s 466 | keep-alive-timeout: 20s 467 | keep-alive-permit: false 468 | fail-fast: false 469 | # allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs 470 | allow-insecure: false 471 | 472 | tlsCACerts: 473 | # Certificate location absolute path 474 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/tlsca.fbi.citizens.com-cert.pem 475 | 476 | peer1.fbi.citizens.com: 477 | # this URL is used to send endorsement and query requests 478 | url: peer1.fbi.citizens.com:7151 479 | 480 | grpcOptions: 481 | ssl-target-name-override: peer1.fbi.citizens.com 482 | # These parameters should be set in coordination with the keepalive policy on the server, 483 | # as incompatible settings can result in closing of connection. 484 | # When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled 485 | keep-alive-time: 0s 486 | keep-alive-timeout: 20s 487 | keep-alive-permit: false 488 | fail-fast: false 489 | # allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs 490 | allow-insecure: false 491 | 492 | tlsCACerts: 493 | # Certificate location absolute path 494 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/tlsca.fbi.citizens.com-cert.pem 495 | 496 | 497 | certificateAuthorities: 498 | ca.fbi.citizens.com: 499 | url: https://ca.fbi.citizens.com:7054 500 | tlsCACerts: 501 | # Comma-Separated list of paths 502 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/tlsca.fbi.citizens.com-cert.pem 503 | # Client key and cert for SSL handshake with Fabric CA 504 | client: 505 | key: 506 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/tls/client.key 507 | cert: 508 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/tls/client.crt 509 | 510 | # Fabric-CA supports dynamic user enrollment via REST APIs. A "root" user, a.k.a registrar, is 511 | # needed to enroll and invoke new users. 512 | registrar: 513 | enrollId: admin 514 | enrollSecret: adminpw 515 | # [Optional] The optional name of the CA. 516 | caName: ca.fbi.citizens.com 517 | 518 | ``` 519 | 520 | **以上就是所有配置的基本流程,也可以参考fabric-service目录下的bulid.sh脚本内容** 521 | 522 | 然后编写chainCode 和 调用链码的代码就可以测试了,具体参考chainCode和web-service目录中的go代码 523 | 524 | ## 启动体验 525 | 526 | 在fabric-service目录下执行 527 | 528 | ./start.sh 启动fabric服务,所有日志都会输出到 all.log 中 529 | 530 | 然后进入web-service 目录 531 | 532 | 使用 `go run main.go`命令启动gosdk项目 执行链码的安装、初始化、执行、查询等操作 533 | 534 | 535 | 536 | ## 以下是配置调试过程中遇到的一些错误处理方法 537 | 538 | - 清理docker 网络 539 | 540 | ```shell 541 | ➜ fabric-service git:(master) ✗ docker network ls 542 | NETWORK ID NAME DRIVER SCOPE 543 | c1f91c6c5086 bridge bridge local 544 | aced91a76322 host host local 545 | 57502ba90162 none null local 546 | ➜ fabric-service git:(master) ✗ docker rm 57502ba90162 547 | ``` 548 | 549 | - 使用start脚本启动 550 | 551 | 脚本会清理之前操作残留的docker 以免对当前开发环境产生影响 552 | 553 | 如果没有报错说明启动成功,然后`docker ps `查看所有定义的容器是否都存在 554 | 555 | 556 | 557 | 1. 生成channel初始块 报错 558 | 559 | ```shell 560 | ➜ fabric-service git:(master) ✗ ./bin/configtxgen --profile CitizensChain -outputCreateChannelTx ./artifacts/citizens.tx -channelID citizens 561 | 2018-08-11 16:02:53.269 CST [common/tools/configtxgen] main -> INFO 001 Loading configuration 562 | 2018-08-11 16:02:53.276 CST [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 002 Generating new channel configtx 563 | 2018-08-11 16:02:53.277 CST [common/tools/configtxgen] main -> CRIT 003 Error on outputChannelCreateTx: config update generation failure: cannot define a new channel with no Application section 564 | ➜ fabric-service git:(master) ✗ 565 | ``` 566 | 567 | 问题原因 configtx.yaml 文件中 568 | 569 | ```yaml 570 | # Profiles 节点下缺少一下内容 571 | Application: 572 | <<: *ApplicationDefaults 573 | Organizations: 574 | - *FBIOrg 575 | Consortium: SampleConsortium 576 | ``` 577 | 578 | 2. 启动docker 报错 579 | 580 | 问题原因 docker-compose.yaml 文件 每个peer下面的CORE_PEER_LOCALMSPID 值必须正确 581 | 582 | - CORE_PEER_LOCALMSPID=FBIOrg 583 | 584 | ```shell 585 | peer1.apple.citizens.com | 2018-08-11 09:46:45.454 UTC [gossip/comm] authenticateRemotePeer -> WARN 1be Identity store rejected 192.168.0.4:7051 : failed classifying identity: Unable to extract msp.Identity from peer Identity: Peer Identity [0a 08 41 70 70 6c 65 4f 72 67 12 9e 06 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 48 7a 43 43 41 63 57 67 41 77 49 42 41 67 49 51 4d 76 38 45 32 4b 67 61 42 62 61 44 5a 61 71 59 61 68 77 32 78 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 6a 42 33 4d 51 73 77 0a 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 54 4d 42 45 47 41 31 55 45 43 42 4d 4b 51 32 46 73 61 57 5a 76 63 6d 35 70 59 54 45 57 4d 42 51 47 41 31 55 45 42 78 4d 4e 55 32 46 75 49 45 5a 79 0a 59 57 35 6a 61 58 4e 6a 62 7a 45 62 4d 42 6b 47 41 31 55 45 43 68 4d 53 59 58 42 77 62 47 55 75 59 32 6c 30 61 58 70 6c 62 6e 4d 75 59 32 39 74 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 6a 0a 59 53 35 68 63 48 42 73 5a 53 35 6a 61 58 52 70 65 6d 56 75 63 79 35 6a 62 32 30 77 48 68 63 4e 4d 54 67 77 4f 44 45 78 4d 44 55 30 4e 44 55 78 57 68 63 4e 4d 6a 67 77 4f 44 41 34 4d 44 55 30 0a 4e 44 55 78 57 6a 42 64 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 54 4d 42 45 47 41 31 55 45 43 42 4d 4b 51 32 46 73 61 57 5a 76 63 6d 35 70 59 54 45 57 4d 42 51 47 41 31 55 45 0a 42 78 4d 4e 55 32 46 75 49 45 5a 79 59 57 35 6a 61 58 4e 6a 62 7a 45 68 4d 42 38 47 41 31 55 45 41 78 4d 59 63 47 56 6c 63 6a 41 75 59 58 42 77 62 47 55 75 59 32 6c 30 61 58 70 6c 62 6e 4d 75 0a 59 32 39 74 4d 46 6b 77 45 77 59 48 4b 6f 5a 49 7a 6a 30 43 41 51 59 49 4b 6f 5a 49 7a 6a 30 44 41 51 63 44 51 67 41 45 39 7a 32 79 70 37 4c 36 6b 33 58 37 76 62 43 67 70 6a 41 5a 44 76 6d 57 0a 44 46 49 61 4b 70 33 4d 36 39 72 67 61 71 44 38 51 6c 75 2b 33 68 31 4f 71 6c 32 59 4c 71 78 6b 62 6a 4d 66 76 78 52 5a 74 73 4f 65 71 57 77 41 47 42 6c 66 43 5a 78 50 6c 58 51 7a 76 71 4e 4e 0a 4d 45 73 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 65 41 4d 41 77 47 41 31 55 64 45 77 45 42 2f 77 51 43 4d 41 41 77 4b 77 59 44 56 52 30 6a 42 43 51 77 49 6f 41 67 35 70 59 31 0a 53 36 45 6f 73 30 75 70 48 73 41 44 64 75 77 6d 45 75 4c 51 58 61 41 72 64 6b 42 4f 65 68 77 48 44 38 4b 4e 49 6d 34 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 44 53 41 41 77 52 51 49 68 0a 41 49 71 4b 72 61 64 33 2f 74 61 47 38 4a 65 36 38 59 7a 38 49 78 53 37 54 49 36 6f 62 2f 37 55 36 61 72 6d 4e 48 52 6e 47 4b 70 4f 41 69 42 4d 34 32 70 73 48 4a 6a 56 73 41 4d 67 34 63 53 43 0a 36 39 38 47 51 46 61 73 74 48 56 70 68 73 6e 6f 66 38 4a 44 56 4c 53 67 56 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a] cannot be validated. No MSP found able to do that. 586 | peer1.apple.citizens.com | 2018-08-11 09:46:45.454 UTC [gossip/comm] Handshake -> WARN 1bf Authentication failed: failed classifying identity: Unable to extract msp.Identity from peer Identity: Peer Identity [0a 08 41 70 70 6c 65 4f 72 67 12 9e 06 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 48 7a 43 43 41 63 57 67 41 77 49 42 41 67 49 51 4d 76 38 45 32 4b 67 61 42 62 61 44 5a 61 71 59 61 68 77 32 78 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 6a 42 33 4d 51 73 77 0a 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 54 4d 42 45 47 41 31 55 45 43 42 4d 4b 51 32 46 73 61 57 5a 76 63 6d 35 70 59 54 45 57 4d 42 51 47 41 31 55 45 42 78 4d 4e 55 32 46 75 49 45 5a 79 0a 59 57 35 6a 61 58 4e 6a 62 7a 45 62 4d 42 6b 47 41 31 55 45 43 68 4d 53 59 58 42 77 62 47 55 75 59 32 6c 30 61 58 70 6c 62 6e 4d 75 59 32 39 74 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 6a 0a 59 53 35 68 63 48 42 73 5a 53 35 6a 61 58 52 70 65 6d 56 75 63 79 35 6a 62 32 30 77 48 68 63 4e 4d 54 67 77 4f 44 45 78 4d 44 55 30 4e 44 55 78 57 68 63 4e 4d 6a 67 77 4f 44 41 34 4d 44 55 30 0a 4e 44 55 78 57 6a 42 64 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 54 4d 42 45 47 41 31 55 45 43 42 4d 4b 51 32 46 73 61 57 5a 76 63 6d 35 70 59 54 45 57 4d 42 51 47 41 31 55 45 0a 42 78 4d 4e 55 32 46 75 49 45 5a 79 59 57 35 6a 61 58 4e 6a 62 7a 45 68 4d 42 38 47 41 31 55 45 41 78 4d 59 63 47 56 6c 63 6a 41 75 59 58 42 77 62 47 55 75 59 32 6c 30 61 58 70 6c 62 6e 4d 75 0a 59 32 39 74 4d 46 6b 77 45 77 59 48 4b 6f 5a 49 7a 6a 30 43 41 51 59 49 4b 6f 5a 49 7a 6a 30 44 41 51 63 44 51 67 41 45 39 7a 32 79 70 37 4c 36 6b 33 58 37 76 62 43 67 70 6a 41 5a 44 76 6d 57 0a 44 46 49 61 4b 70 33 4d 36 39 72 67 61 71 44 38 51 6c 75 2b 33 68 31 4f 71 6c 32 59 4c 71 78 6b 62 6a 4d 66 76 78 52 5a 74 73 4f 65 71 57 77 41 47 42 6c 66 43 5a 78 50 6c 58 51 7a 76 71 4e 4e 0a 4d 45 73 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 65 41 4d 41 77 47 41 31 55 64 45 77 45 42 2f 77 51 43 4d 41 41 77 4b 77 59 44 56 52 30 6a 42 43 51 77 49 6f 41 67 35 70 59 31 0a 53 36 45 6f 73 30 75 70 48 73 41 44 64 75 77 6d 45 75 4c 51 58 61 41 72 64 6b 42 4f 65 68 77 48 44 38 4b 4e 49 6d 34 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 44 53 41 41 77 52 51 49 68 0a 41 49 71 4b 72 61 64 33 2f 74 61 47 38 4a 65 36 38 59 7a 38 49 78 53 37 54 49 36 6f 62 2f 37 55 36 61 72 6d 4e 48 52 6e 47 4b 70 4f 41 69 42 4d 34 32 70 73 48 4a 6a 56 73 41 4d 67 34 63 53 43 0a 36 39 38 47 51 46 61 73 74 48 56 70 68 73 6e 6f 66 38 4a 44 56 4c 53 67 56 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a] cannot be validated. No MSP found able to do that. 587 | peer1.apple.citizens.com | 2018-08-11 09:46:45.454 UTC [gossip/discovery] func1 -> WARN 1c0 Could not connect to {peer0.apple.citizens.com:7051 [] [] peer0.apple.citizens.com:7051 } : failed classifying identity: Unable to extract msp.Identity from peer Identity: Peer Identity [0a 08 41 70 70 6c 65 4f 72 67 12 9e 06 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 48 7a 43 43 41 63 57 67 41 77 49 42 41 67 49 51 4d 76 38 45 32 4b 67 61 42 62 61 44 5a 61 71 59 61 68 77 32 78 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 6a 42 33 4d 51 73 77 0a 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 54 4d 42 45 47 41 31 55 45 43 42 4d 4b 51 32 46 73 61 57 5a 76 63 6d 35 70 59 54 45 57 4d 42 51 47 41 31 55 45 42 78 4d 4e 55 32 46 75 49 45 5a 79 0a 59 57 35 6a 61 58 4e 6a 62 7a 45 62 4d 42 6b 47 41 31 55 45 43 68 4d 53 59 58 42 77 62 47 55 75 59 32 6c 30 61 58 70 6c 62 6e 4d 75 59 32 39 74 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 6a 0a 59 53 35 68 63 48 42 73 5a 53 35 6a 61 58 52 70 65 6d 56 75 63 79 35 6a 62 32 30 77 48 68 63 4e 4d 54 67 77 4f 44 45 78 4d 44 55 30 4e 44 55 78 57 68 63 4e 4d 6a 67 77 4f 44 41 34 4d 44 55 30 0a 4e 44 55 78 57 6a 42 64 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 54 4d 42 45 47 41 31 55 45 43 42 4d 4b 51 32 46 73 61 57 5a 76 63 6d 35 70 59 54 45 57 4d 42 51 47 41 31 55 45 0a 42 78 4d 4e 55 32 46 75 49 45 5a 79 59 57 35 6a 61 58 4e 6a 62 7a 45 68 4d 42 38 47 41 31 55 45 41 78 4d 59 63 47 56 6c 63 6a 41 75 59 58 42 77 62 47 55 75 59 32 6c 30 61 58 70 6c 62 6e 4d 75 0a 59 32 39 74 4d 46 6b 77 45 77 59 48 4b 6f 5a 49 7a 6a 30 43 41 51 59 49 4b 6f 5a 49 7a 6a 30 44 41 51 63 44 51 67 41 45 39 7a 32 79 70 37 4c 36 6b 33 58 37 76 62 43 67 70 6a 41 5a 44 76 6d 57 0a 44 46 49 61 4b 70 33 4d 36 39 72 67 61 71 44 38 51 6c 75 2b 33 68 31 4f 71 6c 32 59 4c 71 78 6b 62 6a 4d 66 76 78 52 5a 74 73 4f 65 71 57 77 41 47 42 6c 66 43 5a 78 50 6c 58 51 7a 76 71 4e 4e 0a 4d 45 73 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 65 41 4d 41 77 47 41 31 55 64 45 77 45 42 2f 77 51 43 4d 41 41 77 4b 77 59 44 56 52 30 6a 42 43 51 77 49 6f 41 67 35 70 59 31 0a 53 36 45 6f 73 30 75 70 48 73 41 44 64 75 77 6d 45 75 4c 51 58 61 41 72 64 6b 42 4f 65 68 77 48 44 38 4b 4e 49 6d 34 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 44 53 41 41 77 52 51 49 68 0a 41 49 71 4b 72 61 64 33 2f 74 61 47 38 4a 65 36 38 59 7a 38 49 78 53 37 54 49 36 6f 62 2f 37 55 36 61 72 6d 4e 48 52 6e 47 4b 70 4f 41 69 42 4d 34 32 70 73 48 4a 6a 56 73 41 4d 67 34 63 53 43 0a 36 39 38 47 51 46 61 73 74 48 56 70 68 73 6e 6f 66 38 4a 44 56 4c 53 67 56 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a] cannot be validated. No MSP found able to do that. 588 | ``` 589 | 590 | 3: orderer 启动失败(发现一下日志) 591 | 592 | orderer.genesis.block 593 | 594 | 实际创世区块名称和docker-compose-base 文件中的配置不一致导致 595 | 596 | \- ../artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block 597 | 598 | \- ../artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block 599 | 600 | ```shell 601 | orderer.ebbyte.com | panic: Unable to bootstrap orderer. Error reading genesis block file: read /var/hyperledger/orderer/orderer.genesis.block: is a directory 602 | orderer.ebbyte.com | 603 | orderer.ebbyte.com | goroutine 1 [running]: 604 | orderer.ebbyte.com | github.com/hyperledger/fabric/orderer/common/bootstrap/file.(*fileBootstrapper).GenesisBlock(0xc42013c430, 0xc42013c430) 605 | orderer.ebbyte.com | /opt/gopath/src/github.com/hyperledger/fabric/orderer/common/bootstrap/file/bootstrap.go:44 +0x1e4 606 | orderer.ebbyte.com | github.com/hyperledger/fabric/orderer/common/server.initializeBootstrapChannel(0xc4202a2a00, 0x1393300, 0xc420164000) 607 | orderer.ebbyte.com | /opt/gopath/src/github.com/hyperledger/fabric/orderer/common/server/main.go:205 +0x5bd 608 | orderer.ebbyte.com | github.com/hyperledger/fabric/orderer/common/server.initializeMultichannelRegistrar(0xc4202a2a00, 0x138fd80, 0x13f3e20, 0xc42013e798, 0x1, 0x1, 0xc420371e60) 609 | orderer.ebbyte.com | /opt/gopath/src/github.com/hyperledger/fabric/orderer/common/server/main.go:253 +0xa0 610 | orderer.ebbyte.com | github.com/hyperledger/fabric/orderer/common/server.Start(0xcfa0bc, 0x5, 0xc4202a2a00) 611 | orderer.ebbyte.com | /opt/gopath/src/github.com/hyperledger/fabric/orderer/common/server/main.go:103 +0x24c 612 | orderer.ebbyte.com | github.com/hyperledger/fabric/orderer/common/server.Main() 613 | orderer.ebbyte.com | /opt/gopath/src/github.com/hyperledger/fabric/orderer/common/server/main.go:82 +0x20f 614 | orderer.ebbyte.com | main.main() 615 | orderer.ebbyte.com | /opt/gopath/src/github.com/hyperledger/fabric/orderer/main.go:15 +0x20 616 | peer1.akka.ebbyte.com | 2018-08-20 13:52:37.557 UTC [accessControl] newCertKeyPair -> DEBU 028 Classified peer1.akka.ebbyte.com as a hostname, adding it as a DNS SAN 617 | ``` 618 | 619 | 4: ca启动失败 620 | 621 | FABRIC_CA_SERVER_TLS_KEYFILE 配置没有修改完全 _sk 文件没有替换完 622 | 623 | ```shell 624 | ca_peerakka | Error: Failed to find private key for certificate in '/etc/hyperledger/fabric-ca-server-config/ca.akka.ebbyte.com-cert.pem': Could not find matching private key for SKI: Failed 625 | getting key for SKI [[40 2 186 255 133 181 113 229 155 112 163 181 94 213 135 169 36 211 97 215 195 34 118 225 14 224 105 0 198 224 12 20]]: Key with SKI 2802baff85b571e59b70a3b55ed587a924d361d7c32276e10e 626 | e06900c6e00c14 not found in /etc/hyperledger/fabric-ca-server/msp/keystore 627 | ``` 628 | 629 | 5: go build 报错 630 | 631 | fabric-sdk-go 版本不对 切换成 v1.0.0-alpha4 版本 632 | 633 | ``` 634 | ../../../hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/orderer/configuration.pb.go:56:35: undefined: proto.InternalMessageInfo 635 | ``` 636 | 637 | 6: go启动失败 638 | 639 | OrgName 必须和configtx.yaml文件中的 Organizations定义的peer节点名称一致 640 | 641 | ```shell 642 | Unable to initialize the Fabric SDK: failed to create channel management client from Admin identity: failed to create resmgmt client due to context error: invalid options to create identity, invalid org name 643 | ``` 644 | 645 | 7: go 启动失败 646 | 647 | config.yaml 修改为(url 值),修改后需要重启docker 648 | 649 | ```yaml 650 | orderers: 651 | orderer.ebbyte.com: 652 | url: 127.0.0.1:7050 653 | ``` 654 | 655 | 报错信息: 656 | 657 | ```shell 658 | Unable to initialize the Fabric SDK: failed to save channel: create channel failed: SendEnvelope failed: calling orderer 'orderer.ebbyte.com:7050' failed: Orderer Server Status Code: (400) BAD_REQUEST. Description: error authorizing update: error validating ReadSet: readset expected key [Group] /Channel/Application at version 0, but got version 1 659 | ``` 660 | 661 | 8:go启动失败 662 | 663 | config.yaml 文件中8151 端口写错了应该是8050 664 | 665 | go程序中所有写了 resmgmt.WithTargetEndpoints("peer0.akka.ebbyte.com")) 的地方确认域名是否是 org pee0的域名 666 | 667 | ```shell 668 | Unable to initialize the Fabric SDK: failed to save channel: create channel failed: SendEnvelope failed: calling orderer '127.0.0.1:7050' failed: Orderer Server Status Code: (400) BAD_REQUEST. Description: error authorizing update: error validating ReadSet: readset expected key [Group] /Channel/Application at version 0, but got version 1 669 | ``` 670 | 671 | ```shell 672 | Unable to initialize the Fabric SDK: failed to make admin join channel: join channel failed: SendProposal failed: Transaction processing for endorser [peer1.akka.ebbyte.com:8151]: Endorser Client Status Code: (2) CONNECTION_FAILED. Description: dialing connection timed out [peer1.akka.ebbyte.com:8151] 673 | ``` 674 | 675 | 9 实例化ChainCode失败 676 | 677 | docker网络问题 678 | 679 | 680 | 681 | ```shell 682 | [fabsdk/fab] 2018/08/21 13:33:34 UTC - peer.(*peerEndorser).sendProposal -> ERRO process proposal failed [rpc error: code = Unknown desc = error starting container: API error (404): {"message":"network e2ecli_default not found"} 683 | ] 684 | Unable to install and instantiate the chaincode: failed to instantiate the chaincode: sending deploy transaction proposal failed: Transaction processing for endorser [127.0.0.1:7051]: gRPC Transport Status Code: (2) Unknown. Description: error starting container: API error (404): {"message":"network e2ecli_default not found"} 685 | ``` 686 | 687 | 688 | 689 | 690 | 691 | 重新生成证书 692 | 693 | docker images 查看所有的iamge 如果有 network-peer0-org-domain 这样的容器用docker rmi 删除一次 694 | 695 | 确认chaincode 代码所在目录名称为chaincode 并且代码package 为main go build 是否可以直接编译出二进制文件 696 | 697 | ```shell 698 | [fabsdk/fab] 2018/08/21 13:46:12 UTC - peer.(*peerEndorser).sendProposal -> ERRO process proposal failed [rpc error: code = Unknown desc = error starting container: API error (400): {"message":"OCI runtime create failed: container_linux.go:348: starting container process caused \"exec: \\\"chaincode\\\": executable file not found in $PATH\": unknown"} 699 | ] 700 | Unable to install and instantiate the chaincode: failed to instantiate the chaincode: sending deploy transaction proposal failed: Transaction processing for endorser [127.0.0.1:7051]: gRPC Transport Status Code: (2) Unknown. Description: error starting container: API error (400): {"message":"OCI runtime create failed: container_linux.go:348: starting container process caused \"exec: \\\"chaincode\\\": executable file not found in $PATH\": unknown"} 701 | ``` 702 | 703 | 704 | go:启动失败 705 | channel Name 不能有大写字母 706 | 707 | Unable to initialize the Fabric SDK: failed to save channel: create channel failed: SendEnvelope failed: calling orderer 'localhost:7050' failed: Orderer Server Status Code: (400) BAD_REQUEST. Description: initializing configtx manager failed: bad channel ID: channel ID 'GoldChainChannel' contains illegal characters -------------------------------------------------------------------------------- /web-service/blockchain/invoke.go: -------------------------------------------------------------------------------- 1 | package blockchain 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "time" 7 | 8 | "github.com/akkagao/citizens/common" 9 | "github.com/hyperledger/fabric-sdk-go/pkg/client/channel" 10 | ) 11 | 12 | // 注册用户 13 | func (setup *FabricSetup) RegisterUser() (string, error) { 14 | 15 | // Prepare arguments 16 | var args []string 17 | 18 | args = append(args, "register") 19 | args = append(args, "535636789302345673") 20 | 21 | people := common.People{ 22 | DataType: "citizens", 23 | Id: "535636789302345673", 24 | Sex: "男", 25 | Name: "张三", 26 | BirthLocation: common.Location{Province: "海南", City: "三亚市", Detail: "天涯海角"}, 27 | LiveLocation: common.Location{Province: "北京", Town: "朝阳区", Detail: "大悦城"}, 28 | MotherId: "535636789302345671", 29 | FatherId: "535636789302345672", 30 | Childs: []string{"535636789302345674", "535636789302345675"}, 31 | } 32 | b, _ := json.Marshal(people) 33 | 34 | eventID := "eventInvoke" 35 | 36 | // Add data that will be visible in the proposal, like a description of the invoke request 37 | transientDataMap := make(map[string][]byte) 38 | transientDataMap["result"] = []byte("Transient data in hello invoke") 39 | 40 | reg, notifier, err := setup.event.RegisterChaincodeEvent(setup.ChainCodeID, eventID) 41 | if err != nil { 42 | return "", err 43 | } 44 | defer setup.event.Unregister(reg) 45 | 46 | // Create a request (proposal) and send it 47 | response, err := setup.client.Execute(channel.Request{ 48 | ChaincodeID: setup.ChainCodeID, 49 | Fcn: args[0], 50 | Args: [][]byte{[]byte(args[1]), b}, 51 | TransientMap: transientDataMap}) 52 | if err != nil { 53 | return "", fmt.Errorf("failed to move funds: %v", err) 54 | } 55 | 56 | // Wait for the result of the submission 57 | select { 58 | case ccEvent := <-notifier: 59 | fmt.Printf("Received CC event: %v\n", ccEvent) 60 | case <-time.After(time.Second * 20): 61 | return "", fmt.Errorf("did NOT receive CC event for eventId(%s)", eventID) 62 | } 63 | 64 | return string(response.TransactionID), nil 65 | } 66 | -------------------------------------------------------------------------------- /web-service/blockchain/query.go: -------------------------------------------------------------------------------- 1 | package blockchain 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | 7 | "github.com/akkagao/citizens/common" 8 | 9 | "github.com/hyperledger/fabric-sdk-go/pkg/client/channel" 10 | ) 11 | 12 | // 查询用户 13 | func (setup *FabricSetup) QueryUser() (string, error) { 14 | 15 | var args []string 16 | // 参数1 作为调用Invoke方法的function 参数 17 | args = append(args, "query") 18 | // 调用Invoke 的参数 19 | args = append(args, "535636789302345673") 20 | 21 | response, err := setup.client.Query(channel.Request{ 22 | ChaincodeID: setup.ChainCodeID, 23 | Fcn: args[0], 24 | Args: [][]byte{[]byte(args[1])}, 25 | }) 26 | if err != nil { 27 | return "", fmt.Errorf("failed to query: %v", err) 28 | } 29 | 30 | people := common.People{} 31 | err = json.Unmarshal([]byte(response.Payload), &people) 32 | fmt.Println(people) 33 | 34 | return string(response.Payload), nil 35 | } 36 | -------------------------------------------------------------------------------- /web-service/blockchain/setup.go: -------------------------------------------------------------------------------- 1 | package blockchain 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | 7 | "github.com/hyperledger/fabric-sdk-go/pkg/client/channel" 8 | "github.com/hyperledger/fabric-sdk-go/pkg/client/event" 9 | mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp" 10 | "github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt" 11 | "github.com/hyperledger/fabric-sdk-go/pkg/common/errors/retry" 12 | "github.com/hyperledger/fabric-sdk-go/pkg/common/providers/msp" 13 | "github.com/hyperledger/fabric-sdk-go/pkg/core/config" 14 | packager "github.com/hyperledger/fabric-sdk-go/pkg/fab/ccpackager/gopackager" 15 | "github.com/hyperledger/fabric-sdk-go/pkg/fabsdk" 16 | "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/common/cauthdsl" 17 | "github.com/pkg/errors" 18 | ) 19 | 20 | // FabricSetup implementation 21 | type FabricSetup struct { 22 | ConfigFile string 23 | OrgID string 24 | OrdererID string 25 | ChannelID string 26 | ChainCodeID string 27 | ChainCodeVersion string 28 | initialized bool 29 | ChannelConfig string 30 | ChaincodeGoPath string 31 | ChaincodePath string 32 | OrgAdmin string 33 | OrgName string 34 | UserName string 35 | client *channel.Client 36 | admin *resmgmt.Client 37 | sdk *fabsdk.FabricSDK 38 | event *event.Client 39 | } 40 | 41 | // Initialize reads the configuration file and sets up the client, chain and event hub 42 | func (setup *FabricSetup) Initialize() error { 43 | 44 | // Add parameters for the initialization 45 | if setup.initialized { 46 | return errors.New("sdk already initialized") 47 | } 48 | 49 | // Initialize the SDK with the configuration file 50 | sdk, err := fabsdk.New(config.FromFile(setup.ConfigFile)) 51 | if err != nil { 52 | return errors.WithMessage(err, "failed to create SDK") 53 | } 54 | setup.sdk = sdk 55 | fmt.Println("SDK created") 56 | 57 | // The resource management client is responsible for managing channels (create/update channel) 58 | resourceManagerClientContext := setup.sdk.Context(fabsdk.WithUser(setup.OrgAdmin), fabsdk.WithOrg(setup.OrgName)) 59 | if err != nil { 60 | return errors.WithMessage(err, "failed to load Admin identity") 61 | } 62 | resMgmtClient, err := resmgmt.New(resourceManagerClientContext) 63 | if err != nil { 64 | return errors.WithMessage(err, "failed to create channel management client from Admin identity") 65 | } 66 | setup.admin = resMgmtClient 67 | fmt.Println("Ressource management client created") 68 | 69 | // The MSP client allow us to retrieve user information from their identity, like its signing identity which we will need to save the channel 70 | mspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(setup.OrgName)) 71 | if err != nil { 72 | return errors.WithMessage(err, "failed to create MSP client") 73 | } 74 | adminIdentity, err := mspClient.GetSigningIdentity(setup.OrgAdmin) 75 | if err != nil { 76 | return errors.WithMessage(err, "failed to get admin signing identity") 77 | } 78 | 79 | channelHasInstall := false 80 | // 查询已经存在的channel 81 | channelRes, err := setup.admin.QueryChannels(resmgmt.WithTargetEndpoints("peer0.fbi.citizens.com")) 82 | if err != nil { 83 | return errors.WithMessage(err, "failed to Query channel") 84 | } 85 | 86 | if channelRes != nil { 87 | for _, channel := range channelRes.Channels { 88 | if strings.EqualFold(setup.ChannelID, channel.ChannelId) { 89 | channelHasInstall = true 90 | } 91 | } 92 | } 93 | 94 | fmt.Println("channelHasInstall:", channelHasInstall) 95 | 96 | // 如果没有同名的channel 再安装 97 | if !channelHasInstall { 98 | req := resmgmt.SaveChannelRequest{ChannelID: setup.ChannelID, ChannelConfigPath: setup.ChannelConfig, SigningIdentities: []msp.SigningIdentity{adminIdentity}} 99 | // 创建channel 100 | txID, err := setup.admin.SaveChannel(req, resmgmt.WithOrdererEndpoint(setup.OrdererID)) 101 | if err != nil || txID.TransactionID == "" { 102 | return errors.WithMessage(err, "failed to save channel") 103 | } 104 | fmt.Println("Channel created") 105 | 106 | // 加入channel 107 | // Make admin user join the previously created channel 108 | if err = setup.admin.JoinChannel(setup.ChannelID, resmgmt.WithRetry(retry.DefaultResMgmtOpts), resmgmt.WithOrdererEndpoint(setup.OrdererID)); err != nil { 109 | return errors.WithMessage(err, "failed to make admin join channel") 110 | } 111 | fmt.Println("Channel joined") 112 | } else { 113 | fmt.Println("Channel already exist") 114 | } 115 | 116 | fmt.Println("Initialization Successful") 117 | setup.initialized = true 118 | return nil 119 | } 120 | 121 | func (setup *FabricSetup) InstallAndInstantiateCC() error { 122 | 123 | // Create the chaincode package that will be sent to the peers 124 | ccPkg, err := packager.NewCCPackage(setup.ChaincodePath, setup.ChaincodeGoPath) 125 | if err != nil { 126 | return errors.WithMessage(err, "failed to create chaincode package") 127 | } 128 | fmt.Println("ccPkg created") 129 | 130 | ccHasInstall := false 131 | // 查询已经安装的CC 132 | ccInstalledRes, err := setup.admin.QueryInstalledChaincodes(resmgmt.WithTargetEndpoints("peer0.fbi.citizens.com")) 133 | if err != nil { 134 | return errors.WithMessage(err, "failed to Query Installed chaincode") 135 | } 136 | 137 | if ccInstalledRes != nil { 138 | for _, cc := range ccInstalledRes.Chaincodes { 139 | if strings.EqualFold(cc.Name, setup.ChainCodeID) { 140 | ccHasInstall = true 141 | } 142 | } 143 | } 144 | 145 | fmt.Println("ccHasInstall", ccHasInstall) 146 | 147 | if !ccHasInstall { 148 | // 安装链码(智能合约) 149 | // Install example cc to org peers 150 | installCCReq := resmgmt.InstallCCRequest{Name: setup.ChainCodeID, Path: setup.ChaincodePath, Version: setup.ChainCodeVersion, Package: ccPkg} 151 | _, err = setup.admin.InstallCC(installCCReq, resmgmt.WithRetry(retry.DefaultResMgmtOpts)) 152 | if err != nil { 153 | return errors.WithMessage(err, "failed to install chaincode") 154 | } 155 | fmt.Println("Chaincode install success") 156 | } else { 157 | fmt.Println("Chaincode already exist") 158 | } 159 | 160 | ccHasInstantiate := false 161 | // 查询已经实例化的链码 162 | // ccInstantiatedRes, err := setup.admin.QueryInstantiatedChaincodes(setup.ChannelID, resmgmt.WithOrdererEndpoint(setup.OrdererID)) 163 | ccInstantiatedRes, err := setup.admin.QueryInstantiatedChaincodes(setup.ChannelID, resmgmt.WithTargetEndpoints("peer0.fbi.citizens.com")) 164 | 165 | if ccInstantiatedRes.Chaincodes != nil && len(ccInstantiatedRes.Chaincodes) > 0 { 166 | for _, chaincodeInfo := range ccInstantiatedRes.Chaincodes { 167 | fmt.Println(chaincodeInfo) 168 | if strings.EqualFold(chaincodeInfo.Name, setup.ChainCodeID) { 169 | ccHasInstantiate = true 170 | } 171 | } 172 | } 173 | 174 | // could not get chConfig cache reference:read configuration for channel peers failed 175 | 176 | // Set up chaincode policy 177 | // ccPolicy := cauthdsl.SignedByAnyMember([]string{"fbi.citizens.com"}) 178 | if !ccHasInstantiate { 179 | // 这里的参数名是msp名称 不是域名 180 | ccPolicy := cauthdsl.SignedByMspMember("FBIMSP") 181 | request := resmgmt.InstantiateCCRequest{Name: setup.ChainCodeID, Path: setup.ChaincodeGoPath, Version: setup.ChainCodeVersion, Args: [][]byte{[]byte("init"), []byte("init")}, Policy: ccPolicy} 182 | // opts := requestOptions{Targets: peers} 183 | resp, err := setup.admin.InstantiateCC(setup.ChannelID, request) 184 | if err != nil || resp.TransactionID == "" { 185 | return errors.WithMessage(err, "failed to instantiate the chaincode") 186 | } 187 | fmt.Println("Chaincode instantiate success") 188 | } else { 189 | fmt.Println("Chaincode has instantiated") 190 | } 191 | 192 | // Channel client is used to query and execute transactions 193 | clientContext := setup.sdk.ChannelContext(setup.ChannelID, fabsdk.WithUser(setup.UserName)) 194 | // clientContext := setup.sdk.ChannelContext(setup.ChannelID, fabsdk.WithUser(setup.UserName), fabsdk.WithOrg("fbi.citizens.com")) 195 | setup.client, err = channel.New(clientContext) 196 | if err != nil { 197 | return errors.WithMessage(err, "failed to create new channel client") 198 | } 199 | fmt.Println("Channel client created") 200 | 201 | // Creation of the client which will enables access to our channel events 202 | setup.event, err = event.New(clientContext) 203 | if err != nil { 204 | return errors.WithMessage(err, "failed to create new event client") 205 | } 206 | fmt.Println("Event client created") 207 | 208 | fmt.Println("Chaincode Installation & Instantiation Successful") 209 | return nil 210 | } 211 | 212 | func (setup *FabricSetup) CloseSDK() { 213 | setup.sdk.Close() 214 | } 215 | -------------------------------------------------------------------------------- /web-service/config.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright SecureKey Technologies Inc. All Rights Reserved. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | # 7 | # The network connection profile provides client applications the information about the target 8 | # blockchain network that are necessary for the applications to interact with it. These are all 9 | # knowledge that must be acquired from out-of-band sources. This file provides such a source. 10 | # 11 | 12 | 13 | # 14 | # Schema version of the content. Used by the SDK to apply the corresponding parsing rules. 15 | # 16 | version: 1.0.0 17 | 18 | # 19 | # The client section used by GO SDK. 20 | # 21 | client: 22 | 23 | # Which organization does this application instance belong to? The value must be the name of an org 24 | # defined under "organizations" 25 | organization: FBI 26 | 27 | logging: 28 | level: info 29 | 30 | 31 | # Root of the MSP directories with keys and certs. 32 | cryptoconfig: 33 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config 34 | 35 | # Some SDKs support pluggable KV stores, the properties under "credentialStore" 36 | # are implementation specific 37 | credentialStore: 38 | # [Optional]. Used by user store. Not needed if all credentials are embedded in configuration 39 | # and enrollments are performed elswhere. 40 | path: "/tmp/state-store" 41 | 42 | # [Optional]. Specific to the CryptoSuite implementation used by GO SDK. Software-based implementations 43 | # requiring a key store. PKCS#11 based implementations does not. 44 | cryptoStore: 45 | # Specific to the underlying KeyValueStore that backs the crypto key store. 46 | path: /tmp/msp 47 | 48 | # BCCSP config for the client. Used by GO SDK. 49 | BCCSP: 50 | security: 51 | enabled: true 52 | default: 53 | provider: "SW" 54 | hashAlgorithm: "SHA2" 55 | softVerify: true 56 | level: 256 57 | 58 | tlsCerts: 59 | # [Optional]. Use system certificate pool when connecting to peers, orderers (for negotiating TLS) Default: false 60 | systemCertPool: false 61 | 62 | # [Optional]. Client key and cert for TLS handshake with peers and orderers 63 | client: 64 | key: 65 | path: 66 | cert: 67 | path: 68 | 69 | # 70 | # [Optional]. But most apps would have this section so that channel objects can be constructed 71 | # based on the content below. If an app is creating channels, then it likely will not need this 72 | # section. 73 | # 74 | channels: 75 | 76 | #[Required if _default not defined; Optional if _default defined]. 77 | # name of the channel 78 | citizens: 79 | 80 | # list of orderers designated by the application to use for transactions on this 81 | # channel. This list can be a result of access control ("FBI" can only access "ordererA"), or 82 | # operational decisions to share loads from applications among the orderers. The values must 83 | # be "names" of orgs defined under "organizations/peers" 84 | # deprecated: not recommended, to override any orderer configuration items, entity matchers should be used. 85 | # orderers: 86 | # - orderer.citizens.com 87 | 88 | #[Required if _default peers not defined; Optional if _default peers defined]. 89 | # list of peers from participating orgs 90 | peers: 91 | peer0.fbi.citizens.com: 92 | # [Optional]. will this peer be sent transaction proposals for endorsement? The peer must 93 | # have the chaincode installed. The app can also use this property to decide which peers 94 | # to send the chaincode install request. Default: true 95 | endorsingPeer: true 96 | 97 | # [Optional]. will this peer be sent query proposals? The peer must have the chaincode 98 | # installed. The app can also use this property to decide which peers to send the 99 | # chaincode install request. Default: true 100 | chaincodeQuery: true 101 | 102 | # [Optional]. will this peer be sent query proposals that do not require chaincodes, like 103 | # queryBlock(), queryTransaction(), etc. Default: true 104 | ledgerQuery: true 105 | 106 | # [Optional]. will this peer be the target of the SDK's listener registration? All peers can 107 | # produce events but the app typically only needs to connect to one to listen to events. 108 | # Default: true 109 | eventSource: true 110 | 111 | 112 | # 113 | # list of participating organizations in this network 114 | # 115 | organizations: 116 | FBI: 117 | mspid: FBIMSP 118 | 119 | # This org's MSP store (absolute path or relative to client.cryptoconfig) 120 | cryptoPath: peerOrganizations/fbi.citizens.com/users/{username}@fbi.citizens.com/msp 121 | 122 | peers: 123 | - peer0.fbi.citizens.com 124 | - peer1.fbi.citizens.com 125 | 126 | # [Optional]. Certificate Authorities issue certificates for identification purposes in a Fabric based 127 | # network. Typically certificates provisioning is done in a separate process outside of the 128 | # runtime network. Fabric-CA is a special certificate authority that provides a REST APIs for 129 | # dynamic certificate management (enroll, revoke, re-enroll). The following section is only for 130 | # Fabric-CA servers. 131 | certificateAuthorities: 132 | - ca.fbi.citizens.com 133 | 134 | # the profile will contain public information about organizations other than the one it belongs to. 135 | # These are necessary information to make transaction lifecycles work, including MSP IDs and 136 | # peers with a public URL to send transaction proposals. The file will not contain private 137 | # information reserved for members of the organization, such as admin key and certificate, 138 | # fabric-ca registrar enroll ID and secret, etc. 139 | 140 | 141 | 142 | # 143 | # List of orderers to send transaction and channel create/update requests to. For the time 144 | # being only one orderer is needed. If more than one is defined, which one get used by the 145 | # SDK is implementation specific. Consult each SDK's documentation for its handling of orderers. 146 | # 147 | orderers: 148 | orderer.citizens.com: 149 | url: localhost:7050 150 | 151 | # these are standard properties defined by the gRPC library 152 | # they will be passed in as-is to gRPC client constructor 153 | grpcOptions: 154 | ssl-target-name-override: orderer.citizens.com 155 | # These parameters should be set in coordination with the keepalive policy on the server, 156 | # as incompatible settings can result in closing of connection. 157 | # When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled 158 | keep-alive-time: 0s 159 | keep-alive-timeout: 20s 160 | keep-alive-permit: false 161 | fail-fast: false 162 | # allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs 163 | allow-insecure: false 164 | 165 | tlsCACerts: 166 | # Certificate location absolute path 167 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/ordererOrganizations/citizens.com/tlsca/tlsca.citizens.com-cert.pem 168 | 169 | # 170 | # List of peers to send various requests to, including endorsement, query 171 | # and event listener registration. 172 | # 173 | peers: 174 | peer0.fbi.citizens.com: 175 | # this URL is used to send endorsement and query requests 176 | url: peer0.fbi.citizens.com:7051 177 | 178 | grpcOptions: 179 | ssl-target-name-override: peer0.fbi.citizens.com 180 | # These parameters should be set in coordination with the keepalive policy on the server, 181 | # as incompatible settings can result in closing of connection. 182 | # When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled 183 | keep-alive-time: 0s 184 | keep-alive-timeout: 20s 185 | keep-alive-permit: false 186 | fail-fast: false 187 | # allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs 188 | allow-insecure: false 189 | 190 | tlsCACerts: 191 | # Certificate location absolute path 192 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/tlsca.fbi.citizens.com-cert.pem 193 | 194 | peer1.fbi.citizens.com: 195 | # this URL is used to send endorsement and query requests 196 | url: peer1.fbi.citizens.com:7151 197 | 198 | grpcOptions: 199 | ssl-target-name-override: peer1.fbi.citizens.com 200 | # These parameters should be set in coordination with the keepalive policy on the server, 201 | # as incompatible settings can result in closing of connection. 202 | # When duration of the 'keep-alive-time' is set to 0 or less the keep alive client parameters are disabled 203 | keep-alive-time: 0s 204 | keep-alive-timeout: 20s 205 | keep-alive-permit: false 206 | fail-fast: false 207 | # allow-insecure will be taken into consideration if address has no protocol defined, if true then grpc or else grpcs 208 | allow-insecure: false 209 | 210 | tlsCACerts: 211 | # Certificate location absolute path 212 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/tlsca.fbi.citizens.com-cert.pem 213 | 214 | # 215 | # Fabric-CA is a special kind of Certificate Authority provided by Hyperledger Fabric which allows 216 | # certificate management to be done via REST APIs. Application may choose to use a standard 217 | # Certificate Authority instead of Fabric-CA, in which case this section would not be specified. 218 | # 219 | certificateAuthorities: 220 | ca.fbi.citizens.com: 221 | url: https://ca.fbi.citizens.com:7054 222 | tlsCACerts: 223 | # Comma-Separated list of paths 224 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/tlsca/tlsca.fbi.citizens.com-cert.pem 225 | # Client key and cert for SSL handshake with Fabric CA 226 | client: 227 | key: 228 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/tls/client.key 229 | cert: 230 | path: ${GOPATH}/src/github.com/akkagao/citizens/fabric-service/crypto-config/peerOrganizations/fbi.citizens.com/users/User1@fbi.citizens.com/tls/client.crt 231 | 232 | # Fabric-CA supports dynamic user enrollment via REST APIs. A "root" user, a.k.a registrar, is 233 | # needed to enroll and invoke new users. 234 | registrar: 235 | enrollId: admin 236 | enrollSecret: adminpw 237 | # [Optional] The optional name of the CA. 238 | caName: ca.fbi.citizens.com 239 | 240 | 241 | # EntityMatchers enable substitution of network hostnames with static configurations 242 | # so that properties can be mapped. Regex can be used for this purpose 243 | # UrlSubstitutionExp can be empty which means the same network hostname will be used 244 | # UrlSubstitutionExp can be given same as mapped peer url, so that mapped peer url can be used 245 | # UrlSubstitutionExp can have golang regex matchers like $1.local.example.$2:$3 for pattern 246 | # like peer0.fbi.citizens.com:1234 which converts peer0.fbi.citizens.com to peer0.FBI.local.citizens.com:1234 247 | # sslTargetOverrideUrlSubstitutionExp follow in the same lines as 248 | # SubstitutionExp for the fields gprcOptions.ssl-target-name-override respectively 249 | # In any case mappedHost's config will be used, so mapped host cannot be empty, if entityMatchers are used 250 | #entityMatchers: 251 | #entityMatchers: 252 | # peer: 253 | # - pattern: (\w+).fbi.citizens.com:(\d+) 254 | # urlSubstitutionExp: $1.fbi.citizens.com:$2 255 | # sslTargetOverrideUrlSubstitutionExp: $1.fbi.citizens.com 256 | # mappedHost: peer0.fbi.citizens.com 257 | # 258 | # 259 | # - pattern: (\w+).example1.(\w+):(\d+) 260 | # urlSubstitutionExp: $1.fbi.citizens.com.$2:$3 261 | # sslTargetOverrideUrlSubstitutionExp: $1.fbi.citizens.com.$2 262 | # mappedHost: peer0.fbi.citizens.com 263 | # 264 | # - pattern: (\w+).fbi.citizens.com.(\w+):(\d+) 265 | # urlSubstitutionExp: peer0.fbi.citizens.com:7051 266 | # sslTargetOverrideUrlSubstitutionExp: peer0.fbi.citizens.com 267 | # mappedHost: peer0.fbi.citizens.com 268 | # 269 | # orderer: 270 | # - pattern: (\w+).example.(\w+) 271 | # urlSubstitutionExp: orderer.citizens.com:7050 272 | # sslTargetOverrideUrlSubstitutionExp: orderer.citizens.com 273 | # mappedHost: orderer.citizens.com 274 | # 275 | # - pattern: (\w+).example2.(\w+) 276 | # urlSubstitutionExp: localhost:7050 277 | # sslTargetOverrideUrlSubstitutionExp: localhost 278 | # mappedHost: orderer.citizens.com 279 | # 280 | # - pattern: (\w+).example3.(\w+) 281 | # urlSubstitutionExp: 282 | # sslTargetOverrideUrlSubstitutionExp: 283 | # mappedHost: orderer.citizens.com 284 | # 285 | # - pattern: (\w+).example4.(\w+):(\d+) 286 | # urlSubstitutionExp: $1.example.$2:$3 287 | # sslTargetOverrideUrlSubstitutionExp: $1.example.$2 288 | # mappedHost: orderer.citizens.com 289 | # 290 | # certificateAuthority: 291 | # - pattern: (\w+).fbi.citizens.com.(\w+) 292 | # urlSubstitutionExp: 293 | # mappedHost: ca.fbi.citizens.com 294 | # -------------------------------------------------------------------------------- /web-service/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/akkagao/citizens/web-service/blockchain" 8 | ) 9 | 10 | func main() { 11 | // Definition of the Fabric SDK properties 12 | fSetup := blockchain.FabricSetup{ 13 | // Network parameters 14 | OrdererID: "orderer.citizens.com", 15 | 16 | // Channel parameters 17 | ChannelID: "citizens", 18 | ChannelConfig: os.Getenv("GOPATH") + "/src/github.com/akkagao/citizens/fabric-service/artifacts/citizens.tx", 19 | 20 | // Chaincode parameters 21 | ChainCodeID: "citizens-service", 22 | ChainCodeVersion: "0", 23 | ChaincodeGoPath: os.Getenv("GOPATH"), 24 | ChaincodePath: "github.com/akkagao/citizens/chaincode/", 25 | OrgAdmin: "Admin", 26 | OrgName: "FBI", 27 | ConfigFile: "config.yaml", 28 | 29 | // User parameters 30 | UserName: "User1", 31 | } 32 | 33 | // Initialization of the Fabric SDK from the previously set properties 34 | err := fSetup.Initialize() 35 | if err != nil { 36 | fmt.Printf("Unable to initialize the Fabric SDK: %v\n", err) 37 | return 38 | } 39 | // Close SDK 40 | defer fSetup.CloseSDK() 41 | 42 | // Install and instantiate the chaincode 43 | err = fSetup.InstallAndInstantiateCC() 44 | if err != nil { 45 | fmt.Printf("Unable to install and instantiate the chaincode: %v\n", err) 46 | return 47 | } 48 | 49 | // Launch the web application listening 50 | // app := &controllers.Application{ 51 | // Fabric: &fSetup, 52 | // } 53 | // web.Serve(app) 54 | fSetup.RegisterUser() 55 | fSetup.QueryUser() 56 | 57 | } 58 | --------------------------------------------------------------------------------