Some use cases require that write transactions to the ledger are first reviewed and signed (or endorsed) by an Endorser agent before being written. In this setting, an unprivileged agent known as the Author initiates the transaction and sends it to the Endorser who has the option to either refuse or endorse it. The Author is only able to write the transaction to the ledger if it was endorsed.
The Lissi Agent supports transaction endorsement on a per-tenant basis in the Author role only. In this page, we present the necessary start up parameters and API calls to get it up and running.
Transaction endorsement is disabled by default, but it can be enabled easily at start up. Please note that it cannot be enabled later at runtime.
Set the following environment variables to enable transaction endorsement in a docker-compose deployment:
TRANSACTION_ENDORSEMENT_ENABLED=true TRANSACTION_ENDORSEMENT_FLAGS=--endorser-protocol-role 'author' --auto-request-endorsement --auto-write-transactions --auto-create-revocation-transactions
Please ensure that
TRANSACTION_ENDORSEMENT_FLAGS contains all flags described above for a proper functioning of the transaction endorsement in the Lissi Agent.
Set the configuration option
true in order to enable transaction endorsement in a Kubernetes deployment.
Designate an Endorser
At the moment, designating an endorser is only supported through the HTTP API. It will be possible to do this through the Admin UI in the future.
Contact your Endorser’s administrators to get their agent’s public DID.
Establish a connection to the desired Endorser agent (for more information, see Connections).
Designate the established connection as your Endorser with an API call to
POST | /ctrl/api/v1.0/transactions/set-endorserwith query parameters
If you wish to update your Endorser’s information, subsequent calls to
POST | /ctrl/api/v1.0/transactions/set-endorserwill update the active Endorser.
Retrieve Endorsement Configuration
An API call to
GET | /ctrl/api/v1.0/transactions/endorsement-config will return the current endorsement configuration, including the Endorser’s information if one has been designated.
If an Endorser has been designated successfully, requesting endorsement and subsequent writing of transactions will be handled automatically by the Lissi Agent.
Transactions that require endorsement include:
Credential Definition creation