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
factomdandfactom-walletdrunning - 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
Metadata
Release files for py-factom-did 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| py-factom-did-0.5.0.tar.gz | 40.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| py_factom_did-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 112.7 kB
Release files / py-factom-did-0.5.0.tar.gz
| Download URL | py-factom-did-0.5.0.tar.gz |
|---|---|
| Size | 40.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dbcf724127802de592476411ff385a74b1372d294748b888b2fd55c13e93f8bc
|
|
BLAKE2b-256 checksum How to use checksums |
19485a14b716ff3ff836f085eef4a95244dce35bcdbf7b4469f49d7380543106
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / py_factom_did-0.5.0-py3-none-any.whl
| Download URL | py_factom_did-0.5.0-py3-none-any.whl |
|---|---|
| Size | 72.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
86674a856a209832188135baeba8475b86a39c10fb3b59d8e274e7c6228ec439
|
|
BLAKE2b-256 checksum How to use checksums |
1fbcc373de0a80794abeffa1cb8a6bff4d759c4ed1dcce1e1a515c195a80a0a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|