vcbackend

command module
v0.0.0-...-3ebf473 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2023 License: Apache-2.0 Imports: 27 Imported by: 0

README

⚠ This repository is not longer maintained. I you search for a component to verify credentials, see VCVerifier. If you need a component to issue credentials, see the Keycloak-VC-Issuer.

VCBackend

VCBackend includes in a single binary demo versions of Issuer, Verifier and Wallet (same-device only, for a cross-device wallet please see VCWallet).

This facilitates installation and allows to see how all components fit together and the protocol flows between them.

Installation

Clone the repository:

git clone git@github.com:hesusruiz/VCBackend.git

Before running VCBackend you need to have accessible the endpoints implemented by VCWaltid. Please install an run VCWaltid following the instructions there. The endpoints and ports required from VCBackend are preconfigured to match the ones from VCWaltid without any change. If you do require changes, they can be setup in the configuration file in configs\server.yaml.

Running

The first time that you start the VCBackend you have to make sure the database artifacts are consistent. Tou can use the provided Makefile for that or run the command directly:

make datamodel

The above command has to be executed every time that you modify the database model in the application.

To start VCBackend in development mode, type:

go run .

Configuration

The configuration file in config\server.yaml provides for some configuration of VCBackend. An example config file is:

server:
  listenAddress: "0.0.0.0:3000"
  staticDir: "back/www"
  templateDir: "back/views"
  environment: development
  loglevel: DEBUG

store:
  driverName: "sqlite3"
  dataSourceName: "file:issuer.sqlite?mode=rwc&cache=shared&_fk=1"

issuer:
  id: HappyPets
  name: HappyPets
  password: ThePassword
  store:
    driverName: "sqlite3"
    dataSourceName: "file:issuer.sqlite?mode=rwc&cache=shared&_fk=1"

verifier:
  id: PacketDelivery
  name: PacketDelivery
  password: ThePassword
  store:
    driverName: "sqlite3"
    dataSourceName: "file:verifier.sqlite?mode=rwc&cache=shared&_fk=1"
  protectedResource:
    url: "https://www.google.com"

verifiableregistry:
  password: ThePassword
  store:
    driverName: "sqlite3"
    dataSourceName: "file:verifiableregistry.sqlite?mode=rwc&cache=shared&_fk=1"

wallet:
  store:
    driverName: "sqlite3"
    dataSourceName: "file:wallet.sqlite?mode=rwc&cache=shared&_fk=1"

ssikit:
  coreURL: localhost:7000
  signatoryURL: http://localhost:7001
  auditorURL: localhost:7002
  custodianURL: localhost:7003
  essifURL: localhost:7010

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
ent
did
internal
didkey
Package didkey implements the did:key method.
Package didkey implements the did:key method.
jwk
jwt
Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html
Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL