Skip to content
wwWalletPublic

About

Modular implementation of a digital credential wallet ecosystem supporting OpenID4VCI and OpenID4VP

Topics

Resources

Contributing

Stars

1 star

Watchers

2 watching

Forks

Latest commit

 

History

318 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wwWallet

wwWallet is a modular reference implementation for verifiable credentials, providing an end-to-end stack: a browser-based web wallet (with WebAuthn support), an OpenID4VCI credential issuer, an OpenID4VP verifier, an OIDC authorization server, and a shared TypeScript library of protocol helpers and utilities for integration and testing.

📦 Modules

🔍 Prerequisites

  • Node.js (version 24 or later)
  • Yarn (recommended: 1.x)
  • Docker & Docker Compose

🚀 Quick start for Development

  1. Update submodules:
    git submodule update --init --recursive --remote
  2. Install deps:
    yarn install
  3. Setup dev environment (copies env templates & keys):
    yarn setup
  4. Start all services:
    yarn start

First-time Setup

  1. Initialize DB:
    • Uploads IACA certificate generated from step 3. to the database of the wallet
    • Registers issuer and verifier in the database of the wallet
    • Initializes wallet-verifier database
    • Initializes vct-registry database
    yarn init-db
  2. Install pre-commit hooks (optional but recommended):
    • Installs pre-commit hooks in this repository and submodules that include a .pre-commit-config.yaml file. The hooks enforce .editorconfig rules and apply minimal auto-fixes (e.g. adding missing newlines).
    yarn install:precommit-hooks

Update submodules

Check out master and pull the latest changes in all initialized submodules:

yarn submodules:pull

Submodules without a master branch are skipped. Pulls use --ff-only. Failed checkouts or pulls are reported, and the script continues with the remaining submodules. It lists all failed submodules at the end and exits with an error if any failed.

Documentation website

After yarn install, you can optionally start the documentation website separately on port 8001:

yarn --cwd wallet-docs start

🏭 Build for Production

yarn build:prod -v latest -c ghcr.io/gunet -i vct-registry -i wallet-frontend -i wallet-backend-server -i wallet-issuer -i wallet-verifier -i wallet-as

🤝 Contributing

Want to contribute? Check out our Contribution Guidelines for more details!

Code formatting

The root repository uses the native EditorConfig checker in pre-commit and CI. .editorconfig-checker.json shares the checker exclusions for dependencies, generated files and submodules. Each submodule runs its own formatting checks.

To install hooks only for the root repository, then run all hooks:

pre-commit install
pre-commit run --all-files

Use yarn install:precommit-hooks to install hooks in the root repository and submodules together.

To check formatting without changing or staging files:

pre-commit run editorconfig-checker --all-files

Omit --all-files to check only staged files. The first run installs the pinned native checker in pre-commit's cache. On commit, the final-newline fixer runs before the checker; fix any remaining violations and stage the changes before retrying.

About

Modular implementation of a digital credential wallet ecosystem supporting OpenID4VCI and OpenID4VP

Topics

Resources

Contributing

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages