Sandbox contains the sample implementations of Issuer and Verifier/RP to demonstrate the following main features provided by the TrustBloc projects.
- W3C Verifiable Credential(VC)
- W3C Decentralized Identifier(DID)
- Hyperledger Aries
- DIF Sidetree
- DID Orb Method
Follow this link to learn more about all the TrustBloc projects and APIs.
- TrustBloc OpenID for Verifiable Credentials (OpenID4VC)
- TrustBloc VCS : CHAPI + VC Services + Selective Disclosure
- TrustBloc Adapter : CHAPI/WACI-PEx + DIDComm
- Duty Free Shopping use case (WACI-PEx (Issuance + Share) + DIDComm V2)
- New Bank Account use case (CHAPI + DIDComm V1)
- TrustBloc Anonymous Comparator and Extractor(ACE)
- Follow this link
For pre-requisites, please refer TrustBloc k8s deployments. Also, refer for detailed steps to update components in sandbox.
The sandbox k8s is dependent on TrustBloc k8s. The TRUSTBLOC_CORE_K8S_COMMIT variable in Makefile points to the TrustBloc k8s deployment version. In case of any code/docker image changes to the underlying components, update the variable with k8s commit id. Alternatively, uncomment the symlink command to point it to the cloned TrustBloc k8s repo.
Run following target to run the components locally.
# builds the sandbox images, creates k8s cluster and deploys the trustbloc components
make build-setup-deploy
# pulls the sandbox images from remote registry, creates k8s cluster and deploys the trustbloc components
make setup-deploy
# stops the k8s cluster
make minikube-down
# undeploys all the components without bringing down minikube
make undeploy-all
# deploys all the components provided minikube is up
make deploy-all
The SSL CA cert located inside ~/.trustbloc-k8s/local/certs/
need to be imported to system cert chain.
Refer Build and Deployment for more information
Use following targets to run the automation tests built using WebDriverIO. To run this, npm need to be installed in the system.
# runs tests for configurations in ./test/ui-automation/wdio.conf.js (by default, it runs against local deployment)
make automation-test
# runs tests against locally deployed k8s cluster
make automation-test-local
# runs tests against cloud deployed dev k8s cluster
make automation-test-dev
Certain VPNs (on the host machine) have known issues with port conflicts when using the Hyperkit driver. The Hyperkit driver is used when running on an x86-64 machine.
If disabling the VPN is not possible, one workaround is to use the docker
driver along with the docker-mac-net-connect
brew service.
To do this:
- Install the brew docker-mac-net-connect service:
brew install chipmk/tap/docker-mac-net-connect
. - Start the service:
sudo brew services start chipmk/tap/docker-mac-net-connect
. Note: must be started with root permissions. - Change the driver to
docker
in theminikube_setup.sh
script.
Thank you for your interest in contributing. Please see our community contribution guidelines for more information.
Apache License, Version 2.0 (Apache-2.0). See the LICENSE file.