Python library for Factom DIDs
Project description
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
andfactom-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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbcf724127802de592476411ff385a74b1372d294748b888b2fd55c13e93f8bc |
|
MD5 | 6cce83ebdbd672e3548839df50af5b8a |
|
BLAKE2b-256 | 19485a14b716ff3ff836f085eef4a95244dce35bcdbf7b4469f49d7380543106 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86674a856a209832188135baeba8475b86a39c10fb3b59d8e274e7c6228ec439 |
|
MD5 | f730e28928e4c490b4ff892385ddbbfa |
|
BLAKE2b-256 | 1fbcc373de0a80794abeffa1cb8a6bff4d759c4ed1dcce1e1a515c195a80a0a6 |