@@ -199,10 +199,10 @@ EOF
199199
200200``` bash
201201export PEER_IMAGE=hyperledger/fabric-peer
202- export PEER_VERSION=3.0.0-preview
202+ export PEER_VERSION=2.5.5
203203
204204export ORDERER_IMAGE=hyperledger/fabric-orderer
205- export ORDERER_VERSION=3.0.0-preview
205+ export ORDERER_VERSION=2.5.5
206206
207207export CA_IMAGE=hyperledger/fabric-ca
208208export CA_VERSION=1.5.7
@@ -213,10 +213,10 @@ export CA_VERSION=1.5.7
213213
214214``` bash
215215export PEER_IMAGE=hyperledger/fabric-peer
216- export PEER_VERSION=3.0.0-preview
216+ export PEER_VERSION=2.5.5
217217
218218export ORDERER_IMAGE=hyperledger/fabric-orderer
219- export ORDERER_VERSION=3.0.0-preview
219+ export PEER_VERSION=2.5.5
220220
221221export CA_IMAGE=hyperledger/fabric-ca
222222export CA_VERSION=1.5.7
@@ -293,12 +293,12 @@ kubectl hlf ca register --name=org1-ca --user=peer --secret=peerpw --type=peer \
293293### Deploy a peer
294294
295295``` bash
296- kubectl hlf peer create --statedb=couchdb --image=$PEER_IMAGE --version=$PEER_VERSION --storage-class=standard --enroll-id=peer --mspid=Org1MSP \
296+ kubectl hlf peer create --statedb=leveldb --image=$PEER_IMAGE --version=$PEER_VERSION --storage-class=standard --enroll-id=peer --mspid=Org1MSP \
297297 --enroll-pw=peerpw --capacity=5Gi --name=org1-peer0 --ca-name=org1-ca.default \
298298 --hosts=peer0-org1.localho.st --istio-port=443
299299
300300
301- kubectl hlf peer create --statedb=couchdb --image=$PEER_IMAGE --version=$PEER_VERSION --storage-class=standard --enroll-id=peer --mspid=Org1MSP \
301+ kubectl hlf peer create --statedb=leveldb --image=$PEER_IMAGE --version=$PEER_VERSION --storage-class=standard --enroll-id=peer --mspid=Org1MSP \
302302 --enroll-pw=peerpw --capacity=5Gi --name=org1-peer1 --ca-name=org1-ca.default \
303303 --hosts=peer1-org1.localho.st --istio-port=443
304304
@@ -365,16 +365,6 @@ kubectl hlf ordnode create --image=$ORDERER_IMAGE --version=$ORDERER_VERSION \
365365 --hosts=orderer2-ord.localho.st --admin-hosts=admin-orderer2-ord.localho.st --istio-port=443
366366
367367
368- kubectl hlf ordnode create --image=$ORDERER_IMAGE --version=$ORDERER_VERSION \
369- --storage-class=standard --enroll-id=orderer --mspid=OrdererMSP \
370- --enroll-pw=ordererpw --capacity=2Gi --name=ord-node4 --ca-name=ord-ca.default \
371- --hosts=orderer3-ord.localho.st --admin-hosts=admin-orderer3-ord.localho.st --istio-port=443
372-
373- kubectl hlf ordnode create --image=$ORDERER_IMAGE --version=$ORDERER_VERSION \
374- --storage-class=standard --enroll-id=orderer --mspid=OrdererMSP \
375- --enroll-pw=ordererpw --capacity=2Gi --name=ord-node5 --ca-name=ord-ca.default \
376- --hosts=orderer4-ord.localho.st --admin-hosts=admin-orderer4-ord.localho.st --istio-port=443
377-
378368
379369kubectl wait --timeout=180s --for=condition=Running fabricorderernodes.hlf.kungfusoftware.es --all
380370```
@@ -408,6 +398,20 @@ kubectl hlf ca enroll --name=ord-ca --namespace=default \
408398 --ca-name tlsca --output orderermsp.yaml
409399```
410400
401+ ### Register and enrolling Org1MSP Orderer identity
402+
403+ ``` bash
404+ # register
405+ kubectl hlf ca register --name=org1-ca --user=admin --secret=adminpw \
406+ --type=admin --enroll-id enroll --enroll-secret=enrollpw --mspid=Org1MSP
407+
408+ # enroll
409+
410+ kubectl hlf ca enroll --name=org1-ca --namespace=default \
411+ --user=admin --secret=adminpw --mspid Org1MSP \
412+ --ca-name tlsca --output org1msp-tlsca.yaml
413+ ```
414+
411415
412416### Register and enrolling Org1MSP identity
413417
@@ -421,6 +425,12 @@ kubectl hlf ca enroll --name=org1-ca --namespace=default \
421425 --user=admin --secret=adminpw --mspid Org1MSP \
422426 --ca-name ca --output org1msp.yaml
423427
428+ # enroll
429+ kubectl hlf identity create --name org1-admin --namespace default \
430+ --ca-name org1-ca --ca-namespace default \
431+ --ca ca --mspid Org1MSP --enroll-id admin --enroll-secret adminpw
432+
433+
424434```
425435
426436### Create the secret
@@ -445,9 +455,9 @@ kubectl apply -f - <<EOF
445455apiVersion: hlf.kungfusoftware.es/v1alpha1
446456kind: FabricMainChannel
447457metadata:
448- name: demo
458+ name: demo2
449459spec:
450- name: demo
460+ name: demo2
451461 adminOrdererOrganizations:
452462 - mspID: OrdererMSP
453463 adminPeerOrganizations:
@@ -493,7 +503,41 @@ spec:
493503 secretKey: org1msp.yaml
494504 secretName: wallet
495505 secretNamespace: default
496- externalPeerOrganizations: []
506+ externalPeerOrganizations:
507+ - mspID: Org2MSP
508+ tlsRootCert: |
509+ -----BEGIN CERTIFICATE-----
510+ MIICRjCCAeugAwIBAgIQHA5nWgCvnS9ECuauCtat6TAKBggqhkjOPQQDAjBtMQsw
511+ CQYDVQQGEwJFUzERMA8GA1UEBxMIQWxpY2FudGUxETAPBgNVBAkTCEFsaWNhbnRl
512+ MRkwFwYDVQQKExBLdW5nIEZ1IFNvZnR3YXJlMQ0wCwYDVQQLEwRUZWNoMQ4wDAYD
513+ VQQDEwV0bHNjYTAeFw0yMzExMTIxNTA3MTlaFw0zMzExMTMxNTA3MTlaMG0xCzAJ
514+ BgNVBAYTAkVTMREwDwYDVQQHEwhBbGljYW50ZTERMA8GA1UECRMIQWxpY2FudGUx
515+ GTAXBgNVBAoTEEt1bmcgRnUgU29mdHdhcmUxDTALBgNVBAsTBFRlY2gxDjAMBgNV
516+ BAMTBXRsc2NhMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVB/ZqhVePy96JJH/
517+ QhYCT6hRlH7xQVSrTwI1QjLG6GgENV2c10m2EkXH/BHpLJCjZ8ZkGiqVVx/XMxZd
518+ E6p1B6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr
519+ BgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBcmb8svFB8Yn96e3d4
520+ Ft+8wZTrAYLielLn6Je/zxbjODAKBggqhkjOPQQDAgNJADBGAiEA3ad5GVhA5RSr
521+ mjhnKlazFh53einWYfWxcYNy42v+EbcCIQCt+Fc4nzlMg0ebG3HDlpa9wjJpX9MW
522+ caEunJxSdY4vWg==
523+ -----END CERTIFICATE-----
524+ signRootCert: |
525+ -----BEGIN CERTIFICATE-----
526+ MIICQTCCAeagAwIBAgIRALIMDeWXSDaW2cYssTwLrTAwCgYIKoZIzj0EAwIwajEL
527+ MAkGA1UEBhMCRVMxETAPBgNVBAcTCEFsaWNhbnRlMREwDwYDVQQJEwhBbGljYW50
528+ ZTEZMBcGA1UEChMQS3VuZyBGdSBTb2Z0d2FyZTENMAsGA1UECxMEVGVjaDELMAkG
529+ A1UEAxMCY2EwHhcNMjMxMTEyMTUwNzE5WhcNMzMxMTEzMTUwNzE5WjBqMQswCQYD
530+ VQQGEwJFUzERMA8GA1UEBxMIQWxpY2FudGUxETAPBgNVBAkTCEFsaWNhbnRlMRkw
531+ FwYDVQQKExBLdW5nIEZ1IFNvZnR3YXJlMQ0wCwYDVQQLEwRUZWNoMQswCQYDVQQD
532+ EwJjYTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAomf+HmUFMdRS7D+IZRCEkQ
533+ QEDyrakkXYEE/vwSlXhSW5PsVVXQdi/wmXj2YwoPqsDk2IrXc7KT2tni5wOxJ8mj
534+ bTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
535+ AwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgESLOdwga9AciHgTGFTR6Zxzh
536+ Z/vpQ2gC3V0MbzFvfOYwCgYIKoZIzj0EAwIDSQAwRgIhAKLN7BlISJJzjjHOqJ25
537+ EFfWSywv6MgddOsGgrQxsedCAiEAxhMj/EJcYvVu5rr+xiHo7TarixkdvmA5k/eW
538+ kOWiji0=
539+ -----END CERTIFICATE-----
540+
497541 ordererOrganizations:
498542 - caName: "ord-ca"
499543 caNamespace: "default"
@@ -502,11 +546,11 @@ spec:
502546 port: 7053
503547 mspID: OrdererMSP
504548 ordererEndpoints:
505- - ord-node1:7050
549+ - orderer0-ord.localho.st:443
506550 orderersToJoin: []
507551 orderers:
508- - host: ord-node1
509- port: 7050
552+ - host: orderer0-ord.localho.st
553+ port: 443
510554 tlsCert: |-
511555${ORDERER0_TLS_CERT}
512556
@@ -524,17 +568,17 @@ kubectl apply -f - <<EOF
524568apiVersion: hlf.kungfusoftware.es/v1alpha1
525569kind: FabricFollowerChannel
526570metadata:
527- name: testbft02 -org1msp
571+ name: demo2 -org1msp
528572spec:
529573 anchorPeers:
530- - host: org1- peer0.default
531- port: 7051
574+ - host: peer0-org1.localho.st
575+ port: 443
532576 hlfIdentity:
533577 secretKey: org1msp.yaml
534578 secretName: wallet
535579 secretNamespace: default
536580 mspId: Org1MSP
537- name: testbft02
581+ name: demo2
538582 externalPeersToJoin: []
539583 orderers:
540584 - certificate: |
@@ -683,12 +727,54 @@ At this point, you should have:
683727
684728- Ordering service with 1 nodes and a CA
685729- Peer organization with a peer and a CA
686- - A channel ** demo **
730+ - A channel ** demo2 **
687731- A chaincode install in peer0
688732- A chaincode approved and committed
689733
690734If something went wrong or didn't work, please, open an issue.
691735
736+
737+
738+ ### Prepare connection string for a peer
739+
740+ To prepare the connection string, we have to create a CRD of type ` FabricNetworkConfig ` with the following command:
741+
742+ ``` bash
743+ kubectl apply -f - << EOF
744+ apiVersion: hlf.kungfusoftware.es/v1alpha1
745+ kind: FabricNetworkConfig
746+ metadata:
747+ name: nc
748+ namespace: default
749+ spec:
750+ channels:
751+ - testbft02
752+ identities:
753+ - name: org1-admin
754+ namespace: default
755+ internal: false
756+ namespaces: []
757+ organization: ''
758+ organizations:
759+ - Org1MSP
760+ - OrdererMSP
761+ secretName: nc-networkconfig
762+ EOF
763+
764+ ```
765+ ## Launch the explorer
766+
767+ ``` bash
768+ export API_HOST=operator-api.localho.st
769+ export HLF_SECRET_NAME=" nc-networkconfig"
770+ export HLF_MSPID=" Org1MSP"
771+ export HLF_SECRET_KEY=" config.yaml" # e.g. networkConfig.yaml
772+ export HLF_USER=" org1-admin-default"
773+ kubectl hlf operatorapi create --name=operator-api --namespace=default --version=" v0.0.17-beta9" --hosts=$API_HOST --ingress-class-name=istio \
774+ --hlf-mspid=" ${HLF_MSPID} " --hlf-secret=" ${HLF_SECRET_NAME} " --hlf-secret-key=" ${HLF_SECRET_KEY} " \
775+ --hlf-user=" ${HLF_USER} "
776+ ```
777+
692778## Cleanup the environment
693779
694780``` bash
0 commit comments