From ca8fad315128a528dc8f3eab2395105723d5f95b Mon Sep 17 00:00:00 2001 From: Jim Zhang Date: Tue, 11 Jul 2017 16:02:23 -0400 Subject: [PATCH] [FAB-5260] Update samples to v1.0.0 basic-network: - moved "crypto-config" to top-level and removed "network" folder - added generate.sh to re-gen crypto materials - docker-compose.yaml to ref v1.0.0 images - add CLI to docker-compose - start.sh to only start CA, orderer, peer and couch - startFabric.sh to run start.sh, then launch CLI for create channel, install, instantiate, invoke fabcar: - moved chaincode to central chaincode folder - moved "creds" to top-level and removed "network" folder - changed to use the basic-network as the target and removed docker-compose.yaml and crypto-config - updated package.json to require v1.0.0 modules - added missing license headers - restructured to use a central chaincode subdirectory Change-Id: Ic784d1cf55ea51da5155624f3c38275883de1dca Signed-off-by: Christopher Ferris Signed-off-by: Nick Gaski Signed-off-by: Jim Zhang --- basic-network/README.md | 14 ++ .../config/channel.tx | Bin ...136cc64203df6b9920e26f48123fcfcb1d2e9-priv | 5 - ...8136cc64203df6b9920e26f48123fcfcb1d2e9-pub | 4 - basic-network/config/creds/PeerAdmin | 1 - .../config}/genesis.block | Bin basic-network/config/mychannel.tx | Bin 461 -> 0 bytes basic-network/config/twoorgs.genesis.block | Bin 11016 -> 0 bytes basic-network/configtx.yaml | 130 ++++++++++++ basic-network/crypto-config.yaml | 72 +++++++ ...0cdb202c4943604f95c72ee0ff839d3ec300719_sk | 0 .../example.com/ca/ca.example.com-cert.pem | 0 ...37ad9f2c692bb66f182148ce58940de70ade9ce_sk | 5 - .../example.com/ca/example.com-cert.pem | 14 -- .../msp/admincerts/Admin@example.com-cert.pem | 21 +- .../msp/cacerts/ca.example.com-cert.pem | 0 .../msp/cacerts/example.com-cert.pem | 14 -- .../msp/cacerts/example.com-tls-cert.pem | 10 - .../msp/cacerts/org1.example.com-cert.pem | 15 -- .../msp/cacerts/org1.example.com-tls-cert.pem | 10 - .../msp/cacerts/org2.example.com-cert.pem | 15 -- .../msp/cacerts/org2.example.com-tls-cert.pem | 10 - .../msp/signcerts/example.com-cert.pem | 14 -- .../msp/tlscacerts/tlsca.example.com-cert.pem | 0 .../admincerts/Admin@example.com-cert.pem | 14 -- .../cacerts/example.com-cert.pem | 14 -- ...56eb558b6c71f0116d85916299fc1368de2d58a_sk | 5 - .../msp/admincerts/Admin@example.com-cert.pem | 0 .../msp/cacerts/ca.example.com-cert.pem | 0 ...8d37f5a951fc4cd1162a47aad8accf9ddd10291_sk | 0 .../signcerts/orderer.example.com-cert.pem | 0 .../msp/tlscacerts/tlsca.example.com-cert.pem | 0 .../signcerts/orderer.example.com-cert.pem | 14 -- .../orderers/orderer.example.com/tls/ca.crt | 0 .../orderer.example.com/tls/server.crt | 0 .../orderer.example.com/tls/server.key | 0 ...77809902713b8e321a5ab55ecc104dafc2eec49_sk | 0 .../tlsca/tlsca.example.com-cert.pem | 0 .../admincerts/example.com-cert.pem | 14 -- .../cacerts/example.com-cert.pem | 14 -- ...3d819561adbedc77fe90cc250424ce4de179a3c_sk | 5 - .../msp/admincerts/Admin@example.com-cert.pem | 0 .../msp/cacerts/ca.example.com-cert.pem | 0 ...f84c2f241a7a8c87df0544fc1dc08baf7832aa0_sk | 0 .../msp/signcerts}/Admin@example.com-cert.pem | 0 .../msp/tlscacerts/tlsca.example.com-cert.pem | 0 .../signcerts/Admin@example.com-cert.pem | 14 -- .../users/Admin@example.com/tls/ca.crt | 0 .../users/Admin@example.com/tls/server.crt | 0 .../users/Admin@example.com/tls/server.key | 0 ...b8ef6f4c1c91d9e6e577c45c33163609fe40011_sk | 0 ...f66fccef1d7f1aa2b3a2b92dbfbf96a448ea26a_sk | 5 - .../ca/ca.org1.example.com-cert.pem | 0 .../ca/org1.example.com-cert.pem | 25 ++- .../Admin@org1.example.com-cert.pem | 22 +- .../msp/cacerts/ca.org1.example.com-cert.pem | 0 .../msp/cacerts/org1.example.com-cert.pem | 15 -- .../msp/cacerts/org1.example.com-tls-cert.pem | 10 - .../msp/cacerts/org2.example.com-tls-cert.pem | 10 - .../msp/signcerts/org1.example.com-cert.pem | 15 -- .../tlsca.org1.example.com-cert.pem | 0 .../Admin@org1.example.com-cert.pem | 14 -- .../cacerts/org1.example.com-cert.pem | 15 -- ...692e30bbfba4c38813ff9a0b6b799b546dda1d8_sk | 5 - .../Admin@org1.example.com-cert.pem | 0 .../msp/cacerts/ca.org1.example.com-cert.pem | 0 ...80e5cce249beaab27b70c741bb0e2554355957e_sk | 0 .../signcerts/peer0.org1.example.com-cert.pem | 0 .../tlsca.org1.example.com-cert.pem | 0 .../signcerts/peer0.org1.example.com-cert.pem | 14 -- .../peers/peer0.org1.example.com/tls/ca.crt | 0 .../peer0.org1.example.com/tls/server.crt | 0 .../peer0.org1.example.com/tls/server.key | 0 ...b974d857933706737d00d04bf65f74e3976f9f8_sk | 0 .../tlsca/tlsca.org1.example.com-cert.pem | 0 .../admincerts/org1.example.com-cert.pem | 15 -- .../cacerts/org1.example.com-cert.pem | 15 -- ...a8136cc64203df6b9920e26f48123fcfcb1d2e9_sk | 5 - .../Admin@org1.example.com-cert.pem | 0 .../msp/cacerts/ca.org1.example.com-cert.pem | 0 ...304edecc020fe63f41a6db109f1e227cc1cb2a8_sk | 0 .../Admin@org1.example.com-cert.pem | 0 .../tlsca.org1.example.com-cert.pem | 0 .../signcerts/Admin@org1.example.com-cert.pem | 14 -- .../users/Admin@org1.example.com/tls/ca.crt | 0 .../Admin@org1.example.com/tls/server.crt | 0 .../Admin@org1.example.com/tls/server.key | 0 .../admincerts/org1.example.com-cert.pem | 15 -- .../cacerts/org1.example.com-cert.pem | 15 -- ...78855cfb11e048397261844db89244549918731_sk | 5 - .../User1@org1.example.com-cert.pem | 0 .../msp/cacerts/ca.org1.example.com-cert.pem | 0 ...780fc84acc9752ef30ebc16be1f4666c02b614b_sk | 0 .../signcerts/User1@org1.example.com-cert.pem | 0 .../tlsca.org1.example.com-cert.pem | 0 .../signcerts/User1@org1.example.com-cert.pem | 14 -- .../users/User1@org1.example.com/tls/ca.crt | 0 .../User1@org1.example.com/tls/server.crt | 0 .../User1@org1.example.com/tls/server.key | 0 ...d1a5d472598f54c058c3546317c5c5fb0ddfd6e_sk | 5 - ...d2c1375df27360d7227f48cdc2f80e505678005_sk | 0 .../ca/ca.org2.example.com-cert.pem | 0 .../ca/org2.example.com-cert.pem | 15 -- .../Admin@org2.example.com-cert.pem | 24 +-- .../msp/cacerts/ca.org2.example.com-cert.pem | 0 .../msp/cacerts/org2.example.com-cert.pem | 15 -- .../msp/signcerts/org2.example.com-cert.pem | 15 -- .../tlsca.org2.example.com-cert.pem | 0 .../Admin@org2.example.com-cert.pem | 14 -- .../cacerts/org2.example.com-cert.pem | 15 -- ...2a10390e0e83eb079b02a26a162ee26f02ff796_sk | 5 - .../Admin@org2.example.com-cert.pem | 0 .../msp/cacerts/ca.org2.example.com-cert.pem | 0 ...6877666bc8f365746f9329d6dd8a5f54e53e2ab_sk | 0 .../signcerts/peer0.org2.example.com-cert.pem | 0 .../tlsca.org2.example.com-cert.pem | 0 .../signcerts/peer0.org2.example.com-cert.pem | 14 -- .../peers/peer0.org2.example.com/tls/ca.crt | 0 .../peer0.org2.example.com/tls/server.crt | 0 .../peer0.org2.example.com/tls/server.key | 0 ...6062e77d06ac4963c7b7ae459284dfbd3eb5aac_sk | 0 .../tlsca/tlsca.org2.example.com-cert.pem | 0 .../admincerts/org2.example.com-cert.pem | 15 -- .../cacerts/org2.example.com-cert.pem | 15 -- ...5a590c3e3a43c4ccd70c7795bec504e7f74848d_sk | 5 - .../Admin@org2.example.com-cert.pem | 0 .../msp/cacerts/ca.org2.example.com-cert.pem | 0 ...fa477bc0f183e1f5f398c8281d0ce7c2c75a076_sk | 0 .../Admin@org2.example.com-cert.pem | 0 .../tlsca.org2.example.com-cert.pem | 0 .../signcerts/Admin@org2.example.com-cert.pem | 14 -- .../users/Admin@org2.example.com/tls/ca.crt | 0 .../Admin@org2.example.com/tls/server.crt | 0 .../Admin@org2.example.com/tls/server.key | 0 .../admincerts/org2.example.com-cert.pem | 15 -- .../cacerts/org2.example.com-cert.pem | 15 -- ...a53f5f029bd90ba2dcd19aa04a1fbe6df59a3f1_sk | 5 - .../User1@org2.example.com-cert.pem | 0 .../msp/cacerts/ca.org2.example.com-cert.pem | 0 ...0ff9aefa47c565678f100ca8673db249ee785ac_sk | 0 .../signcerts/User1@org2.example.com-cert.pem | 0 .../tlsca.org2.example.com-cert.pem | 0 .../signcerts/User1@org2.example.com-cert.pem | 14 -- .../users/User1@org2.example.com/tls/ca.crt | 0 .../User1@org2.example.com/tls/server.crt | 0 .../User1@org2.example.com/tls/server.key | 0 basic-network/docker-compose.yml | 41 +++- basic-network/generate.sh | 41 ++++ basic-network/start.sh | 7 +- basic-network/teardown.sh | 6 +- .../docker-compose-simple.yaml | 5 +- .../chaincode_example02.go | 0 .../chaincode_example02_test.go | 0 .../chaincode => chaincode/fabcar}/fabcar.go | 0 .../marbles02/marbles_chaincode.go | 0 .../chaincode => chaincode}/sacc/sacc.go | 0 ...4edecc020fe63f41a6db109f1e227cc1cb2a8-priv | 0 ...04edecc020fe63f41a6db109f1e227cc1cb2a8-pub | 0 fabcar/{network => }/creds/PeerAdmin | 0 fabcar/invoke.js | 8 +- .../msp/signcerts/Admin@example.com-cert.pem | 13 -- .../signcerts/Admin@org1.example.com-cert.pem | 14 -- .../signcerts/Admin@org2.example.com-cert.pem | 14 -- fabcar/network/docker-compose.yml | 83 -------- fabcar/package.json | 4 +- fabcar/query.js | 8 +- fabcar/startFabric.sh | 30 ++- first-network/base/docker-compose-base.yaml | 3 +- first-network/byfn.sh | 5 + .../chaincode_example02.go | 199 ------------------ first-network/docker-compose-cli.yaml | 2 +- 171 files changed, 379 insertions(+), 1020 deletions(-) create mode 100644 basic-network/README.md rename fabcar/network/mychannel.tx => basic-network/config/channel.tx (100%) delete mode 100644 basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-priv delete mode 100644 basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-pub delete mode 100644 basic-network/config/creds/PeerAdmin rename {fabcar/network => basic-network/config}/genesis.block (100%) delete mode 100644 basic-network/config/mychannel.tx delete mode 100644 basic-network/config/twoorgs.genesis.block create mode 100644 basic-network/configtx.yaml create mode 100644 basic-network/crypto-config.yaml rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/ca/0d46ccf0e9436c1bc3b6e2bf80cdb202c4943604f95c72ee0ff839d3ec300719_sk (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/ca/ca.example.com-cert.pem (100%) delete mode 100755 basic-network/crypto-config/ordererOrganizations/example.com/ca/eaade59087c6d97fcf350e94f37ad9f2c692bb66f182148ce58940de70ade9ce_sk delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/ca/example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/msp/cacerts/ca.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/msp/cacerts/example.com-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/msp/cacerts/example.com-tls-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/msp/cacerts/org1.example.com-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/msp/cacerts/org1.example.com-tls-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/msp/cacerts/org2.example.com-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/msp/cacerts/org2.example.com-tls-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/msp/signcerts/example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/admincerts/Admin@example.com-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/cacerts/example.com-cert.pem delete mode 100755 basic-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/keystore/e8a4fdaacf1ef1d925686f19f56eb558b6c71f0116d85916299fc1368de2d58a_sk rename {fabcar/network/crypto-config/ordererOrganizations/example.com => basic-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com}/msp/admincerts/Admin@example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/keystore/2fb065725bf1b7e2811c0e8ca8d37f5a951fc4cd1162a47aad8accf9ddd10291_sk (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/orderer.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/signcerts/orderer.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/tlsca/6a211ed18880b4db3867831c977809902713b8e321a5ab55ecc104dafc2eec49_sk (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/admincerts/example.com-cert.pem delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/cacerts/example.com-cert.pem delete mode 100755 basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/keystore/ef8e88d28a86f23466ad378003d819561adbedc77fe90cc250424ce4de179a3c_sk rename {fabcar/network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com => basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com}/msp/admincerts/Admin@example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/cacerts/ca.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore/db670eed8487a93c35ae448b9f84c2f241a7a8c87df0544fc1dc08baf7832aa0_sk (100%) rename {fabcar/network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/admincerts => basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts}/Admin@example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/tlscacerts/tlsca.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/signcerts/Admin@example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/server.key (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/ca/0e729224e8b3f31784c8a93c5b8ef6f4c1c91d9e6e577c45c33163609fe40011_sk (100%) delete mode 100755 basic-network/crypto-config/peerOrganizations/org1.example.com/ca/a22daf356b2aab5792ea53e35f66fccef1d7f1aa2b3a2b92dbfbf96a448ea26a_sk rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/msp/cacerts/org1.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/msp/cacerts/org1.example.com-tls-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/msp/cacerts/org2.example.com-tls-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/msp/signcerts/org1.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/admincerts/Admin@org1.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/cacerts/org1.example.com-cert.pem delete mode 100755 basic-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/keystore/ecd9f80eb183352d5d4176eeb692e30bbfba4c38813ff9a0b6b799b546dda1d8_sk rename {fabcar/network/crypto-config/peerOrganizations/org1.example.com => basic-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com}/msp/admincerts/Admin@org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/keystore/27db82c96b1482480baa1c75f80e5cce249beaab27b70c741bb0e2554355957e_sk (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/signcerts/peer0.org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/signcerts/peer0.org1.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/tlsca/945092d936f5838c5a6f6484db974d857933706737d00d04bf65f74e3976f9f8_sk (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/admincerts/org1.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/cacerts/org1.example.com-cert.pem delete mode 100755 basic-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/keystore/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9_sk rename {fabcar/network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com => basic-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com}/msp/admincerts/Admin@org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8_sk (100%) rename {fabcar/network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/admincerts => basic-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts}/Admin@org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/signcerts/Admin@org1.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/server.key (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/admincerts/org1.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/cacerts/org1.example.com-cert.pem delete mode 100755 basic-network/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/keystore/e4af7f90fa89b3e63116da5d278855cfb11e048397261844db89244549918731_sk rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/admincerts/User1@org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/73cdc0072c7203f1ec512232c780fc84acc9752ef30ebc16be1f4666c02b614b_sk (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@org1.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/signcerts/User1@org1.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/server.key (100%) delete mode 100755 basic-network/crypto-config/peerOrganizations/org2.example.com/ca/464d550fe9bf9e7d8976cdf59d1a5d472598f54c058c3546317c5c5fb0ddfd6e_sk rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/ca/a7d47efa46a6ba07730c850fed2c1375df27360d7227f48cdc2f80e505678005_sk (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/ca/org2.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/msp/cacerts/org2.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/msp/signcerts/org2.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/admincerts/Admin@org2.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/cacerts/org2.example.com-cert.pem delete mode 100755 basic-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/keystore/81c71fd393054571c8d789f302a10390e0e83eb079b02a26a162ee26f02ff796_sk rename {fabcar/network/crypto-config/peerOrganizations/org2.example.com => basic-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com}/msp/admincerts/Admin@org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/keystore/0d9f72608133ee627b570b6af6877666bc8f365746f9329d6dd8a5f54e53e2ab_sk (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/signcerts/peer0.org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/signcerts/peer0.org2.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/tlsca/7bb8ba3ff11d3c8cf592bd4326062e77d06ac4963c7b7ae459284dfbd3eb5aac_sk (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/admincerts/org2.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/cacerts/org2.example.com-cert.pem delete mode 100755 basic-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/keystore/5a983ddcbefe52a7f9b8ee5b85a590c3e3a43c4ccd70c7795bec504e7f74848d_sk rename {fabcar/network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com => basic-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com}/msp/admincerts/Admin@org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/1995b11d6573ed3be52fcd7a5fa477bc0f183e1f5f398c8281d0ce7c2c75a076_sk (100%) rename {fabcar/network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/admincerts => basic-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts}/Admin@org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/signcerts/Admin@org2.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/server.key (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/admincerts/org2.example.com-cert.pem delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/cacerts/org2.example.com-cert.pem delete mode 100755 basic-network/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/keystore/ce96b95b8ca136f17ff682d99a53f5f029bd90ba2dcd19aa04a1fbe6df59a3f1_sk rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/admincerts/User1@org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/585175c83bac91fc0c1ce8f9d0ff9aefa47c565678f100ca8673db249ee785ac_sk (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/User1@org2.example.com-cert.pem (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem (100%) delete mode 100644 basic-network/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/signcerts/User1@org2.example.com-cert.pem rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/ca.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/server.crt (100%) rename {fabcar/network => basic-network}/crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/server.key (100%) create mode 100755 basic-network/generate.sh rename {chaincode-docker-devmode/chaincode => chaincode}/chaincode_example02/chaincode_example02.go (100%) rename {chaincode-docker-devmode/chaincode => chaincode}/chaincode_example02/chaincode_example02_test.go (100%) rename {fabcar/chaincode => chaincode/fabcar}/fabcar.go (100%) rename {first-network/chaincode => chaincode}/marbles02/marbles_chaincode.go (100%) rename {chaincode-docker-devmode/chaincode => chaincode}/sacc/sacc.go (100%) rename fabcar/{network => }/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-priv (100%) rename fabcar/{network => }/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-pub (100%) rename fabcar/{network => }/creds/PeerAdmin (100%) delete mode 100644 fabcar/network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/Admin@example.com-cert.pem delete mode 100644 fabcar/network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem delete mode 100644 fabcar/network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem delete mode 100644 fabcar/network/docker-compose.yml delete mode 100644 first-network/chaincode/chaincode_example02/chaincode_example02.go diff --git a/basic-network/README.md b/basic-network/README.md new file mode 100644 index 0000000000..ec8acfbc25 --- /dev/null +++ b/basic-network/README.md @@ -0,0 +1,14 @@ +## Basic Network Config + +Note that this basic configuration uses pre-generated certificates and +key material, and also has predefined transactions to initialize a +channel named "mychannel". + +To regenerate this material, simply run ``generate.sh``. + +To start the network, run ``start.sh``. +To stop it, run ``stop.sh`` +To completely remove all incriminating evidence of the network +on your system, run ``teardown.sh``. + +Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License diff --git a/fabcar/network/mychannel.tx b/basic-network/config/channel.tx similarity index 100% rename from fabcar/network/mychannel.tx rename to basic-network/config/channel.tx diff --git a/basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-priv b/basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-priv deleted file mode 100644 index d3ba38c206..0000000000 --- a/basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-priv +++ /dev/null @@ -1,5 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgS0L+WeTBa4vdUW4j -rogLu8JmLSjda0YcA2TWOfaR+8yhRANCAAQO41JsWQE2pt2UZ/DBdIcpa/inDZ4U -54P5VcIdXgISsEqdRcGLBz+cvvrpTNedaeyNRSndk5LMIJ/npw2Qua/p ------END PRIVATE KEY----- diff --git a/basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-pub b/basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-pub deleted file mode 100644 index 39826b0032..0000000000 --- a/basic-network/config/creds/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9-pub +++ /dev/null @@ -1,4 +0,0 @@ ------BEGIN PUBLIC KEY----- -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDuNSbFkBNqbdlGfwwXSHKWv4pw2e -FOeD+VXCHV4CErBKnUXBiwc/nL766UzXnWnsjUUp3ZOSzCCf56cNkLmv6Q== ------END PUBLIC KEY----- diff --git a/basic-network/config/creds/PeerAdmin b/basic-network/config/creds/PeerAdmin deleted file mode 100644 index dc48bf8642..0000000000 --- a/basic-network/config/creds/PeerAdmin +++ /dev/null @@ -1 +0,0 @@ -{"name":"PeerAdmin","mspid":"Org1MSP","roles":null,"affiliation":"","enrollmentSecret":"","enrollment":{"signingIdentity":"9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9","identity":{"id":"testIdentity","certificate":"-----BEGIN CERTIFICATE-----\nMIICKjCCAdGgAwIBAgIQIVQ6HvVnJP1qZ5YKfh50hzAKBggqhkjOPQQDAjBwMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEZMBcGA1UEAxMQb3Jn\nMS5leGFtcGxlLmNvbTAeFw0xNzA0MjIxMjAyNTZaFw0yNzA0MjAxMjAyNTZaMFsx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkwEwYH\nKoZIzj0CAQYIKoZIzj0DAQcDQgAEDuNSbFkBNqbdlGfwwXSHKWv4pw2eFOeD+VXC\nHV4CErBKnUXBiwc/nL766UzXnWnsjUUp3ZOSzCCf56cNkLmv6aNiMGAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKwYD\nVR0jBCQwIoAgoi2vNWsqq1eS6lPjX2b8zvHX8aorOiuS2/v5akSOomowCgYIKoZI\nzj0EAwIDRwAwRAIgbEqKoKrFuYQG0ndiX7dT7GKGlF17Skf8DYil9cqbp00CID5T\nURQPp0/vJ3tldK0z9xjFvsSecj8aqnDvZvGz07/v\n-----END CERTIFICATE-----\n"}}} \ No newline at end of file diff --git a/fabcar/network/genesis.block b/basic-network/config/genesis.block similarity index 100% rename from fabcar/network/genesis.block rename to basic-network/config/genesis.block diff --git a/basic-network/config/mychannel.tx b/basic-network/config/mychannel.tx deleted file mode 100644 index 5b385c3ca2112cd3c91d6b8cc87a1b99d4ad61f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461 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 Y96in4FW85&7>}^ @@ -17,6 +18,6 @@ export FABRIC_START_TIMEOUT=10 sleep ${FABRIC_START_TIMEOUT} # Create the channel -docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/mychannel.tx +docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx # Join peer0.org1.example.com to the channel. -docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com" peer0.org1.example.com peer channel join -b mychannel.block +docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel join -b mychannel.block diff --git a/basic-network/teardown.sh b/basic-network/teardown.sh index 721a288b31..70367930e8 100755 --- a/basic-network/teardown.sh +++ b/basic-network/teardown.sh @@ -5,15 +5,15 @@ # SPDX-License-Identifier: Apache-2.0 # # Exit on first error, print all commands. -set -ev +set -e # Shut down the Docker containers for the system tests. docker-compose -f docker-compose.yml kill && docker-compose -f docker-compose.yml down # remove the local state -#rm -f ~/.hfc-key-store/* +rm -f ~/.hfc-key-store/* # remove chaincode docker images -# docker rmi $(docker images dev-* -q) +docker rmi $(docker images dev-* -q) # Your system is now clean diff --git a/chaincode-docker-devmode/docker-compose-simple.yaml b/chaincode-docker-devmode/docker-compose-simple.yaml index 9803708011..7661e0cdb9 100644 --- a/chaincode-docker-devmode/docker-compose-simple.yaml +++ b/chaincode-docker-devmode/docker-compose-simple.yaml @@ -59,7 +59,8 @@ services: volumes: - /var/run/:/host/var/run/ - ./msp:/etc/hyperledger/msp - - ./:/opt/gopath/src/chaincodedev + - ./../chaincode:/opt/gopath/src/chaincodedev/chaincode + - ./:/opt/gopath/src/chaincodedev/ depends_on: - orderer - peer @@ -81,7 +82,7 @@ services: volumes: - /var/run/:/host/var/run/ - ./msp:/etc/hyperledger/msp - - ./chaincode:/opt/gopath/src/chaincode + - ./../chaincode:/opt/gopath/src/chaincode depends_on: - orderer - peer diff --git a/chaincode-docker-devmode/chaincode/chaincode_example02/chaincode_example02.go b/chaincode/chaincode_example02/chaincode_example02.go similarity index 100% rename from chaincode-docker-devmode/chaincode/chaincode_example02/chaincode_example02.go rename to chaincode/chaincode_example02/chaincode_example02.go diff --git a/chaincode-docker-devmode/chaincode/chaincode_example02/chaincode_example02_test.go b/chaincode/chaincode_example02/chaincode_example02_test.go similarity index 100% rename from chaincode-docker-devmode/chaincode/chaincode_example02/chaincode_example02_test.go rename to chaincode/chaincode_example02/chaincode_example02_test.go diff --git a/fabcar/chaincode/fabcar.go b/chaincode/fabcar/fabcar.go similarity index 100% rename from fabcar/chaincode/fabcar.go rename to chaincode/fabcar/fabcar.go diff --git a/first-network/chaincode/marbles02/marbles_chaincode.go b/chaincode/marbles02/marbles_chaincode.go similarity index 100% rename from first-network/chaincode/marbles02/marbles_chaincode.go rename to chaincode/marbles02/marbles_chaincode.go diff --git a/chaincode-docker-devmode/chaincode/sacc/sacc.go b/chaincode/sacc/sacc.go similarity index 100% rename from chaincode-docker-devmode/chaincode/sacc/sacc.go rename to chaincode/sacc/sacc.go diff --git a/fabcar/network/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-priv b/fabcar/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-priv similarity index 100% rename from fabcar/network/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-priv rename to fabcar/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-priv diff --git a/fabcar/network/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-pub b/fabcar/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-pub similarity index 100% rename from fabcar/network/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-pub rename to fabcar/creds/5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-pub diff --git a/fabcar/network/creds/PeerAdmin b/fabcar/creds/PeerAdmin similarity index 100% rename from fabcar/network/creds/PeerAdmin rename to fabcar/creds/PeerAdmin diff --git a/fabcar/invoke.js b/fabcar/invoke.js index 407b0c1616..7ad02fab8e 100644 --- a/fabcar/invoke.js +++ b/fabcar/invoke.js @@ -1,5 +1,9 @@ 'use strict'; - +/* +* Copyright IBM Corp All Rights Reserved +* +* SPDX-License-Identifier: Apache-2.0 +*/ /* * Chaincode Invoke */ @@ -9,7 +13,7 @@ var path = require('path'); var util = require('util'); var options = { - wallet_path: path.join(__dirname, './network/creds'), + wallet_path: path.join(__dirname, './creds'), user_id: 'PeerAdmin', channel_id: 'mychannel', chaincode_id: 'fabcar', diff --git a/fabcar/network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/Admin@example.com-cert.pem b/fabcar/network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/Admin@example.com-cert.pem deleted file mode 100644 index 4a1dbfa9d2..0000000000 --- a/fabcar/network/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/Admin@example.com-cert.pem +++ /dev/null @@ -1,13 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICCjCCAbGgAwIBAgIRANPhTyHWZkTenKfX4eBv0ZUwCgYIKoZIzj0EAwIwaTEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG -cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt -cGxlLmNvbTAeFw0xNzA2MjMxMjMzMTlaFw0yNzA2MjExMjMzMTlaMFYxCzAJBgNV -BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp -c2NvMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqG -SM49AwEHA0IABKAyu7N4S2ZPQSzsAVF/mwwCewuu++MtfcMmUdeoIPFRBj1JMCnf -f88M0wj13gQSJQ6GfnUrT76G/L5fGxCUifWjTTBLMA4GA1UdDwEB/wQEAwIHgDAM -BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIA1GzPDpQ2wbw7biv4DNsgLElDYE+Vxy -7g/4OdPsMAcZMAoGCCqGSM49BAMCA0cAMEQCIEdiGFLzeGMvVNubuZ3iuvRp/Pp6 -im3FmABwIbnMarabAiBIHWzz8Yxh9K5ZNkVNZX3fLZ4LlzsKBinbWH9J2wblDg== ------END CERTIFICATE----- diff --git a/fabcar/network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem b/fabcar/network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem deleted file mode 100644 index e716793f48..0000000000 --- a/fabcar/network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem +++ /dev/null @@ -1,14 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICGTCCAb+gAwIBAgIQKKKdQSzsDoUYn/LPAuRWGTAKBggqhkjOPQQDAjBzMQsw -CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy -YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu -b3JnMS5leGFtcGxlLmNvbTAeFw0xNzA2MjMxMjMzMTlaFw0yNzA2MjExMjMzMTla -MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T -YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkw -EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECmbzUDozIrLKjp3OAzItSG7m7Flw76rT -8VO8E6otlCwxKtBRkPpZL7norC3NsjyE339J5O4pXCqhIApQyRRsRqNNMEswDgYD -VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgDnKSJOiz8xeE -yKk8W4729MHJHZ5uV3xFwzFjYJ/kABEwCgYIKoZIzj0EAwIDSAAwRQIhALT02pc/ -yfE/4wUJfUBQ32GifUEh8JktAXzL/73S0rjYAiACNSp6zAQBX9SBxTOGMk4cGGAy -CKqf8052NVUs2CvPzA== ------END CERTIFICATE----- diff --git a/fabcar/network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem b/fabcar/network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem deleted file mode 100644 index 93086ac949..0000000000 --- a/fabcar/network/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem +++ /dev/null @@ -1,14 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICGjCCAcCgAwIBAgIRAIUbkOONvaq2DLJr9qZbDKwwCgYIKoZIzj0EAwIwczEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG -cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh -Lm9yZzIuZXhhbXBsZS5jb20wHhcNMTcwNjIzMTIzMzE5WhcNMjcwNjIxMTIzMzE5 -WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN -U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWQWRtaW5Ab3JnMi5leGFtcGxlLmNvbTBZ -MBMGByqGSM49AgEGCCqGSM49AwEHA0IABMLKHXm1xN7Tk4YzaWg4GYhLoyNjrjs5 -302o37m12U8LorR7IL5fdFgYILeL4XUPjC/QG4E2o6hPl3uZPUVErbajTTBLMA4G -A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIKfUfvpGproH -cwyFD+0sE3XfJzYNcif0jNwvgOUFZ4AFMAoGCCqGSM49BAMCA0gAMEUCIQDa1k6R -+luypvng6JMSKIyibptkwICToEAZlDqLeD+k1gIgGFXm1+p1QqxViOa+c1dUvjl0 -m1UCqGDwNTHDm5mO+es= ------END CERTIFICATE----- diff --git a/fabcar/network/docker-compose.yml b/fabcar/network/docker-compose.yml deleted file mode 100644 index 94b04e6179..0000000000 --- a/fabcar/network/docker-compose.yml +++ /dev/null @@ -1,83 +0,0 @@ -version: '2' - -services: - - orderer.example.com: - container_name: orderer.example.com - image: hyperledger/fabric-orderer:x86_64-1.0.0-rc1 - environment: - - ORDERER_GENERAL_LOGLEVEL=debug - - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - - ORDERER_GENERAL_GENESISMETHOD=file - - ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/genesis.block - - ORDERER_GENERAL_LOCALMSPID=OrdererMSP - - ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer - working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer - command: orderer - ports: - - 7050:7050 - volumes: - - ./:/etc/hyperledger/configtx - - ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/etc/hyperledger/msp/orderer - - peer0.org1.example.com: - container_name: peer0.org1.example.com - image: hyperledger/fabric-peer:x86_64-1.0.0-rc1 - environment: - - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - - CORE_PEER_ID=peer0.org1.example.com - - CORE_LOGGING_PEER=debug - - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - - CORE_PEER_LOCALMSPID=Org1MSP - - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/ - - CORE_PEER_ADDRESS=peer0.org1.example.com:7051 - # # the following setting starts chaincode containers on the same - # # bridge network as the peers - # # https://docs.docker.com/compose/networking/ - - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=network_default - - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 - working_dir: /opt/gopath/src/github.com/hyperledger/fabric - command: peer node start - ports: - - 7051:7051 - - 7053:7053 - volumes: - - /var/run/:/host/var/run/ - - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer - - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users - - .:/etc/hyperledger/configtx - depends_on: - - orderer.example.com - - couchdb: - container_name: couchdb - image: hyperledger/fabric-couchdb:x86_64-1.0.0-rc1 - ports: - - 5984:5984 - environment: - DB_URL: http://localhost:5984/member_db - - cli: - container_name: cli - image: hyperledger/fabric-tools:x86_64-1.0.0-rc1 - tty: true - environment: - - GOPATH=/opt/gopath - - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - - CORE_LOGGING_LEVEL=DEBUG - - CORE_PEER_ID=cli - - CORE_PEER_ADDRESS=peer0.org1.example.com:7051 - - CORE_PEER_LOCALMSPID=Org1MSP - - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp - - CORE_CHAINCODE_KEEPALIVE=10 - working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer - command: /bin/bash - volumes: - - /var/run/:/host/var/run/ - - ./../chaincode:/opt/gopath/src/github.com/fabcar/ - - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ - depends_on: - - orderer.example.com - - peer0.org1.example.com - - couchdb diff --git a/fabcar/package.json b/fabcar/package.json index 9b98822cf6..c33d0dad1c 100644 --- a/fabcar/package.json +++ b/fabcar/package.json @@ -7,8 +7,8 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "fabric-ca-client": ">=1.0.0-rc1 <1.0.0-rc1.10", - "fabric-client": ">=1.0.0-rc1 <1.0.0-rc1.10" + "fabric-ca-client": "^1.0.0", + "fabric-client": "^1.0.0" }, "author": "Anthony O'Dowd", "license": "Apache-2.0", diff --git a/fabcar/query.js b/fabcar/query.js index 672f120131..65021508f2 100644 --- a/fabcar/query.js +++ b/fabcar/query.js @@ -1,5 +1,9 @@ 'use strict'; - +/* +* Copyright IBM Corp All Rights Reserved +* +* SPDX-License-Identifier: Apache-2.0 +*/ /* * Hyperledger Fabric Sample Query Program */ @@ -8,7 +12,7 @@ var hfc = require('fabric-client'); var path = require('path'); var options = { - wallet_path: path.join(__dirname, './network/creds'), + wallet_path: path.join(__dirname, './creds'), user_id: 'PeerAdmin', channel_id: 'mychannel', chaincode_id: 'fabcar', diff --git a/fabcar/startFabric.sh b/fabcar/startFabric.sh index 0f12d07ebe..f7680168bf 100755 --- a/fabcar/startFabric.sh +++ b/fabcar/startFabric.sh @@ -1,35 +1,29 @@ #!/bin/bash - +# +# Copyright IBM Corp All Rights Reserved +# +# SPDX-License-Identifier: Apache-2.0 +# # Exit on first error set -e starttime=$(date +%s) -# Grab the current directoryinitLedger -DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - if [ ! -d ~/.hfc-key-store/ ]; then mkdir ~/.hfc-key-store/ fi -cp $PWD/network/creds/* ~/.hfc-key-store/ +cp $PWD/creds/* ~/.hfc-key-store/ +# launch network; create channel and join peer to channel +cd ../basic-network +./start.sh -# -cd "${DIR}"/network - -docker-compose -f "${DIR}"/network/docker-compose.yml up -d +# Now launch the CLI container in order to install, instantiate chaincode +# and prime the ledger with our 10 cars +docker-compose -f ./docker-compose.yml up -d cli -# wait for Hyperledger Fabric to start -sleep 10 - -# Create the channel -docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/mychannel.tx -# Join peer0.org1.example.com to the channel. -docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel join -b mychannel.block docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode install -n fabcar -v 1.0 -p github.com/fabcar docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n fabcar -v 1.0 -c '{"Args":[""]}' -P "OR ('Org1MSP.member','Org2MSP.member')" sleep 10 docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n fabcar -c '{"function":"initLedger","Args":[""]}' -cd ../.. - printf "\nTotal execution time : $(($(date +%s) - starttime)) secs ...\n\n" diff --git a/first-network/base/docker-compose-base.yaml b/first-network/base/docker-compose-base.yaml index 9aa918e2bb..7a97e7186d 100644 --- a/first-network/base/docker-compose-base.yaml +++ b/first-network/base/docker-compose-base.yaml @@ -78,6 +78,7 @@ services: - CORE_PEER_ID=peer0.org2.example.com - CORE_PEER_ADDRESS=peer0.org2.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051 + - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051 - CORE_PEER_LOCALMSPID=Org2MSP volumes: - /var/run/:/host/var/run/ @@ -96,7 +97,7 @@ services: - CORE_PEER_ID=peer1.org2.example.com - CORE_PEER_ADDRESS=peer1.org2.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051 - - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051 + - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051 - CORE_PEER_LOCALMSPID=Org2MSP volumes: - /var/run/:/host/var/run/ diff --git a/first-network/byfn.sh b/first-network/byfn.sh index 7c60f37bd7..04436ed91e 100755 --- a/first-network/byfn.sh +++ b/first-network/byfn.sh @@ -1,4 +1,9 @@ #!/bin/bash +# +# Copyright IBM Corp All Rights Reserved +# +# SPDX-License-Identifier: Apache-2.0 +# # This script will orchestrate a sample end-to-end execution of the Hyperledger # Fabric network. diff --git a/first-network/chaincode/chaincode_example02/chaincode_example02.go b/first-network/chaincode/chaincode_example02/chaincode_example02.go deleted file mode 100644 index 5343806643..0000000000 --- a/first-network/chaincode/chaincode_example02/chaincode_example02.go +++ /dev/null @@ -1,199 +0,0 @@ -/* -Copyright IBM Corp. 2016 All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package main - -//WARNING - this chaincode's ID is hard-coded in chaincode_example04 to illustrate one way of -//calling chaincode from a chaincode. If this example is modified, chaincode_example04.go has -//to be modified as well with the new ID of chaincode_example02. -//chaincode_example05 show's how chaincode ID can be passed in as a parameter instead of -//hard-coding. - -import ( - "fmt" - "strconv" - - "github.com/hyperledger/fabric/core/chaincode/shim" - pb "github.com/hyperledger/fabric/protos/peer" -) - -// SimpleChaincode example simple Chaincode implementation -type SimpleChaincode struct { -} - -func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response { - fmt.Println("ex02 Init") - _, args := stub.GetFunctionAndParameters() - var A, B string // Entities - var Aval, Bval int // Asset holdings - var err error - - if len(args) != 4 { - return shim.Error("Incorrect number of arguments. Expecting 4") - } - - // Initialize the chaincode - A = args[0] - Aval, err = strconv.Atoi(args[1]) - if err != nil { - return shim.Error("Expecting integer value for asset holding") - } - B = args[2] - Bval, err = strconv.Atoi(args[3]) - if err != nil { - return shim.Error("Expecting integer value for asset holding") - } - fmt.Printf("Aval = %d, Bval = %d\n", Aval, Bval) - - // Write the state to the ledger - err = stub.PutState(A, []byte(strconv.Itoa(Aval))) - if err != nil { - return shim.Error(err.Error()) - } - - err = stub.PutState(B, []byte(strconv.Itoa(Bval))) - if err != nil { - return shim.Error(err.Error()) - } - - return shim.Success(nil) -} - -func (t *SimpleChaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response { - fmt.Println("ex02 Invoke") - function, args := stub.GetFunctionAndParameters() - if function == "invoke" { - // Make payment of X units from A to B - return t.invoke(stub, args) - } else if function == "delete" { - // Deletes an entity from its state - return t.delete(stub, args) - } else if function == "query" { - // the old "Query" is now implemtned in invoke - return t.query(stub, args) - } - - return shim.Error("Invalid invoke function name. Expecting \"invoke\" \"delete\" \"query\"") -} - -// Transaction makes payment of X units from A to B -func (t *SimpleChaincode) invoke(stub shim.ChaincodeStubInterface, args []string) pb.Response { - var A, B string // Entities - var Aval, Bval int // Asset holdings - var X int // Transaction value - var err error - - if len(args) != 3 { - return shim.Error("Incorrect number of arguments. Expecting 3") - } - - A = args[0] - B = args[1] - - // Get the state from the ledger - // TODO: will be nice to have a GetAllState call to ledger - Avalbytes, err := stub.GetState(A) - if err != nil { - return shim.Error("Failed to get state") - } - if Avalbytes == nil { - return shim.Error("Entity not found") - } - Aval, _ = strconv.Atoi(string(Avalbytes)) - - Bvalbytes, err := stub.GetState(B) - if err != nil { - return shim.Error("Failed to get state") - } - if Bvalbytes == nil { - return shim.Error("Entity not found") - } - Bval, _ = strconv.Atoi(string(Bvalbytes)) - - // Perform the execution - X, err = strconv.Atoi(args[2]) - if err != nil { - return shim.Error("Invalid transaction amount, expecting a integer value") - } - Aval = Aval - X - Bval = Bval + X - fmt.Printf("Aval = %d, Bval = %d\n", Aval, Bval) - - // Write the state back to the ledger - err = stub.PutState(A, []byte(strconv.Itoa(Aval))) - if err != nil { - return shim.Error(err.Error()) - } - - err = stub.PutState(B, []byte(strconv.Itoa(Bval))) - if err != nil { - return shim.Error(err.Error()) - } - - return shim.Success(nil) -} - -// Deletes an entity from state -func (t *SimpleChaincode) delete(stub shim.ChaincodeStubInterface, args []string) pb.Response { - if len(args) != 1 { - return shim.Error("Incorrect number of arguments. Expecting 1") - } - - A := args[0] - - // Delete the key from the state in ledger - err := stub.DelState(A) - if err != nil { - return shim.Error("Failed to delete state") - } - - return shim.Success(nil) -} - -// query callback representing the query of a chaincode -func (t *SimpleChaincode) query(stub shim.ChaincodeStubInterface, args []string) pb.Response { - var A string // Entities - var err error - - if len(args) != 1 { - return shim.Error("Incorrect number of arguments. Expecting name of the person to query") - } - - A = args[0] - - // Get the state from the ledger - Avalbytes, err := stub.GetState(A) - if err != nil { - jsonResp := "{\"Error\":\"Failed to get state for " + A + "\"}" - return shim.Error(jsonResp) - } - - if Avalbytes == nil { - jsonResp := "{\"Error\":\"Nil amount for " + A + "\"}" - return shim.Error(jsonResp) - } - - jsonResp := "{\"Name\":\"" + A + "\",\"Amount\":\"" + string(Avalbytes) + "\"}" - fmt.Printf("Query Response:%s\n", jsonResp) - return shim.Success(Avalbytes) -} - -func main() { - err := shim.Start(new(SimpleChaincode)) - if err != nil { - fmt.Printf("Error starting Simple chaincode: %s", err) - } -} diff --git a/first-network/docker-compose-cli.yaml b/first-network/docker-compose-cli.yaml index aadfa37b83..28e4b66eb4 100644 --- a/first-network/docker-compose-cli.yaml +++ b/first-network/docker-compose-cli.yaml @@ -70,7 +70,7 @@ services: command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT' volumes: - /var/run/:/host/var/run/ - - ./chaincode/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go + - ./../chaincode/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/ - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts