/did-web-server

HTTP service for the did:web method focused on user self-service for managing their DIDs

Primary LanguageRustOtherNOASSERTION

did-web-server

did-web-server is an HTTP server for providing Decentralized Identifiers (DIDs) that conform to the did:web method. did:web is a straightforward DID method that uses DNS and HTTP servers to host DIDs.

Unlike other DID methods, did:web doesn't require a blockchain to store identifier states. It uses an HTTP server, which is cost effective to operate and leverages established protocols and software libraries.

However, traditional HTTP servers are centrally managed and do not allow users to managed hosted documents, making decentralized identifier management challenging. did-web-server addresses this issue by being the first DID-centered HTTP server that enables self-sovereign management of identifiers by their controllers.

did-web-server leverages DIDs, Verifiable Credentials (VC), and Verifiable Presentations to authenticate identifiers and encode identifier data. No API tokens, usernames, or passwords are required to interact with the service.

Documentation

Technology Stack

Development

Requirements

  • Rust
    • Or use rustup and install toolchain via: rustup update stable
  • cargo-watch
  • just task runner
  • nu the best shell for CI tasks
  • Nixpkgs for building reproduciable docker images

Start Development

  1. Continuously watch and build source files: just dev
  2. Continuously watch and execute tests: just dev-test
  3. Start editing the source files

Build Release

  • just build