- Provide a replacement for Hyperledger Indy ecosystem that provides support for verifiable credentials:
- Components to replace:
- Distributed ledger: Indy Node and Indy Plenum
- Client library: Indy SDK
- Capability to migrate the data from the original Indy Ledger
- Components to replace:
- 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
- Public Permissioned Blockchain
- Functional requirements:
- Interoperability:
- Capability to use existing DID's and identifiers:
- 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
- Integration with the AnonCreds Registry
- Integration with
Permissioned
modules
- Data validity:
- Neglect
gas
efficiency in favour general validation of the stored data- Basic DID Documents validation
- Basic AnonCreds entities validation
- Basic state consistency validation
- Neglect
- Interoperability:
See design document covering the main ledger aspects.
- Docker and Docker-compose v2 or higher
⚠️ 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
-
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
See README.md.