Skip to content

Elementary operations on decentralized identifiers on IOTA

Notifications You must be signed in to change notification settings

kodemartin/did_playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

did-playground

A small library to handle subjects with decentralized identifiers (DIDs).

The library is built on top of identity-iota supporting the Iota identity framework (version 0.6).

Currently the library supports the following operations:

  • Management of secret keys through Stronghold. To this end, the library uses two environment variables:
    • STRONGHOLD_PASSWORD [required]: This is the password to the local storage.
    • STRONGHOLD_PATH [optional]: This is the path to the local storage file. If unset defaults to ./key-manager.hodl.
  • Creation of DIDs and the associated documents.
  • Publication on the IOTA distributed ledger
  • Authentication handshake between subjects through HTTP

The library is used in a cli application that illustrates all the operations above.

Run the application

The application does the following

  • Creates the DIDs and associated documents for two subjects.
  • Publishes the documents on IOTA mainnet.
  • Implements an authentication handshake between the two subjects through HTTP.

Setup

Command

RUST_LOG=info STRONGHOLD_PASSWORD=secret cargo run

Limitations

  • Currently the API communications only with IOTA mainnet. This can be handled by setting the identity_iota::client::Client while creating the subjects.
  • The resolver used for retrieving DID documents is also configured to connect with the mainnet. This should be also dynamically set in the future, and bound to the network that the subjects are using.
  • The key used for authentication through asymmetric encryption, is the key used in the default signing method configured in the DID document. In the future we could add more granular control over similar operation by providing dedicated verification method for authentication.
  • The web interface is only exposed through the library. In the future this should be part of the DID document, by adding a service.

About

Elementary operations on decentralized identifiers on IOTA

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages