{"id":29219891,"url":"https://github.com/protofire/kilt","last_synced_at":"2025-07-03T02:07:46.812Z","repository":{"id":50395391,"uuid":"516027154","full_name":"protofire/kilt","owner":"protofire","description":"🧬 Recipe application that shows an attestation process in order to verify CTypes for DiDs on the KILT blockchain.","archived":false,"fork":false,"pushed_at":"2022-08-26T17:28:25.000Z","size":3014,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2023-04-10T04:54:30.024Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://protofire.github.io/kilt/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/protofire.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-20T15:02:26.000Z","updated_at":"2022-11-10T20:42:02.000Z","dependencies_parsed_at":"2022-08-12T21:11:45.798Z","dependency_job_id":null,"html_url":"https://github.com/protofire/kilt","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/protofire/kilt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fkilt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fkilt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fkilt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fkilt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protofire","download_url":"https://codeload.github.com/protofire/kilt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fkilt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263245313,"owners_count":23436515,"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":[],"created_at":"2025-07-03T02:07:46.096Z","updated_at":"2025-07-03T02:07:46.776Z","avatar_url":"https://github.com/protofire.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KILT Attestation workflow recipe 🧬\nRecipe application that shows an attestation process in order to verify CTypes for DiDs on the **KILT** blockchain.\n\nLearn more about attestation [here](https://docs.kilt.io/docs/develop/workshop/attestation).\n\n\u003e :warning: **Disclaimer:** This code is not for production use. It serves as an example workflow for DiDs CTypes attestation.\n\n### About this project\nThis is a monorepo project containing a frontend application built using `create-react-app` at the root folder and a backend `node.js` application under the `server` folder.\n\n### Sporran wallet setup\nIn order to run and debug the app you will need to setup the `Sporran` testing wallet.\n\n#### Steps\n1. Create testing KILT credentials using the Distillery CLI app. Follow the `Setup claimer flow` from the following link: [Kilt distillery app](https://github.com/KILTprotocol/kilt-distillery-cli).\n   \n2. Install Sporran testing wallet following the Readme file from the following link: [Sporran wallet setup](https://github.com/BTE-Trusted-Entity/sporran-extension)\n\n3. Finally: \n   1. go to the Sporran wallet and create a new identity. \n   2. Once you have created the identity, you will need credentials in order to get your ***on-chain DiD***. Select the **+ import credentials** button.\n   3. Drag and drop one of the previous `.json` files (credentials) created from the distillery app (see step 1).\n\u003cdiv\u003e\n\u003cimg src=\"./docs/import_identity.png?raw=true\" alt=\"Step 3 Image 1\" width=\"30%\"/\u003e\n\u003cimg src=\"./docs/import_credential.png?raw=true\" alt=\"Step 3 Image 2\" width=\"30%\"/\u003e\n\u003cimg src=\"./docs/drop_json.png?raw=true\" alt=\"Step 3 Image 3\" width=\"30%\"/\u003e\n\u003c/div\u003e\n\n### Running this app\n1. Create **MongoDB** database for storing the attesters and claimers information. You can create it for free using https://cloud.mongodb.com/\n   1. Once you finish the account setup, you can create a database (still using the free tier).\n   2.  Go to **databse \u0026rarr; Connect \u0026rarr; Connect your application**.\n   3.  Save the `uri` string from the example code (important for the next step)\n       ```js\n       const uri = \"mongodb+srv://...\" // \u003c- copy this string\n       ```\n2. Set the enviroment variables in both *client* and *server* applications.\n   1. Create a `.env` file in the root folder of the project and add the following variables:\n   ```bash\n   # Just for local env\n   REACT_APP_SERVER_URL=http://localhost:8000\n   REACT_APP_WS_BASE_URL=ws://localhost:8000/websockets\n   ```\n   1. Create a `.env` file inside the `/server` folder and add the following variables:\n   ```bash\n   PORT=8000\n   DAPP_NAME=kilt\n   WSS_ADDRESS=wss://peregrine.kilt.io/parachain-public-ws\n   ENDPOINT=wss://peregrine.kilt.io/parachain-public-ws\n   DB_URI=mongodb+srv:... # the URI you copied from mongoDB.\n   OWNER_DID=did:kilt:... # App owner full DiD.\n   OWNER_MNEMONIC=... # App owner mnemonic\n   ```\n3. **Running locally:** Open 2 terminals, one for the *server* app and another for the *client* app. In the first one:\n      ```bash\n      cd server\n      yarn install\n      yarn dev # runs the server in watch mode\n      ```\n      In the second one:\n      ```bash\n      yarn install\n      yarn start # runs the frontend in watch mode\n      ```\n### Frontend Available Scripts\nList of available scripts under the root folder.\n\n1. `yarn install`\n\nInstalls required dependencies for running the app.\n\n2. `yarn start`\n\nLaunches the application in `localhost:3000`\n\n3. `yarn test`\n\nLaunches the test runner in the interactive watch mode.\n\n4. `yarn build`\n\nBuilds the app for production to the `build` folder\n\n5. `yarn deploy`\n\nRuns `yarn build` to update `/build` folder, copies the content to `gh-pages` branch and pushes the app in github pages.\n\n[Link to app](https://protofire.github.io/kilt/)\n\n## Server Available Scripts\nList of available scripts under the `server` folder.\n\n1. `yarn install`\n\nInstalls the required dependencies for running the app.\n\n2. `yarn build`\n\nBuilds the app for production into the `dist` folder\n\n2. `yarn start`\n\nBuilds and runs the application into the `dist` folder. \n\n1. `yarn dev`\n\nBuilds and runs the app in watch mode using `nodemon`, any change reloads the app.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Fkilt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotofire%2Fkilt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Fkilt/lists"}