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.

Source Distribution

py-factom-did-0.5.0.tar.gz (40.0 kB view details)

Uploaded Source

Built Distribution

py_factom_did-0.5.0-py3-none-any.whl (72.7 kB view details)

Uploaded Python 3

File details

Details for the file py-factom-did-0.5.0.tar.gz.

File metadata

  • Download URL: py-factom-did-0.5.0.tar.gz
  • Upload date:
  • Size: 40.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

File hashes

Hashes for py-factom-did-0.5.0.tar.gz
Algorithm Hash digest
SHA256 dbcf724127802de592476411ff385a74b1372d294748b888b2fd55c13e93f8bc
MD5 6cce83ebdbd672e3548839df50af5b8a
BLAKE2b-256 19485a14b716ff3ff836f085eef4a95244dce35bcdbf7b4469f49d7380543106

See more details on using hashes here.

File details

Details for the file py_factom_did-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: py_factom_did-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 72.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

File hashes

Hashes for py_factom_did-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86674a856a209832188135baeba8475b86a39c10fb3b59d8e274e7c6228ec439
MD5 f730e28928e4c490b4ff892385ddbbfa
BLAKE2b-256 1fbcc373de0a80794abeffa1cb8a6bff4d759c4ed1dcce1e1a515c195a80a0a6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page