Before you Continue

If you haven't done so already, please visit the main resource for all things "Indy" to get acquainted with the code base, helpful resources, and up-to-date information: Hyperledger Wiki-Indy.

Indy Crypto

This is the shared crypto library for Hyperledger Indy components.

Hyperledger Indy provides a distributed-ledger-based foundation for self-sovereign identity.

The major artifacts of the Indy Crypto are:

All bugs, stories, and backlog for this project are managed through Hyperledger's Jira in project IS (note that regular Indy tickets are in the INDY project instead...). Also, join us on Jira's Rocket.Chat at #indy-sdk to discuss.

Building Indy Crypto

Ubuntu 16.04

  1. Install Rust and rustup (https://www.rust-lang.org/install.html).
  2. Install pre-requirements:

    For Ubuntu 16.04

    bash apt-get update && \ apt-get install -y \ build-essential \ pkg-config \ cmake \ libssl-dev

    For Windows

  3. Checkout and build the library:

    bash git clone https://github.com/hyperledger/indy-crypto.git cd ./indy-crypto/libindy-crypto cargo build cd ..

  4. Run tests

    bash cd libindy-crypto cargo test

Note: By default cargo build produce debug artifacts with a large amount of run-time checks. It's good for development, but this build can be in 100+ times slower for some math calculation. If you would like to analyse CPU performance of libindy-crypto for your use case, you have to use release artifacts (cargo build --release).

API Documentation

API documentation is now available as rust doc in code. See:

Wrappers documentation

Binaries

Note: Binaries creation is in progress now!!!

Builded binaries can be downloaded from https://repo.sovrin.org:

Also Ubundu deb packages can be installed from APT repository:

bash apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68DB5E88 sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb xenial stable" sudo apt-get update sudo apt-get install -y libindy-crypto