Skip to content

Latest commit

 

History

History
79 lines (63 loc) · 3.46 KB

README.md

File metadata and controls

79 lines (63 loc) · 3.46 KB

Indy ledger

Goals and ideas

  • Provide a replacement for Hyperledger Indy ecosystem that provides support for verifiable credentials:
    • Components to replace:
    • Capability to migrate the data from the original Indy Ledger
  • Distributed ledger requirements:
    • Public Permissioned Blockchain
      • Control the validator nodes
      • Control the user permissions
    • EVM compatible Blockchain
      • Capability to deploy on different networks
    • Based on existing open-source blockchain framework with a good performance, sufficient adoption, and wide community
    • Capability to work without tokens and fees
    • Stable consensus protocol
  • Functional requirements:
    • Interoperability:
      • Capability to use existing DID's and identifiers:
        • Support indy DID method
        • Support sov DID method
        • Identifiers previously stored on the client side should be resolvable on the new Ledger
      • Capability to use the ledger as an AnonCreds Registry
      • Compatibility with the latest AnonCreds Specification
    • Extensibility:
      • Capability to integrate new pieces of functionality easily
      • Capability to use ETHR DID method
    • Data validity:
      • Neglect gas efficiency in favour general validation of the stored data

Design documentation

See design document covering the main ledger aspects.

Running local network

Prerequisites

⚠️ Note: If on MacOS or Windows, please ensure that you allow docker to use upto 4G of memory under the Resources section. The Docker for Mac and Docker Desktop sites have details on how to do this at the "Resources" heading

Commands

  • Start the network: - run all services inside the docker containers

    ./network/scripts/run.sh
  • Start the network with Blocksout explorer: - run all services inside the docker containers

    ./network/scripts/run.sh --blockscout

    or

    ./network/scripts/run.sh -b
  • Stop the network: run the entire network, and you can resume where it left off with ./resume.sh

    ./network/scripts/stop.sh
  • Remove the network: stop and then remove all containers and images

    ./network/scripts/remove.sh

Managing smart contracts

See README.md.