wallet-sdk

module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2023 License: Apache-2.0

README

License Release Godocs

Build Status Go Report Card

Wallet SDK

The TrustBloc Wallet SDK repo contains APIs to issue/present W3C Verifiable Credentials(VCs) signed/verified using W3C Decentralized Identifiers(DIDs). These APIs are useful for the holder role defined in the W3C VC Specification.

This project contains:

The repo also has code to generate a Reference iOS or Android App built using the Flutter framework.

Build/Run

Library/Package

Android

The Wallet SDK Android package is available on GitHub Maven Repository. Please check this page for the latest SNAPSHOT versions.

<dependency>
 <groupId>dev.trustbloc</groupId>
 <artifactId>vc-wallet-sdk</artifactId>
 <version>0.1.0-SNAPSHOT-7e3a6ed</version>
</dependency>

Refer here for using the android package in your project.

Gradle Config

Add the following GitHub maven repository to dependencyResolutionManagement.repositories

maven {
  url = $URL
  credentials {
    username = $GITHUB_USER
    password = $GITHUB_TOKEN
  }
 }

Use the following URL based on snapshot or release dependency: SNAPSHOT_REPO_URL=https://maven.pkg.github.com/trustbloc-cicd/snapshot RELEASE_REPO_URL=https://maven.pkg.github.com/trustbloc/wallet-sdk

Project structure

The Go SDK is defined in pkg. If you want to build a native Go application, then this is what you'd use.

The gomobile-compatible version of the aforementioned Go SDK is defined in cmd/wallet-sdk-gomobile. It's similar to the Go SDK, except that the various functions, methods, and interfaces only use a subset of Go types that are compatible with the gomobile tool. The gomobile-compatible SDK generally acts as a wrapper for the Go SDK. Internally, it converts between the gomobile-compatible types and the types used by the Go SDK as needed.

Contributing

Thank you for your interest in contributing. Please see our community contribution guidelines for more information.

License

Apache License, Version 2.0 (Apache-2.0). See the LICENSE file.

Directories

Path Synopsis
cmd
utilities Module
wallet-sdk-js Module
internal
testutil
Package testutil implements common test tasks.
Package testutil implements common test tasks.
pkg
api
Package api defines wallet-sdk APIs.
Package api defines wallet-sdk APIs.
common
Package common implements common functionality like jwt sign and did public key resolve.
Package common implements common functionality like jwt sign and did public key resolve.
credentialquery
Package credentialquery allows querying credentials using presentation definition.
Package credentialquery allows querying credentials using presentation definition.
credentialschema
Package credentialschema contains a function that can be used to resolve display values per the OpenID4CI spec.
Package credentialschema contains a function that can be used to resolve display values per the OpenID4CI spec.
did/creator
Package creator contains a DID document creator that can be used to create DIDs using various supported DID methods.
Package creator contains a DID document creator that can be used to create DIDs using various supported DID methods.
did/creator/ion
Package ion contains a did:ion longform creator implementation.
Package ion contains a did:ion longform creator implementation.
did/creator/key
Package key contains a did:key creator implementation.
Package key contains a did:key creator implementation.
did/resolver
Package resolver contains functions for resolving DIDs.
Package resolver contains functions for resolving DIDs.
did/wellknown
Package wellknown contains a function for validating a DID's service against its well-known DID configuration.
Package wellknown contains a function for validating a DID's service against its well-known DID configuration.
internal/issuermetadata
Package issuermetadata contains a function for fetching issuer metadata.
Package issuermetadata contains a function for fetching issuer metadata.
localkms
Package localkms contains a KMS implementation that uses Google's Tink crypto library.
Package localkms contains a KMS implementation that uses Google's Tink crypto library.
memstorage
Package memstorage contains a credential storage implementation using in-memory storage only.
Package memstorage contains a credential storage implementation using in-memory storage only.
models
Package models contains models.
Package models contains models.
models/issuer
Package issuer contains models for representing an issuer's metadata.
Package issuer contains models for representing an issuer's metadata.
openid4ci
Package openid4ci provides APIs for wallets to receive verifiable credentials via OIDC for Credential Issuance.
Package openid4ci provides APIs for wallets to receive verifiable credentials via OIDC for Credential Issuance.
openid4vp
Package openid4vp implements the OpenID4VP presentation flow.
Package openid4vp implements the OpenID4VP presentation flow.
test
integration Module

Jump to

Keyboard shortcuts

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