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.)