{"id":20037363,"url":"https://github.com/animo/openid4vc-playground","last_synced_at":"2025-05-05T06:30:44.414Z","repository":{"id":216687391,"uuid":"742047680","full_name":"animo/openid4vc-playground","owner":"animo","description":"OpenID4VC Playground for issuing SD-JWT VCs","archived":false,"fork":false,"pushed_at":"2024-08-23T08:16:07.000Z","size":3422,"stargazers_count":10,"open_issues_count":13,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T18:39:58.131Z","etag":null,"topics":["aries-framework-javascript","did","openid4vc","openid4vci","openid4vp","sd-jwt","sd-jwt-vc","siopv2","ssi"],"latest_commit_sha":null,"homepage":"https://openid4vc.animo.id","language":"TypeScript","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/animo.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":"2024-01-11T16:50:02.000Z","updated_at":"2025-03-07T10:52:01.000Z","dependencies_parsed_at":"2024-01-15T07:34:34.110Z","dependency_job_id":"18e1d4cf-6a39-4cb2-a2e9-eb814b53210e","html_url":"https://github.com/animo/openid4vc-playground","commit_stats":null,"previous_names":["animo/openid4vc-playground"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fopenid4vc-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fopenid4vc-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fopenid4vc-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fopenid4vc-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/animo","download_url":"https://codeload.github.com/animo/openid4vc-playground/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252451355,"owners_count":21749925,"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":["aries-framework-javascript","did","openid4vc","openid4vci","openid4vp","sd-jwt","sd-jwt-vc","siopv2","ssi"],"created_at":"2024-11-13T10:19:13.408Z","updated_at":"2025-05-05T06:30:44.019Z","avatar_url":"https://github.com/animo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cbr /\u003e\n\u003cimg src=\"./assets/preview.png\" alt=\"screenshot-demo\" height=\"878px\" width=\"910px\"/\u003e\n\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\u003cb\u003eAnimo OpenID4VC Playground\u003c/b\u003e\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003ca\n    href=\"https://raw.githubusercontent.com/animo/openid4vc-playground/main/LICENSE\"\n    \u003e\u003cimg\n      alt=\"License\"\n      src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"\n  /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003e [!TIP]\n\u003e Check out the demo at https://openid4vc.animo.id\n\n## ✨ Hi there!\n\nWelcome to the repository of Animo's OpenID4VC Playground. This interactive playground demonstrates the use of OpenID4VC with different credential formats (such as SD-JWT VCs). This demo is built using [Aries Framework Javascript (AFJ)](https://github.com/hyperledger/aries-framework-javascript). AFJ is a framework written in TypeScript for building decentralized identity services.\n\n## 🛠️ Usage\n\n### Prerequisites\n\n- [NodeJS](https://nodejs.org/en/) v18.X.X - Other versions may work, not tested\n- [pnpm](https://pnpm.io/installation)\n- [Git](https://git-scm.com/downloads) - You probably already have this\n\n### 🖥 App\n\nCopy the `.env.example` file to a `.env.local` file and set the environment variables. **This is not needed for development**.\n\n```bash\ncd app\ncp .env.example .env\n```\n\n| Variable              | Description                                                                                                       |\n| --------------------- | ----------------------------------------------------------------------------------------------------------------- |\n| `NEXT_PUBLIC_API_URL` | Used in the frontend application to connect with the backend. Default to `http://localhost:3001` for development. |\n\n### 🎛️ Agent\n\nCopy the `.env.example` file to a `.env.local` file and set the environment variables. **This is not needed for development**.\n\n```bash\ncd agent\ncp .env.example .env\n```\n\n| Variable           | Description                                                                                   |\n| ------------------ | --------------------------------------------------------------------------------------------- |\n| `AGENT_HOST`       | Used in the backend application for the agent. The url at which the server will be available. |\n| `AGENT_WALLET_KEY` | Used in the backend application for the agent. Should be secure and kept private.             |\n\n\u003e [!IMPORTANT]\n\u003e The issuer will use `did:web` for issuing credentials, but this requires `https` to be used. When developing locally it is recommend\n\u003e to use `ngrok` (`npx ngrok http 3001`) and use that url as the `AGENT_HOST` variable. Make sure to also set the `NEXT_PUBLIC_API_URL` variable in the app to the ngrok.\n\u003e\n\u003e We may add issuance using did:key in development if the host url does not start with `https`.\n\n### Install Dependencies\n\n```bash\npnpm install\n```\n\n### Development\n\nOpen three terminal windows, and then run the following:\n\n```bash\nnpx ngrok http 3001\n```\n\nCopy the https url from the ngrok command and set that as the `AGENT_HOST`\n\n```bash\ncd agent\nAGENT_HOST=https://30f9-58-136-114-148.ngrok-free.app pnpm dev\n```\n\n```bash\ncd app\npnpm dev\n```\n\n## 🖇️ How To Contribute\n\nYou're welcome to contribute to this playground. Please make sure to open an issue first!\n\nThis playground is open source and you're more than welcome to customize and use it to create your own OpenID4VC Playground. If you do, an attribution to [Animo](https://animo.id) would be very much appreciated!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimo%2Fopenid4vc-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanimo%2Fopenid4vc-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimo%2Fopenid4vc-playground/lists"}