From ab3889c3fb0f4be957043c46aec2389b1e1a6661 Mon Sep 17 00:00:00 2001 From: Patrick Mylund Nielsen Date: Mon, 14 Nov 2016 01:05:54 -0500 Subject: [PATCH] Add notes on sending Private Transactions to README.md --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 26aa4597b..1c4f78b65 100644 --- a/README.md +++ b/README.md @@ -303,6 +303,28 @@ null } ``` +## Sending Private Transactions + +To send a private transaction, a PrivateTransactionManager must be configured. This is the +service which transfers private payloads to their intended recipients, performing +encryption and related operations in the process. + +Currently, `constellation` is supported out of the box via the PRIVATE_CONFIG environment +variable (please note that this integration method will change in the near future.) See the +`7nodes` folder in the `quorum-examples` repository for a complete example of how to use it. +The transaction sent in `script1.js` is private for node 7's PrivateTransactionManager +public key. + +Once `constellation` is launched and PRIVATE_CONFIG points to a valid configuration file, +a `SendTransaction` call can be made private by specifying the `privateFor` argument. +`privateFor` is a list of public keys of the intended recipients. (Note that in the case of +`constellation`, this public key is distinct from Ethereum account keys.) When a transaction +is private, the transaction contents will be sent to the PrivateTransactionManager and the +identifier returned will be placed in the transaction instead. When other Quorum nodes +receive a private transaction, they will query their PrivateTransactionManager for the +identifier and replace the transaction contents with the result (if any; nodes which are +not party to a transaction will not be able to retrieve the original contents.) + ## Command line flags ``` QUORUM OPTIONS: