/masca

Snap for managing VCs and DIDs in MetaMask

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Website · Docs · Blog

Stargazers NPM Release Discord Twitter

·    ·    ·

Masca enables everyone to build their decentralized and self-sovereign identity by enhancing MetaMask with functionalities to manage DIDs, VCs, and VPs. Any website can connect to it to access identity data, and dapp developers can already start with the integration!

·    ·    ·

Features

Masca is built agnostic, leaving the user to choose his preferred blockchain, DID method, protocol, and data store. Everything is configurable, just like selecting the network in MetaMask. Currently supported technologies:

  • Blockchains: EVM blockchains supported by integrated DID methods
  • DID methods: did:ethr, did:key, did:key (EBSI) did:pkh, did:jwk, did:polygonid, did:iden3
  • Protocols: OpenID Connect, Polygon ID
  • Credentials and Presentations: Create & Verify Credentials/Presentations
  • Data stores: MetaMask Snap state (local & encrypted), Ceramic Network

Many new features are already in the works. For more information, please check the roadmap on the documentation.

Development

Prerequisites

  • MetaMask
    • ⚠️ You need a version of MetaMask that supports Snaps
  • Node.js 18. We strongly recommend you install via NVM to avoid incompatibility issues between different node projects.
    • Once installed, you should also install pnpm with npm i -g pnpm to make working with this repository easiest.

Running

  • Run pnpm build

Snap

  • To start the Snap run pnpm nx start @blockchain-lab-um/masca
  • Snap can be tested on localhost:8081/ or on Masca website

Website

  • To start the Website run pnpm nx start @blockchain-lab-um/dapp

Docs

  • To start the Website run pnpm nx start @blockchain-lab-um/masca-docs

Feature requests

Is Masca missing some crucial features? For new features and other enhancements, please open a new issue. If you are unsure if it fits in the Snap, start a new discussion under the Discussions tab.

Rebrand

Masca was previously called SSI Snap; thus, the old name can still appear in some places. You can also find earlier versions of the Snap under the SSI Snap packages.

Licenses

This project is dual-licensed under Apache 2.0 and MIT terms: