/kaslcred

KERI and ACDC Schema Linker for Credentials

Primary LanguagePythonApache License 2.0Apache-2.0

KASLCred : KERI and ACDC Schema Linker for Credentials

Computes self addressing identifiers (SAIDs) for KERI and ACDC schema parts and links them together by SAID.

Usage

python -m kaslcred [schema_dir] [output_dir] [schema_map_file.json]

# Example:
# Requires having pre-written and pre-copied all of the schema files into ${KASL_HOME}/schemas
export KASL_HOME=${HOME}/.kasl
python -m kaslcred ${KASL_HOME}/schemas ${KASL_HOME}/results ${KASL_HOME}/schemas/schema_map.json

Installation

Docker

Manual Local Installation

  1. Install Python
  2. Install the Rust Toolchain: https://www.rust-lang.org/tools/install\ This is for the Blake3 crypto library built when installing KERI.
  3. Install KERI: pip install keri==0.6.8
  4. Install KASLcred

Dependencies

KASLCred depends on the following libraries being installed:

Rust toolchain (for Blake3 dependency)

Libsodium

The Homebrew installation of Libsodium is not sufficient, or did not work for me. I had to do the following instructions like stated in Libsodium's Gitbook Installation documentation

Download a tarball of libsodium, preferably the latest stable version, then follow the ritual:

./configure
make && make check
sudo make install

KERIpy version 1.0.0

python -m pip install keri=1.0.0

KERIpy further depends on the following set of dependencies being installed:

Rust v1.60+

This is required for Blake3 dependency in KERI to be able to build.

# the "-s -- -y" options are for a silent, unattended install. Omit them if you want to configure the install.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# Remember to set the PATH variable to include the Cargo binary directory like so:  PATH="$HOME/.cargo/bin:$PATH

Development

Make sure to create a local environment with Pipenv.

Then install the Python build tool with pip install build and the release tool with pip install twine.

Installing from the root repo directory:

python3 -m pip install -e ./