8 releases (5 breaking)

0.13.0 Sep 4, 2024
0.12.7 Aug 30, 2024
0.4.1 Aug 1, 2024
0.4.0 May 21, 2024
0.1.1 Jan 24, 2024

#470 in Cryptography

EUPL-1.2

785KB
18K SLoC

Controller

The Controller repository offers high-level functions that enable users to manage Key Event Log (KEL) and collect other identifiers' KELs for verification purposes. The library requires a third-party key provider that derives public-private key pairs and signatures.

Usage

Most functions require a three step process to either establish new Identifier and its KEL or to append changes to the KEL. The process goes as following:

  • prepare data for external signature;
  • sign data;
  • provide data along with signature.

Controller structure

The Controller structure encapsulates logic for saving incoming KERI events and retrieving them from the database, as well as computing the current state of saved Identifiers. It also provides methods for generating new identifiers based on the provided public keys (incept and finalize_inception).

Managing KEL

The Identifier structure combines the data stored in the Controller with a specific, already established identifier. Its main responsibility is to manage the concrete identifier's Key Event Log, which includes tasks such as generating events, publishing them to witnesses, and adding watchers.

For examples checkout components/controller/tests folder.

Dependencies

~23–38MB
~633K SLoC