https://github.com/solidlabresearch/sharcs-demonstrator-vc
https://github.com/solidlabresearch/sharcs-demonstrator-vc
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/solidlabresearch/sharcs-demonstrator-vc
- Owner: SolidLabResearch
- Created: 2024-09-10T09:37:39.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-03T10:32:19.000Z (over 1 year ago)
- Last Synced: 2025-01-17T07:09:33.978Z (about 1 year ago)
- Language: JavaScript
- Size: 3.21 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
Awesome Lists containing this project
README
# SHARCS Readme
## Prerequisies / Tested with
- [Bun](https://bun.sh/), ~v1.0.1
## Server - Docker
- first time: run `./docker-build-image.sh`
- as server: run `docker run --rm --name sharcs-poc-container -p 8080:8080 sharcs-poc:latest`
- API documentation available at http://localhost:8080/api-docs/
## Run
- Install `bun i`
- Run the scripts using `bun [script name] [optional index of diploma you want to try]`
- Run the server using `bun ./server.js`
## Configuration
- `./data`
- `./data/context`: all locally downloaded contexts, so the demo doesn't rely on public resources/an internet connection
- `./data/credentials`: demo VCs
- issues with these VCs
- Concept.prefLabel is not defined in the context --> Concept.preferredLabel
- some old contexts are removed and bbs is added
### steps
- update the 'old' diplomas / store their status, see `01_refresh_diploma.ts`
- optionally validate using `02_verify.ts`
- minimization
- when a minimization request arrives, validate the diploma based on the `./data/shape`, using `03_validate.js`
- minize the diploma based on the `./data/frame`, using `04_minimize.ts`
- optionally validate using `05_verify.ts`
- status
- check status
- update status
- check status again
- TODO init status should also create the status doc
## Resources
- https://github.com/mattrglobal/jsonld-signatures-bbs
- used for creating the VCs -> JSON-LD
- https://www.itb.ec.europa.eu/shacl/any/upload : if you don't feel like running validators locally
## Ideas
- range queries: expand VC API options + add code
- [ ] selective disclose + range
- birthdate/date: diploma older than 3 year
- substring?
- [ ] Proof of Signature / BBS?
- Evidence record cfr DocByte (Merkle Tree)
- [ ] VC ín VC + selective disclosure?
- selective points to frame: both normal frame as expanded frame?
- [ ] test
- VP
- ❗ delivery
- options / validate / verify / minimize