Installation
DIDKit can be installed as a package via cargo, manually from source, or in containerized form.
#
Cargo install- To install the DIDKit command line program on GNU/Linux, MacOS, or Windows+WSL, first install cargo.
- Install
libssl-dev
, as well aspkg-config
,build-essential
, or equivalent core toolsets if they aren't already installed. - Then simply run
cargo install
for the given target package:didkit-cli | didkit-http
.
For example, for DIDKit CLI, run:
This will add the binary didkit to your Cargo installation (typically ~/.cargo/bin), which can be added to your system's PATH for ease of use.
#
ManualDIDKit is written in Rust. To get Rust, you can use Rustup.
We do not depend on any Rust nightly features, so our installation instructions
assume the most recent stable
version; be sure to switch the installation
defaults to nightly
if the calling application or forked
source-code does depend on them.
Spruce's ssi library must be cloned alongside the didkit
repository in a
parallel directory between downloading didkit and building it.
Build DIDKit using Cargo, from root directory of DIDKit project:
This will give you the DIDKit CLI and HTTP server executables located at
target/debug/didkit
and target/debug/didkit-http
, respectively. You can also
build and install DIDKit's components separately. Building the FFI libraries
will require additional dependencies. See the corresponding readmes linked below
for more info.
#
ContainerBoth the CLI and HTTP server are containerised and available under
ghcr.io/spruceid/didkit-(cli|http)
.
The image is private for now, so a Personal Access Token is required. Once created you can login like so:
You can use the images like CLIs:
Note: You can pass JWKs either by sharing a volume with
docker run --volume
, or by passing the JWK directly withdocker run -e JWK=$MY_JWK
ordocker run didkit-http --jwk $MY_JWK
.
#
Build ImagesThe Dockerfiles rely on having ssi in the root of didkit
(a symbolic link
will not work, unfortunately).
Then the images can be built with:
And to use them, replace ghcr.io/spruceid/didkit-(cli|http):latest
with
didkit-(cli|http)
.
#
Building InterfacesWhile many of the DIDKit interfaces can be installed as libraries via each language's dedicated package manager, they can also be built manually. For instructions, see the "Installation" section of each interface's dedicated page in the section to the left.