{"id":19967619,"url":"https://github.com/ceramicstudio/software-trust-system","last_synced_at":"2026-06-13T14:31:07.736Z","repository":{"id":209756563,"uuid":"724874692","full_name":"ceramicstudio/software-trust-system","owner":"ceramicstudio","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-21T16:11:29.000Z","size":7143,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-11-28T18:35:46.920Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ceramicstudio.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-29T00:58:28.000Z","updated_at":"2023-11-29T01:01:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"0b563dbe-617c-4f85-bb13-9d0f7bb79ace","html_url":"https://github.com/ceramicstudio/software-trust-system","commit_stats":null,"previous_names":["ceramicstudio/software-trust-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ceramicstudio/software-trust-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fsoftware-trust-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fsoftware-trust-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fsoftware-trust-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fsoftware-trust-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceramicstudio","download_url":"https://codeload.github.com/ceramicstudio/software-trust-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fsoftware-trust-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34288662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2024-11-13T02:43:06.450Z","updated_at":"2026-06-13T14:31:07.717Z","avatar_url":"https://github.com/ceramicstudio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Getting Started\nThis directory contains a simple frontend interface, the Ceramic server configurations, and Ceramic client operations required to create, save, and query AccountTrustCredentials to ComposeDB.\n\n1. Install your dependencies:\n\nInstall your dependencies:\n\n```bash\nnpm install\n```\n\n2. Generate your admin seed, admin did, and ComposeDB configuration file:\n\nNext, we will need to generate an admin seed and ComposeDB configuration our application will use. This example repository contains a script found at /client/scripts/commands/mjs that generates one for you (preset to run \"inmemory\" which is ideal for testing).\n\nTo generate your necessary credentials, run the following in your terminal:\n\n```bash\nnpm run generate\n```\n\n3. Finally, run your application in a new terminal (first ensure you are running node v16 in your terminal):\n\n```bash\nnvm use 16\nnpm run dev\n```\n\nIf you explore your composedb.config.json and admin_seed.txt files, you will now see a defined JSON ComposeDB server configuration and Ceramic admin seed, respectively.\n\n## Observe Your Schema Definitions\n\nThe schemas outlined above are located [here](./composites/00-verifiableCredential.graphql).\n\nWhile there are a variety of different ways to compile data models into a composite and deploy on a local node, this repository outlines one opinionated way, found in /scripts/composites.mjs. When you launch the application, this script compiles the models into a composite definition that will then be deployed on your local node, and write those definitions to the files located in /src/__generated__, which will later be used by the ComposeDB client library to read and write data.\n\nDeploying your models onto your node each time you run the application is only relevant for local testing. Once using a production node, your models will already be deployed on your Ceramic node, and you will simply need the canonical runtime definition to cast onto your node.\n\n## Interacting with the UI\nIf you have been following along up until this point, you should be able to access the UI in your browser on port 3000. Go ahead and connect your wallet using the Web3Modal:\n\n\u003cdiv style={{textAlign: 'center'}}\u003e\n\n![vc playground](/static/vc-playground.png)\n\n\u003c/div\u003e\n\nThe code for this section can be found in the [VC712 component](./src/components/VC712.tsx).\n\nYou can follow the directions on the screen to:\n\n1. Input a recipient address\n2. Create as many \"Trustworthiness\" entries for a given address as you'd like (with or without the optional `reason` array field)\n3. When ready, issue your credential\n\nYou can observe how our ComposeDB client is available on the `compose` object after calling the `useComposeDB` method (imported from [this fragment](./src/fragments/index.tsx)) - this authentication method checks and authenticates our browser wallet by creating an authenticated DID session based on our parent DID:pkh. This fragment also imports our runtime definition and casts it on our ComposeDB client (line 24), thus making our schema definitions available to query and write. \n\nIf you check your localStorage, you should also now see a `DID` key-value pair that resulted from this SIWE + Ceramic authentication flow.\n\nFinally, back in the [VC712 component](./src/components/VC712.tsx), observe how we execute a mutation query using the `AccountTrustCredential712` type\n\n### Query Page\n\nIf you visit http://localhost:3000/query, you can interact with an in-browser GraphIQL instance. Observe how we're first querying based on the `VerifiableCredential` broad interface, but have the ability to query based on the super granular `AccountTrustCredential712` type. This shows how our queries can support multiple entrypoints.\n\nYou can conversely query in the opposite direction (granular --\u003e broad). \n\n## Learn More\n\nTo learn more about Ceramic please visit the following links\n\n- [Ceramic Documentation](https://developers.ceramic.network/learn/welcome/) - Learn more about the Ceramic Ecosystem.\n- [ComposeDB](https://composedb.js.org/) - Details on how to use and develop with ComposeDB!\n- [AI Chatbot on ComposeDB](https://learnweb3.io/lessons/build-an-ai-chatbot-on-compose-db-and-the-ceramic-network) - Build an AI-powered Chatbot and save message history to ComposeDB\n- [ComposeDB API Sandbox](https://developers.ceramic.network/sandbox) - Test GraphQL queries against a live dataset directly from your browser\n- [Ceramic Blog](https://blog.ceramic.network/) - Browse technical tutorials and more on our blog\n- [Ceramic Discord](https://discord.com/invite/ceramic) - Join the Ceramic Discord\n- [Follow Ceramic on Twitter](https://twitter.com/ceramicnetwork) - Follow us on Twitter for latest announcements!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fsoftware-trust-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceramicstudio%2Fsoftware-trust-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fsoftware-trust-system/lists"}