Links

Utility Packages

Libraries and services to facilitate decentralized application development on the EW Chain
Utility layer packages are used in application development to integrate clean energy assets, customers and marketplaces with the Energy Web Chain and with other actors and assets on the Energy Web Chain.
They provide common, shared protocols for identity, communication and information exchange through:
  • Identity and role-based access management to markets and applications - for organizations and applications that are anchored on the Energy Web Chain
  • Decentralized messaging - between users and assets that operate at different levels of the grid, often with no existing communication protocols (for example, messaging between aggregators and Transmission System Operators)
  • Caching and name-spacing for accessible user experience and optimal querying of the Energy Web Chain in applications
Below are EW-DOS utility layer packages. You will find a brief description of the package's purpose and functionality, the primary languages and frameworks used, its dependencies and dependents in EW-DOS and links to the repository and documentation.

Identity Access and Management (IAM) Client Library

A TypeScript library that provides high-level functions related to the identity and access management (IAM) for all users, assets, organizations and applications that are anchored on the Energy Web Chain. This includes:
  • Management of Switchboard namespaces
  • DID/DID Document management
  • Creation and governance of organizations, applications and their associated roles. Once created, these are persisted on the IAM Cache Server
  • Claim requests, verification and issuance for role permissioning. Once created, claims are persisted on the IAM Cache Server
  • Staking functionality

Documentation Resources

You can read an overview of all Identity and Access Management (IAM) components in EW-DOS here

Dependencies and Dependents

EW-DOS Dependencies
EW-DOS Dependents
SSI Hub

DID Library

A class-based TypeScript library that provides an abstraction layer to manage and interact with DIDs and Verifiable Credentials on the Energy Web Chain.
The DID Library enables users to adopt and/or implement different DID methods, which promotes interoperability with other methods of decentralized identifiers. The DID library currently implements the ERC1056 standard for creating and updating identities on the blockchain.
The DID library interacts with the Energy Web Chain using the ethers.js library.

Documentation Resources

Dependencies and Dependents

EW-DOS Dependencies
EW-DOS Dependents

See an overview of all Identity and Access Management (IAM) components in EW-DOS here

Other Resources

Passport-DID-Auth

A backend class-based TypeScript library that allows other JavaScript/TypeScript applications to easily add authentication and authorization based on Switchboard roles to their applications. This allows any application to use Switchboard's decentralized approach to identity and access management.

Documentation Resources

Dependencies and Dependents

EW-DOS Dependencies
EW-DOS Dependents
SSI Hub

Other Resources

SSI Hub

NodeJS server application using NestJS framework. The server caches specific smart contract data such as ENS namespaces and DID documents in order to improve read-query performance for applications and packages that rely on on-chain data.
The SSI Hub also facilitates the credentials exchange between credential requesters and issuers, which enables other applications such as Switchboard or Decentralized Service Bus to use credentials for role permissioning.
SSI Hub persists the following information that is created, read and updated by the IAM library:
  • Organization namespaces
  • Application namespaces
  • Role namespaces
  • User credentials

Documentation Resources

See an overview of all Identity and Access Management (IAM) components in EW-DOS here

Dependencies and Dependents

EW-DOS Dependencies
EW-DOS Dependents
EV-Dashboard

Decentralized Service Bus (DSB)

The Decentralized Service Bus is the pub/sub messaging service for high-volume, low latency (machine-to-machine) communications that can be integrated with on-chain transactions and signatures.
EW-DSB is a fully decentralized and scalable. Key benefits of the service include:
  1. 1.
    DID-based authentication and authorization
  2. 2.
    Roles-based Access Control for core features and messaging
  3. 3.
    Guarantees at-least-once delivery of the messages and only one delivery within giving time window (message deduplication).
  4. 4.
    Broadcast messaging: one agent publishes a message without knowing who will read it as there can be an arbitrary number of subscribers
  5. 5.
    Unicast messaging: a message is sent to a specific recipient and only they can read it
  6. 6.
    Multicast: a message is sent to a group of recipients and only they can read it

Documentation Resources

Dependencies and Dependents

EW-DOS Dependencies
EW-DOS Dependents
SSI Hub

Documentation Support

For any questions or needs on documentation resources, reach out on the discord documentation channel.