quorum/docs/privacy.md

1.4 KiB

Privacy

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