2 releases

0.0.16 Jun 30, 2022
0.0.15 Nov 9, 2021

#12 in #iop

41 downloads per month
Used in iop-node-wasm

LGPL-3.0-or-later

290KB
6K SLoC

Internet of People

Internet of People (IoP) is a software project creating a decentralized software stack that provides the building blocks and tools to support a decentralized society.

This repository contains our Rust codebase that serves as common implementation and used with different bindings (WebAssembly, C FFI) in SDKs for other languages like Typescript or Dart as well.

Usage

After installing Rust using rustup, use the iop-sdk crate with the latest version as a dependency with cargo in file Cargo.toml of your project.

Overview

You can read a overview and descriptions of different components on our developer portal. We especially suggest reading glossary page for a detailed explanation of terms, concept and design principles of different software stack components.

Components

  • json-digest provides a canonical Json format, derived content IDs and selectively building Merkle trees from parts of a Json document
  • keyvault implements a "generic cryptographic calculator": starting from a list of words it can deterministically derive an enormous number of private keys for any purpose like cryptocurrency addresses, DIDs, device keys, etc.
  • vault adds encryption support, pluggability with state handling and persistence to the pure calculator features of the keyvault
  • morpheus supports Self-Sovereign Identity (SSI) with Decentralized Identifiers (DIDs) and Verifiable Claims/Credentials (VCs). It defines a state machine for keeping a queriable history of DIDs, their keys and rights with atomic transactions to change the state.
  • coeus implements a generic decentralized naming system (DDNS). It defines a state machine for managing resolvable names with atomic transactions to change the state.
  • hydra supports using the Hydra blockchain by building transactions for cryptocurrency operations (transfer, delegate voting, etc), or custom transactions with SSI and DNS operations.
  • sdk exports features of libraries above for clients in a single crate

Dependencies

~20MB
~460K SLoC