Skip to main content

Python library for Factom DIDs

Project description

Build Status Coverage Status License: MIT Code style: black

py-factom-did

py-factom-did is a Python library for working with DIDs on the Factom blockchain. It is an implementation of the Factom DID method specification and consists of two main modules: factom_did.client and factom_did.resolver.

The client module enables:

  • creation of a new DID
  • addition of management key(s) for the DID
  • addition of DID key(s) for the DID
  • addition of service(s) for the DID
  • export of public metadata to be recorded on Factom
  • encryption of the newly created keys
  • update of an existing DID: adding/revoking management keys, DID keys and services and producing a signed DID update entry
  • upgrade of the method version of an existing DID
  • deactivaiton of an existing DID

The resolver module contains a pure-data library for re-constructing the effective DID Document from a list of DID entries. It is a complete implementation of the resolver specification in https://github.com/bi-foundation/FIS/blob/feature/DID/FIS/DID.md and contains an extensive unit test suite with 100% test coverage.

Examples

You can find an example of the library workflow in the examples/ directory. In order to run the example, please note that it is necessary to:

  • have local instances of factomd and factom-walletd running
  • create an environment variable called EC_ADDR, which contains a funded EC address to pay the fees for recording the DID on-chain

Installation

pip install py-factom-did

Documentation

API documentation of the library is available here

Build

  • Clone the repo

  • Create the virtual environment and install the dependencies:

pipenv install

or

pipenv install --pre -d

to install both the default and development dependencies

  • Activate the virtual environment:
pipenv shell
  • Execute the tests:
pytest
  • Execute the example:
python -m examples.example

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for py-factom-did, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size py_factom_did-0.5.0-py3-none-any.whl (72.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size py-factom-did-0.5.0.tar.gz (40.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page