From 8556a43bc74cfc613eec2a25ba862c6d660da23f Mon Sep 17 00:00:00 2001 From: NIKHIL E GUPTA Date: Mon, 6 Jan 2020 17:12:24 -0500 Subject: [PATCH] [FAB-17265] Move private data tutorial to use test network Signed-off-by: NIKHIL E GUPTA Update docs/source/private_data_tutorial.rst Co-Authored-By: Gari Singh --- docs/source/images/SideDB-org1-org2.png | Bin 0 -> 45194 bytes docs/source/images/SideDB-org1.png | Bin 46589 -> 0 bytes docs/source/images/SideDB-org2.png | Bin 37367 -> 0 bytes docs/source/images/SideDBTutorialImages.pptx | Bin 49033 -> 55520 bytes docs/source/private_data_tutorial.rst | 314 ++++++++----------- 5 files changed, 127 insertions(+), 187 deletions(-) create mode 100644 docs/source/images/SideDB-org1-org2.png delete mode 100644 docs/source/images/SideDB-org1.png delete mode 100644 docs/source/images/SideDB-org2.png diff --git a/docs/source/images/SideDB-org1-org2.png b/docs/source/images/SideDB-org1-org2.png new file mode 100644 index 0000000000000000000000000000000000000000..85b465ce5fd4ae11084c41be9578f1b445c0de3a GIT binary patch literal 45194 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 literal 0 HcmV?d00001 diff --git a/docs/source/images/SideDB-org1.png b/docs/source/images/SideDB-org1.png deleted file mode 100644 index e21523b9747a333ce6a205e0ad049940e80d0678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46589 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 i&O7{n9Rn;10@Xr*|D?p^MXQ7j1O5*x4=+0a diff --git a/docs/source/images/SideDB-org2.png b/docs/source/images/SideDB-org2.png deleted file mode 100644 index 69bc3950d719002149700e38ac4d9e00f0e8619d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37367 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

`WW3TSh)>}J8=Et!) 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 TF{;=UAb5Pe@SeX2{+sfD0%$C7 diff --git a/docs/source/images/SideDBTutorialImages.pptx b/docs/source/images/SideDBTutorialImages.pptx index 4e572dafb5c2cdd712079f127fe831d24d23fd27..86e70576615a4d8d629171f0ced2edcf7dee3f0f 100644 GIT binary patch delta 17193 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 delta 12800 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 Wt0E5r`wznKb^%ZT0Oz`YvHuUB_vdN= diff --git a/docs/source/private_data_tutorial.rst b/docs/source/private_data_tutorial.rst index 512356efcde..7333015ea99 100644 --- a/docs/source/private_data_tutorial.rst +++ b/docs/source/private_data_tutorial.rst @@ -1,4 +1,3 @@ - Using Private Data in Fabric ============================ @@ -27,15 +26,9 @@ configuring and using private data with Fabric: #. :ref:`pd-indexes` #. :ref:`pd-ref-material` -This tutorial will use the `marbles private data sample `__ ---- running on the Building Your First Network (BYFN) tutorial network --- to -demonstrate how to create, deploy, and use a collection of private data. -The marbles private data sample will be deployed to the :doc:`build_network` -(BYFN) tutorial network. You should have completed the task :doc:`install`; -however, running the BYFN tutorial is not a prerequisite for this tutorial. -Instead the necessary commands are provided throughout this tutorial to use the -network. We will describe what is happening at each step, making it possible to -understand the tutorial without actually running the sample. +This tutorial will deploy the `marbles private data sample `__ +to the Fabric test network to demonstrate how to create, deploy, and use a collection of +private data. You should have completed the task :doc:`install`. .. _pd-build-json: @@ -117,7 +110,7 @@ The data to be secured by these policies is mapped in chaincode and will be shown later in the tutorial. This collection definition file is deployed when the chaincode definition is -committed to the channel using the `peer lifecycle chaincode commit command `__. +committed to the channel using the `peer lifecycle chaincode commit command `__. More details on this process are provided in Section 3 below. .. _pd-read-write-private-data: @@ -159,12 +152,10 @@ access is controlled by chaincode APIs. Specifically, reading and writing private data using a collection definition is performed by calling ``GetPrivateData()`` and ``PutPrivateData()``, which can be found `here `_. -The following diagrams illustrate the private data model used by the marbles +The following diagram illustrates the private data model used by the marbles private data sample. - .. image:: images/SideDB-org1.png - - .. image:: images/SideDB-org2.png +.. image:: images/SideDB-org1-org2.png Reading collection data @@ -256,20 +247,30 @@ private data. :guilabel:`Try it yourself` Before installing, defining, and using the marbles private data chaincode below, -we need to start the BYFN network. For the sake of this tutorial, we want to -operate from a known initial state. The following command will kill any active -or stale docker containers and remove previously generated artifacts. +we need to start the Fabric test network. For the sake of this tutorial, we want +to operate from a known initial state. The following command will kill any active +or stale Docker containers and remove previously generated artifacts. Therefore let's run the following command to clean up any previous environments: .. code:: bash - cd fabric-samples/first-network - ./byfn.sh down + cd fabric-samples/test-network + ./network.sh down + +If you have not run through the tutorial before, you will need to vendor the +chaincode dependencies before we can deploy it to the network. Run the +following commands: + +.. code:: bash + + cd ../chaincode/marbles02_private/go + GO111MODULE=on go mod vendor + cd ../../../test-network If you've already run through this tutorial, you'll also want to delete the -underlying docker containers for the marbles private data chaincode. Let's run +underlying Docker containers for the marbles private data chaincode. Let's run the following commands to clean up previous environments: .. code:: bash @@ -277,14 +278,15 @@ the following commands to clean up previous environments: docker rm -f $(docker ps -a | awk '($2 ~ /dev-peer.*.marblesp.*/) {print $1}') docker rmi -f $(docker images | awk '($1 ~ /dev-peer.*.marblesp.*/) {print $3}') -Start up the BYFN network with CouchDB by running the following command: +From the ``test-network`` directory, you can use the following command to start +up the Fabric test network with CouchDB: .. code:: bash - ./byfn.sh up -c mychannel -s couchdb + ./network.sh up createChannel -s couchdb -This will create a simple Fabric network consisting of a single channel named -``mychannel`` with two organizations (each maintaining two peer nodes) and an +This command will deploy a Fabric network consisting of a single channel named +``mychannel`` with two organizations (each maintaining one peer node) and an ordering service while using CouchDB as the state database. Either LevelDB or CouchDB may be used with collections. CouchDB was chosen to demonstrate how to use indexes with private data. @@ -292,7 +294,7 @@ use indexes with private data. .. note:: For collections to work, it is important to have cross organizational gossip configured correctly. Refer to our documentation on :doc:`gossip`, paying particular attention to the section on "anchor peers". Our tutorial - does not focus on gossip given it is already configured in the BYFN sample, + does not focus on gossip given it is already configured in the test network, but when configuring a channel, the gossip anchors peers are critical to configure for collections to work properly. @@ -309,51 +311,45 @@ establishes chaincode governance, including the private data collection configuration. We are going to package, install, and then define the chaincode on the channel using :doc:`commands/peerlifecycle`. -Install chaincode on all peers -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - The chaincode needs to be packaged before it can be installed on our peers. -We can use the `peer lifecycle chaincode package `__ command +We can use the `peer lifecycle chaincode package `__ command to package the marbles chaincode. -The BYFN network includes two organizations, Org1 and Org2, with two peers each. -Therefore, the chaincode package has to be installed on four peers: +The test network includes two organizations, Org1 and Org2, with one peer each. +Therefore, the chaincode package has to be installed on two peers: - peer0.org1.example.com -- peer1.org1.example.com - peer0.org2.example.com -- peer1.org2.example.com -After the chaincode is packaged, we can use the `peer lifecycle chaincode install `__ +After the chaincode is packaged, we can use the `peer lifecycle chaincode install `__ command to install the Marbles chaincode on each peer. :guilabel:`Try it yourself` -Assuming you have started the BYFN network, enter the CLI container: +Assuming you have started the test network, copy and paste the following +environment variables in your CLI to interact with the network and operate as +the Org1 admin. Make sure that you are in the `test-network` directory. .. code:: bash - docker exec -it cli bash + export PATH=${PWD}/../bin:${PWD}:$PATH + export FABRIC_CFG_PATH=$PWD/../config/ + export CORE_PEER_TLS_ENABLED=true + export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_ADDRESS=localhost:7051 -Your command prompt will change to something similar to: +1. Use the following command to package the marbles private data chaincode. .. code:: bash - bash-4.4# - -1. Use the following command to package the marbles private data chaincode from -the git repository inside your local container. - -.. code:: bash - - peer lifecycle chaincode package marblesp.tar.gz --path github.com/hyperledger/fabric-samples/chaincode/marbles02_private/go/ --lang golang --label marblespv1 + peer lifecycle chaincode package marblesp.tar.gz --path ../chaincode/marbles02_private/go/ --lang golang --label marblespv1 This command will create a chaincode package named marblesp.tar.gz. 2. Use the following command to install the chaincode package onto the peer -``peer0.org1.example.com`` in your BYFN network. By default, after starting the -BYFN network, the active peer is set to -``CORE_PEER_ADDRESS=peer0.org1.example.com:7051``: +``peer0.org1.example.com``. .. code:: bash @@ -367,37 +363,20 @@ the response below: 2019-04-22 19:09:04.336 UTC [cli.lifecycle.chaincode] submitInstallProposal -> INFO 001 Installed remotely: response: 2019-04-22 19:09:04.336 UTC [cli.lifecycle.chaincode] submitInstallProposal -> INFO 002 Chaincode code package identifier: marblespv1:57f5353b2568b79cb5384b5a8458519a47186efc4fcadb98280f5eae6d59c1cd -3. Use the CLI to switch the active peer to the second peer in Org1 and install -the chaincode. Copy and paste the following entire block of commands into the -CLI container and run them: - -.. code:: bash - - export CORE_PEER_ADDRESS=peer1.org1.example.com:8051 - peer lifecycle chaincode install marblesp.tar.gz - -4. Use the CLI to switch to Org2. Copy and paste the following block of commands -as a group into the peer container and run them all at once: - -.. code:: bash - - export CORE_PEER_LOCALMSPID=Org2MSP - export PEER0_ORG2_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt - export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG2_CA - export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp - -5. Switch the active peer to the first peer in Org2 and install the chaincode: +3. Now use the CLI as the Org2 admin. Copy and paste the following block of +commands as a group and run them all at once: .. code:: bash - export CORE_PEER_ADDRESS=peer0.org2.example.com:9051 - peer lifecycle chaincode install marblesp.tar.gz + export CORE_PEER_LOCALMSPID="Org2MSP" + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt + export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_ADDRESS=localhost:9051 -6. Switch the active peer to the second peer in org2 and install the chaincode: +4. Run the following command to install the chaincode on the Org2 peer: .. code:: bash - export CORE_PEER_ADDRESS=peer1.org2.example.com:10051 peer lifecycle chaincode install marblesp.tar.gz @@ -407,24 +386,15 @@ Approve the chaincode definition Each channel member that wants to use the chaincode needs to approve a chaincode definition for their organization. Since both organizations are going to use the chaincode in this tutorial, we need to approve the chaincode definition for both -Org1 and Org2. - -The chaincode definition includes the package identifier that was returned by -the install command. This packege ID is used to associate the chaincode package -installed on your peers with the chaincode definition approved by your -organization. We can also use the `peer lifecycle chaincode queryinstalled `__ -command to find the package ID of ``marblesp.tar.gz``. - -Once we have the package ID, we can then use the `peer lifecycle chaincode approveformyorg `__ -command to approve a definition of the marbles chaincode for Org1 and Org2. To approve -the private data collection definition that accompanies the ``marbles02_private``, -sample, provide the path to the collections JSON file using the -``--collections-config`` flag. +Org1 and Org2 using the `peer lifecycle chaincode approveformyorg `__ +command. The chaincode definition also includes the private data collection +definition that accompanies the ``marbles02_private`` sample. We will provide +the path to the collections JSON file using the ``--collections-config`` flag. :guilabel:`Try it yourself` -Run the following commands inside the CLI container to approve a definition for -Org1 and Org2. +Run the following commands from the ``test-network`` directory to approve a +definition for Org1 and Org2. 1. Use the following command to query your peer for the package ID of the installed chaincode. @@ -439,8 +409,7 @@ You should see output similar to the following: .. code:: bash Installed chaincodes on peer: - Package ID: marblespv1:57f5353b2568b79cb5384b5a8458519a47186efc4fcadb98280f5eae6d59c1cd, Label: marblespv1 - Package ID: mycc_1:27ef99cb3cbd1b545063f018f3670eddc0d54f40b2660b8f853ad2854c49a0d8, Label: mycc_1 + Package ID: marblespv1:f8c8e06bfc27771028c4bbc3564341887881e29b92a844c66c30bac0ff83966e, Label: marblespv1 2. Declare the package ID as an environment variable. Paste the package ID of marblespv1 returned by the ``peer lifecycle chaincode queryinstalled`` into @@ -449,106 +418,92 @@ need to complete this step using the package ID returned from your console. .. code:: bash - export CC_PACKAGE_ID=marblespv1:57f5353b2568b79cb5384b5a8458519a47186efc4fcadb98280f5eae6d59c1cd + export CC_PACKAGE_ID=marblespv1:f8c8e06bfc27771028c4bbc3564341887881e29b92a844c66c30bac0ff83966e 3. Make sure we are running the CLI as Org1. Copy and paste the following block of commands as a group into the peer container and run them all at once: .. code :: bash - export CORE_PEER_ADDRESS=peer0.org1.example.com:7051 - export CORE_PEER_LOCALMSPID=Org1MSP - export PEER0_ORG1_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt - export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG1_CA - export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_ADDRESS=localhost:7051 4. Use the following command to approve a definition of the marbles private data chaincode for Org1. This command includes a path to the collection definition -file. The approval is distributed within each organization using gossip, so -the command does not need to target every peer within an organization. +file. .. code:: bash - export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem - peer lifecycle chaincode approveformyorg --channelID mychannel --name marblesp --version 1.0 --collections-config $GOPATH/src/github.com/hyperledger/fabric-samples/chaincode/marbles02_private/collections_config.json --signature-policy "OR('Org1MSP.member','Org2MSP.member')" --init-required --package-id $CC_PACKAGE_ID --sequence 1 --tls true --cafile $ORDERER_CA + export ORDERER_CA=${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem + peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name marblesp --version 1.0 --collections-config ../chaincode/marbles02_private/collections_config.json --signature-policy "OR('Org1MSP.member','Org2MSP.member')" --init-required --package-id $CC_PACKAGE_ID --sequence 1 --tls true --cafile $ORDERER_CA When the command completes successfully you should see something similar to: .. code:: bash - 2019-03-18 16:04:09.046 UTC [cli.lifecycle.chaincode] InitCmdFactory -> INFO 001 Retrieved channel (mychannel) orderer endpoint: orderer.example.com:7050 - 2019-03-18 16:04:11.253 UTC [chaincodeCmd] ClientWait -> INFO 002 txid [efba188ca77889cc1c328fc98e0bb12d3ad0abcda3f84da3714471c7c1e6c13c] committed with status (VALID) at + 2020-01-03 17:26:55.022 EST [chaincodeCmd] ClientWait -> INFO 001 txid [06c9e86ca68422661e09c15b8e6c23004710ea280efda4bf54d501e655bafa9b] committed with status (VALID) at -5. Use the CLI to switch to Org2. Copy and paste the following block of commands +5. Now use the CLI to switch to Org2. Copy and paste the following block of commands as a group into the peer container and run them all at once. .. code:: bash - export CORE_PEER_ADDRESS=peer0.org2.example.com:9051 - export CORE_PEER_LOCALMSPID=Org2MSP - export PEER0_ORG2_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt - export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG2_CA - export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_LOCALMSPID="Org2MSP" + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt + export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_ADDRESS=localhost:9051 6. You can now approve the chaincode definition for Org2: .. code:: bash - peer lifecycle chaincode approveformyorg --channelID mychannel --name marblesp --version 1.0 --collections-config $GOPATH/src/github.com/hyperledger/fabric-samples/chaincode/marbles02_private/collections_config.json --signature-policy "OR('Org1MSP.member','Org2MSP.member')" --init-required --package-id $CC_PACKAGE_ID --sequence 1 --tls true --cafile $ORDERER_CA + peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name marblesp --version 1.0 --collections-config ../chaincode/marbles02_private/collections_config.json --signature-policy "OR('Org1MSP.member','Org2MSP.member')" --init-required --package-id $CC_PACKAGE_ID --sequence 1 --tls true --cafile $ORDERER_CA Commit the chaincode definition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Once a sufficient number of organizations (in this case, a majority) have -approved a chaincode definition, one organization commit the definition to the -channel. - -Use the `peer lifecycle chaincode commit `__ -command to commit the chaincode definition. This command needs to target the -peers in Org1 and Org2 to collect endorsements for the commit transaction. The -peers will endorse the transaction only if their organizations have approved the -chaincode definition. This command will also deploy the collection definition to +approved a chaincode definition, one organization can commit the definition to the channel. +Use the `peer lifecycle chaincode commit `__ +command to commit the chaincode definition. This command will also deploy the +collection definition to the channel. + We are ready to use the chaincode after the chaincode definition has been committed to the channel. Because the marbles private data chaincode contains an -initiation function, we need to use the `peer chaincode invoke `__ command +initiation function, we need to use the `peer chaincode invoke `__ command to invoke ``Init()`` before we can use other functions in the chaincode. :guilabel:`Try it yourself` 1. Run the following commands to commit the definition of the marbles private -data chaincode to the BYFN channel ``mychannel``. +data chaincode to the channel ``mychannel``. .. code:: bash - export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem - export ORG1_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt - export ORG2_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt - peer lifecycle chaincode commit -o orderer.example.com:7050 --channelID mychannel --name marblesp --version 1.0 --sequence 1 --collections-config $GOPATH/src/github.com/hyperledger/fabric-samples/chaincode/marbles02_private/collections_config.json --signature-policy "OR('Org1MSP.member','Org2MSP.member')" --init-required --tls true --cafile $ORDERER_CA --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles $ORG1_CA --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles $ORG2_CA + export ORDERER_CA=${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem + export ORG1_CA=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + export ORG2_CA=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt + peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name marblesp --version 1.0 --sequence 1 --collections-config ../chaincode/marbles02_private/collections_config.json --signature-policy "OR('Org1MSP.member','Org2MSP.member')" --init-required --tls true --cafile $ORDERER_CA --peerAddresses localhost:7051 --tlsRootCertFiles $ORG1_CA --peerAddresses localhost:9051 --tlsRootCertFiles $ORG2_CA - .. note:: When specifying the value of the ``--collections-config`` flag, you will - need to specify the fully qualified path to the collections_config.json file. - For example: - .. code:: bash +When the commit transaction completes successfully you should see something +similar to: - --collections-config $GOPATH/src/github.com/hyperledger/fabric-samples/chaincode/marbles02_private/collections_config.json - - When the commit transaction completes successfully you should see something - similar to: - - .. code:: bash +.. code:: bash - [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc - [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc + 2020-01-06 16:24:46.104 EST [chaincodeCmd] ClientWait -> INFO 001 txid [4a0d0f5da43eb64f7cbfd72ea8a8df18c328fb250cb346077d91166d86d62d46] committed with status (VALID) at localhost:9051 + 2020-01-06 16:24:46.184 EST [chaincodeCmd] ClientWait -> INFO 002 txid [4a0d0f5da43eb64f7cbfd72ea8a8df18c328fb250cb346077d91166d86d62d46] committed with status (VALID) at localhost:7051 2. Use the following command to invoke the ``Init`` function to initialize the chaincode: .. code:: bash - peer chaincode invoke -o orderer.example.com:7050 --channelID mychannel --name marblesp --isInit --tls true --cafile $ORDERER_CA --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles $ORG1_CA -c '{"Args":["Init"]}' + peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name marblesp --isInit --tls true --cafile $ORDERER_CA --peerAddresses localhost:7051 --tlsRootCertFiles $ORG1_CA -c '{"Args":["Init"]}' .. _pd-store-private-data: @@ -561,15 +516,15 @@ submit a request to add a marble: :guilabel:`Try it yourself` -Copy and paste the following set of commands to the CLI command line. +Copy and paste the following set of commands into your CLI in the `test-network` +directory: -.. code:: bash +.. code :: bash - export CORE_PEER_ADDRESS=peer0.org1.example.com:7051 - export CORE_PEER_LOCALMSPID=Org1MSP - export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt - export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp - export PEER0_ORG1_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_ADDRESS=localhost:7051 Invoke the marbles ``initMarble`` function which creates a marble with private data --- name ``marble1`` owned by ``tom`` with a color @@ -586,12 +541,14 @@ problematic newline characters that linux base64 command adds. .. code:: bash - export MARBLE=$(echo -n "{\"name\":\"marble1\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64 | tr -d \\n) - peer chaincode invoke -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["initMarble"]}' --transient "{\"marble\":\"$MARBLE\"}" + export MARBLE=$(echo -n "{\"name\":\"marble1\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64 | tr -d \\n) + peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["initMarble"]}' --transient "{\"marble\":\"$MARBLE\"}" You should see results similar to: - ``[chaincodeCmd] chaincodeInvokeOrQuery->INFO 001 Chaincode invoke successful. result: status:200`` +.. code:: bash + + [chaincodeCmd] chaincodeInvokeOrQuery->INFO 001 Chaincode invoke successful. result: status:200 .. _pd-query-authorized: @@ -696,26 +653,23 @@ You should see the following result: Query the private data as an unauthorized peer ---------------------------------------------- -Now we will switch to a member of Org2 which has the marbles private data -``name, color, size, owner`` in its side database, but does not have the -marbles ``price`` private data in its side database. We will query for both -sets of private data. +Now we will switch to a member of Org2. Org2 has the marbles private data +``name, color, size, owner`` in its side database, but does not store the +marbles ``price`` data. We will query for both sets of private data. Switch to a peer in Org2 ~~~~~~~~~~~~~~~~~~~~~~~~ -From inside the docker container, run the following commands to switch to -the peer which is unauthorized to access the marbles ``price`` private data. +Run the following commands to operate as the Org2 admin and query the Org2 peer. :guilabel:`Try it yourself` .. code:: bash - export CORE_PEER_ADDRESS=peer0.org2.example.com:9051 - export CORE_PEER_LOCALMSPID=Org2MSP - export PEER0_ORG2_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt - export CORE_PEER_TLS_ROOTCERT_FILE=$PEER0_ORG2_CA - export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_LOCALMSPID="Org2MSP" + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt + export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp + export CORE_PEER_ADDRESS=localhost:9051 Query private data Org2 is authorized to ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -754,11 +708,10 @@ You should see a result similar to: .. code:: json - {"Error":"Failed to get private details for marble1: GET_STATE failed: - transaction ID: b04adebbf165ddc90b4ab897171e1daa7d360079ac18e65fa15d84ddfebfae90: - Private data matching public hash version is not available. Public hash - version = &version.Height{BlockNum:0x6, TxNum:0x0}, Private data version = - (*version.Height)(nil)"} + Error: endorsement failure during query. response: status:500 + message:"{\"Error\":\"Failed to get private details for marble1: + GET_STATE failed: transaction ID: d9c437d862de66755076aeebe79e7727791981606ae1cb685642c93f102b03e5: + tx creator does not have read access permission on privatedata in chaincodeName:marblesp collectionName: collectionMarblePrivateDetails\"}" Members of Org2 will only be able to see the public hash of the private data. @@ -795,36 +748,23 @@ price private data is purged. :guilabel:`Try it yourself` -Switch back to peer0 in Org1 using the following commands. Copy and paste the -following code block and run it inside your peer container: +Switch back to Org1 using the following commands. Copy and paste the following code +block and run it inside your peer container: -.. code:: bash +.. code :: bash - export CORE_PEER_ADDRESS=peer0.org1.example.com:7051 - export CORE_PEER_LOCALMSPID=Org1MSP - export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt - export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp - export PEER0_ORG1_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + export CORE_PEER_LOCALMSPID="Org1MSP" + export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt + export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp + export CORE_PEER_ADDRESS=localhost:7051 Open a new terminal window and view the private data logs for this peer by -running the following command: +running the following command. Note the highest block number. .. code:: bash docker logs peer0.org1.example.com 2>&1 | grep -i -a -E 'private|pvt|privdata' -You should see results similar to the following. Note the highest block number -in the list. In the example below, the highest block height is ``4``. - -.. code:: bash - - [pvtdatastorage] func1 -> INFO 023 Purger started: Purging expired private data till block number [0] - [pvtdatastorage] func1 -> INFO 024 Purger finished - [kvledger] CommitLegacy -> INFO 022 Channel [mychannel]: Committed block [0] with 1 transaction(s) - [kvledger] CommitLegacy -> INFO 02e Channel [mychannel]: Committed block [1] with 1 transaction(s) - [kvledger] CommitLegacy -> INFO 030 Channel [mychannel]: Committed block [2] with 1 transaction(s) - [kvledger] CommitLegacy -> INFO 036 Channel [mychannel]: Committed block [3] with 1 transaction(s) - [kvledger] CommitLegacy -> INFO 03e Channel [mychannel]: Committed block [4] with 1 transaction(s) Back in the peer container, query for the **marble1** price data by running the following command. (A Query does not create a new transaction on the ledger @@ -848,7 +788,7 @@ creates a new block on the chain. .. code:: bash export MARBLE=$(echo -n "{\"name\":\"marble2\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64 | tr -d \\n) - peer chaincode invoke -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["initMarble"]}' --transient "{\"marble\":\"$MARBLE\"}" + peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["initMarble"]}' --transient "{\"marble\":\"$MARBLE\"}" Switch back to the Terminal window and view the private data logs for this peer again. You should see the block height increase by 1. @@ -877,7 +817,7 @@ will add a second new block on the chain. .. code:: bash export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"joe\"}" | base64 | tr -d \\n) - peer chaincode invoke -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["transferMarble"]}' --transient "{\"marble_owner\":\"$MARBLE_OWNER\"}" + peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["transferMarble"]}' --transient "{\"marble_owner\":\"$MARBLE_OWNER\"}" Switch back to the Terminal window and view the private data logs for this peer again. You should see the block height increase by 1. @@ -905,7 +845,7 @@ will create a third new block on the chain. .. code:: bash export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"tom\"}" | base64 | tr -d \\n) - peer chaincode invoke -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["transferMarble"]}' --transient "{\"marble_owner\":\"$MARBLE_OWNER\"}" + peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["transferMarble"]}' --transient "{\"marble_owner\":\"$MARBLE_OWNER\"}" Switch back to the Terminal window and view the private data logs for this peer again. You should see the block height increase by 1. @@ -934,7 +874,7 @@ data should be purged after this transaction. .. code:: bash export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"jerry\"}" | base64 | tr -d \\n) - peer chaincode invoke -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["transferMarble"]}' --transient "{\"marble_owner\":\"$MARBLE_OWNER\"}" + peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n marblesp -c '{"Args":["transferMarble"]}' --transient "{\"marble_owner\":\"$MARBLE_OWNER\"}" Switch back to the Terminal window and view the private data logs for this peer again. You should see the block height increase by 1.