Awesome
KERI for Java
keri-java is a Java-based implementation of the Key Event Receipt Infrastructure specification .
Status
keri-java is not ready for production usage. This project is under heavy development and provides no guarantees of a stable API for application developers. Further, the specification is also under heavy development.
Below describes the current capabilities of keri-java:
Identifiers:
- Create Basic Identifiers
- Create Self-Addressing Identifiers
- Create Self-Signing Identifiers
- Rotate non-Basic Identifiers
- Record interactions in the event log
- Simple signing thresholds
- Multi-signature identifiers
- Weighted signing threshold
- Delegation
Logs
- Serialization
- Verification
- Recovery
- Delegation Seals
- Out of Order Events
- (In Progress) Storage
Private/Direct Mode
- Keri Protocol Server and Client
- keripy/eve interoperability
- keripy/bob interoperability
- keripy/sam interoperability
Public/Indirect Mode
Most of the items here have not yet been defined in the specification.
- Witness Gossip Capabilities
- Query API
- Verifier Logic (Watcher, Juror, Judge, etc.)
Downloads
Linux | macOS | Widows | |
---|---|---|---|
Controller CLI | intel | arm | intel | arm | intel | arm |
Publisher Node | intel | arm | intel | arm | intel | arm |
Resolver Node | intel | arm | intel | arm | intel | arm |
All builds are 64-bit.
Maven Coordinates
Lookup Module
The lookup module provides applications the ability to obtain current verification keys and state information about an identifier.
<dependency>
<groupId>foundation.identitity.jkeri</groupId>
<artifactId>lookup</artifactId>
<version>[VERSION]</version>
</dependency>
Controller Module
The controller modules provides applications the ability to create and manage KERI identifiers.
<dependency>
<groupId>foundation.identitity.jkeri</groupId>
<artifactId>controller</artifactId>
<version>[VERSION]</version>
</dependency>
Getting Started
See each individual component's README for more information about getting started.
Lookup Client Library<br/> Obtains public key information for an identifier.
Controller Client Library<br/> Provides for the management of an identifier.
CLI Controller<br/> Provides for the management of an identifier.
Witness/Publisher Node<br/> A witness node.
Verifier/Resolver Node<br/> A combination verifier/resolver.
Core<br/> Code that is common to each of the components above.