{"id":20608963,"url":"https://github.com/trustbloc/sandbox","last_synced_at":"2025-06-25T19:38:12.987Z","repository":{"id":37098103,"uuid":"232185555","full_name":"trustbloc/sandbox","owner":"trustbloc","description":"Demonstration environments","archived":false,"fork":false,"pushed_at":"2023-08-17T14:59:40.000Z","size":9470,"stargazers_count":21,"open_issues_count":96,"forks_count":31,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-03-28T15:51:50.140Z","etag":null,"topics":["decentralized-identifiers","did","didcomm","verifiable-credentials"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trustbloc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-06T21:07:03.000Z","updated_at":"2024-03-19T17:55:32.000Z","dependencies_parsed_at":"2024-06-18T18:41:18.112Z","dependency_job_id":"88b4150e-393c-4529-af78-afc97492340a","html_url":"https://github.com/trustbloc/sandbox","commit_stats":{"total_commits":1259,"total_committers":36,"mean_commits":34.97222222222222,"dds":0.6608419380460684,"last_synced_commit":"b267134b29437f2e4c012c7190f44b4a27c1641d"},"previous_names":["trustbloc/edge-sandbox"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fsandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fsandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fsandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fsandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trustbloc","download_url":"https://codeload.github.com/trustbloc/sandbox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249005048,"owners_count":21197008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["decentralized-identifiers","did","didcomm","verifiable-credentials"],"created_at":"2024-11-16T10:12:21.582Z","updated_at":"2025-04-15T04:25:03.380Z","avatar_url":"https://github.com/trustbloc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Release](https://img.shields.io/github/release/trustbloc/sandbox.svg?style=flat-square)](https://github.com/trustbloc/sandbox/releases/latest)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://raw.githubusercontent.com/trustbloc/sandbox/main/LICENSE)\n[![Godocs](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/trustbloc/sandbox)\n\n[![Build Status](https://dev.azure.com/trustbloc/edge/_apis/build/status/trustbloc.sandbox?branchName=main)](https://dev.azure.com/trustbloc/edge/_build/latest?definitionId=27\u0026branchName=main)\n[![codecov](https://codecov.io/gh/trustbloc/sandbox/branch/main/graph/badge.svg)](https://codecov.io/gh/trustbloc/sandbox)\n[![Go Report Card](https://goreportcard.com/badge/github.com/trustbloc/sandbox)](https://goreportcard.com/report/github.com/trustbloc/sandbox)\n\n# sandbox\n\nSandbox contains the sample implementations of Issuer and Verifier/RP to demonstrate the following main features provided \nby the [TrustBloc](https://github.com/trustbloc) projects.\n- [W3C Verifiable Credential(VC)](https://w3c.github.io/vc-data-model/)\n- [W3C Decentralized Identifier(DID)](https://w3c.github.io/did-core/)\n- [Hyperledger Aries](https://www.hyperledger.org/use/aries)\n- [DIF Sidetree](https://identity.foundation/sidetree/spec/)\n- [DID Orb Method](https://trustbloc.github.io/did-method-orb/) \n\n## Projects\nFollow this [link](docs/projects/README.md) to learn more about all the TrustBloc projects and APIs. \n\n## Sample Applications\n- [Issuer](docs/issuer/README.md)\n- [Relying Party/Verifier](docs/rp/README.md)\n- [Anonymous Comparator and Extractor - Relying Party (ACE-RP)](docs/ace-rp/README.md)\n\n## Demo\n- [TrustBloc OpenID for Verifiable Credentials (OpenID4VC)](docs/demo/background-check-usecase.md)\n- [TrustBloc VCS](docs/demo/sandbox_vcs_playground.md) : CHAPI + VC Services + Selective Disclosure\n  - [Flight Boarding use case](docs/demo/flight-boarding-usecase.md)\n- [TrustBloc Adapter](docs/demo/sandbox_adapter_playground.md) : [CHAPI](https://w3c-ccg.github.io/credential-handler-api/)/[WACI-PEx](https://identity.foundation/waci-presentation-exchange/) + DIDComm\n  - [Duty Free Shopping use case](docs/demo/duty-free-shop-usecase.md) (WACI-PEx (Issuance + Share) + DIDComm V2)\n  - [New Bank Account use case](docs/demo/new-bank-account-usecase.md) (CHAPI + DIDComm V1)\n- [TrustBloc Anonymous Comparator and Extractor(ACE)](docs/demo/sandbox_ace_playground.md)\n\n## Components\n- [TrustBloc VCS](docs/components/vcs_components.md)\n- [TrustBloc Adapter](docs/components/adapter_components.md)\n- [TrustBloc Anonymous Comparator and Extractor(ACE)](docs/components/ace_components.md)\n\n## OpenAPI specifications\n\n- Follow this [link](docs/index.md)\n\n## Build and Deployment\nFor pre-requisites, please refer [TrustBloc k8s deployments](https://github.com/trustbloc/k8s/blob/main/README.md). \nAlso, [refer](./docs/dev_steps.md) for detailed steps to update components in sandbox.\n\nThe sandbox k8s is dependent on [TrustBloc k8s](https://github.com/trustbloc/k8s). The TRUSTBLOC_CORE_K8S_COMMIT \nvariable in [Makefile](Makefile) points to the TrustBloc k8s deployment version. In case of any code/docker \nimage changes to the underlying components, update the variable with [k8s commit id](https://github.com/trustbloc/k8s/commits/main). \nAlternatively, uncomment the [symlink command](./k8s/scripts/core_deployment.sh) to point it to the cloned TrustBloc k8s repo.\n\nRun following target to run the components locally.\n```\n# builds the sandbox images, creates k8s cluster and deploys the trustbloc components\nmake build-setup-deploy\n\n# pulls the sandbox images from remote registry, creates k8s cluster and deploys the trustbloc components \nmake setup-deploy\n\n# stops the k8s cluster\nmake minikube-down\n\n# undeploys all the components without bringing down minikube\nmake undeploy-all\n\n# deploys all the components provided minikube is up\nmake deploy-all\n```\n\nThe SSL CA cert located inside `~/.trustbloc-k8s/local/certs/` need to be imported to system cert chain.\n\nRefer [Build and Deployment](./docs/demo/build.md) for more information\n\n## Automated testing\nUse following targets to run the automation tests built using [WebDriverIO](https://webdriver.io). To run \nthis, [npm](https://www.npmjs.com) need to be installed in the system.\n\n```\n# runs tests for configurations in ./test/ui-automation/wdio.conf.js (by default, it runs against local deployment)\nmake automation-test\n\n# runs tests against locally deployed k8s cluster\nmake automation-test-local\n\n# runs tests against cloud deployed dev k8s cluster \nmake automation-test-dev\n```\n\n## Workaround for connection issues when using a VPN on macOS\n\nCertain VPNs (on the host machine) have known issues with port conflicts when using the Hyperkit driver. The Hyperkit\ndriver is used when running on an x86-64 machine.\n\nIf disabling the VPN is not possible, one workaround is to use the `docker` driver along with the `docker-mac-net-connect` brew service.\n\nTo do this:\n1. Install the brew [docker-mac-net-connect](https://github.com/chipmk/docker-mac-net-connect) service: `brew install chipmk/tap/docker-mac-net-connect`.\n2. Start the service: `sudo brew services start chipmk/tap/docker-mac-net-connect`. Note: must be started with root permissions.\n3. Change the driver to `docker` in the `minikube_setup.sh` script.\n\n## Contributing\nThank you for your interest in contributing. Please see our [community contribution guidelines](https://github.com/trustbloc/community/blob/main/CONTRIBUTING.md) for more information.\n\n## License\nApache License, Version 2.0 (Apache-2.0). See the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustbloc%2Fsandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrustbloc%2Fsandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustbloc%2Fsandbox/lists"}