Skip to content

Commit 0b2d100

Browse files
committed
[FAB-13777] Fix private data base64 instructions
Document how to base64 encode in private data tutorial. Change-Id: I0dc89fc18afd3aa79fdcd6695a9dc8139b689f6c Signed-off-by: David Enyeart <enyeart@us.ibm.com>
1 parent 697852d commit 0b2d100

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

docs/source/private_data_tutorial.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -435,11 +435,12 @@ submit a request to add a marble:
435435
as transient data will not be persisted in the transaction in order to keep
436436
the data private. Transient data is passed as binary data and therefore when
437437
using CLI it must be base64 encoded. We use an environment variable
438-
to capture the base64 encoded value.
438+
to capture the base64 encoded value, and use ``tr`` command to strip off the
439+
problematic newline characters that linux base64 command adds.
439440

440441
.. code:: bash
441442
442-
export MARBLE=$(echo -n "{\"name\":\"marble1\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64)
443+
export MARBLE=$(echo -n "{\"name\":\"marble1\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64 | tr -d \\n)
443444
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\"}"
444445
445446
You should see results similar to:
@@ -700,7 +701,7 @@ price private data is purged.
700701

701702
.. code:: bash
702703
703-
export MARBLE=$(echo -n "{\"name\":\"marble2\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64)
704+
export MARBLE=$(echo -n "{\"name\":\"marble2\",\"color\":\"blue\",\"size\":35,\"owner\":\"tom\",\"price\":99}" | base64 | tr -d \\n)
704705
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\"}"
705706
706707
Switch back to the Terminal window and view the private data logs for this peer
@@ -729,7 +730,7 @@ price private data is purged.
729730

730731
.. code:: bash
731732
732-
export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"joe\"}" | base64)
733+
export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"joe\"}" | base64 | tr -d \\n)
733734
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\"}"
734735
735736
Switch back to the Terminal window and view the private data logs for this peer
@@ -757,7 +758,7 @@ price private data is purged.
757758

758759
.. code:: bash
759760
760-
export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"tom\"}" | base64)
761+
export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"tom\"}" | base64 | tr -d \\n)
761762
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\"}"
762763
763764
Switch back to the Terminal window and view the private data logs for this peer
@@ -786,7 +787,7 @@ price private data is purged.
786787

787788
.. code:: bash
788789
789-
export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"jerry\"}" | base64)
790+
export MARBLE_OWNER=$(echo -n "{\"name\":\"marble2\",\"owner\":\"jerry\"}" | base64 | tr -d \\n)
790791
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\"}"
791792
792793
Switch back to the Terminal window and view the private data logs for this peer

0 commit comments

Comments
 (0)