This repo contains core components used in the Trinsic SDK
- Support for working with
did:keymethod - Implementation of DIDComm Messaging protocol for gRPC
- Linked Data Proofs using non-LD processing signatures, such as
JcsEd25519Signature2020
Library is available for use with different languages
The main library is built in Rust and exposed to other languages through a C-callable FFI. The function signatures for each method are exposed as byte arrays, that use Protobuf for the main IDL. This allows easy development and maintainance of new methods, with minimal language specific implementation.
All library methods are exposed via static method calls, generally grouped under a dedicated class in the Okapi namespace (where available).
For example, to generate new key using .NET you can use the DIDKey class.
For mathematical languages and environments, use the Python packages. Examples for MATLAB, Mathematica, R(lang), etc. can be found here: https://github.com/trinsic-id/okapi-examples
using Okapi.Keys;
var key = DIDKey.Generate(new GenerateKeyRequest { KeyType = KeyType.Ed25519 });The same functionality for Node is exposed as:
import * from "okapi";
let request = new GenerateKeyRequest();
request.setKeyType(KeyType.Ed25519);
var key = DIDKey.generate(request);generateresolve
packunpacksignverify
create_proofverify_proof
create_keycreate_tokenblind_tokenunblind_tokencreate_proofverify_proof