{"id":13564884,"url":"https://github.com/trustbloc/wallet-sdk","last_synced_at":"2025-05-11T17:52:38.145Z","repository":{"id":60860754,"uuid":"546224128","full_name":"trustbloc/wallet-sdk","owner":"trustbloc","description":"Verifiable Credential Wallet SDK and Demo/Reference Wallet App (Go / GoMobile | Android | iOS)","archived":false,"fork":false,"pushed_at":"2025-05-06T13:10:06.000Z","size":4392,"stargazers_count":23,"open_issues_count":24,"forks_count":15,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-11T11:41:41.887Z","etag":null,"topics":["android","decentralized-identifiers","did","flutter","go","gomobile","ios","oid4vc","oid4vci","oid4vp","oidc","oidc4vci","oidc4vp","openid-connect","sdk","verifiable-credentials","wallet"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trustbloc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2022-10-05T18:36:39.000Z","updated_at":"2025-05-06T13:10:11.000Z","dependencies_parsed_at":"2024-03-25T17:01:17.503Z","dependency_job_id":"6c1b8c21-2172-4638-953f-39696e5f13c1","html_url":"https://github.com/trustbloc/wallet-sdk","commit_stats":{"total_commits":600,"total_committers":17,"mean_commits":"35.294117647058826","dds":0.7483333333333333,"last_synced_commit":"acdebf89b924ebbd814a5d347604998c57466cb3"},"previous_names":[],"tags_count":119,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fwallet-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fwallet-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fwallet-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustbloc%2Fwallet-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trustbloc","download_url":"https://codeload.github.com/trustbloc/wallet-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253561094,"owners_count":21927762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["android","decentralized-identifiers","did","flutter","go","gomobile","ios","oid4vc","oid4vci","oid4vp","oidc","oidc4vci","oidc4vp","openid-connect","sdk","verifiable-credentials","wallet"],"created_at":"2024-08-01T13:01:37.475Z","updated_at":"2025-05-11T17:52:38.126Z","avatar_url":"https://github.com/trustbloc.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://raw.githubusercontent.com/trustbloc/agent-sdk/main/LICENSE)\n[![Release](https://img.shields.io/github/release/trustbloc/wallet-sdk.svg?style=flat-square)](https://github.com/trustbloc/wallet-sdk/releases/latest)\n[![Godocs](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/trustbloc/wallet-sdk)\n\n[![Build Status](https://github.com/trustbloc/wallet-sdk/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/trustbloc/wallet-sdk/actions/workflows/build.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/trustbloc/wallet-sdk)](https://goreportcard.com/report/github.com/trustbloc/wallet-sdk)\n\n\n# Wallet SDK\n\nThe TrustBloc Wallet SDK repo contains APIs to receive and present [W3C Verifiable Credentials(VCs)](https://www.w3.org/TR/vc-data-model/) \nsigned using [W3C Decentralized Identifiers(DIDs)](https://www.w3.org/TR/did-core/). These APIs are useful for the holder \nrole defined in the [W3C VC Specification](https://www.w3.org/TR/vc-data-model/#dfn-holders).\n\nThe project contains the following source code components and build scripts for SDKs.\n- Go SDK\n  - Build native Go applications using the [core pkg](pkg).\n- Android and iOS SDK\n  - [A gomobile-compatible Go SDK](cmd/wallet-sdk-gomobile)\n    - For generating gomobile-compatible bindings (see below).\n    - To jump straight to usage documentation, see [here](cmd/wallet-sdk-gomobile/docs/usage.md).\n  - [Scripts to generate Android and iOS-compatible bindings](cmd/wallet-sdk-gomobile/README.md)\n    - Allows the Go SDK to be used in an Android or iOS app.\n\nThe repo also has code to generate a [Reference iOS and Android](demo/app/) built using the [Flutter](https://flutter.dev/) framework.\n\n## Specifications\n\nThe TrustBloc Wallet SDK implements following specifications.\n- W3C [Verifiable Credential Data Model (VCDM)](https://www.w3.org/TR/vc-data-model/)\n- W3C [Decentralized Identifier (DID)](https://www.w3.org/TR/did-core/)\n- OIDF [OpenID for Verifiable Credential Issuance](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html)\n  - Pre Authorization Code flow\n  - Authorization Code low\n- OIDF [OpenID for Verifiable Presentation](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html)\n- DIF [Presentation Exchange](https://identity.foundation/presentation-exchange/)\n- DIF [Well Known DID Configuration](https://identity.foundation/.well-known/resources/did-configuration/)\n\n## Build/Run\n- [GoMobile Bindings (iOS/Android)](cmd/wallet-sdk-gomobile/README.md)\n- [Demo/Reference App](demo/app/README.md)\n\n## Library/Package\n\n### Android\nThe Wallet SDK Android package is available on GitHub Maven Repository. Please refer \n[wallet-sdk maven packages](https://github.com/trustbloc/wallet-sdk/packages/1769347) for the latest releases.\n\n```\n\u003cdependency\u003e\n  \u003cgroupId\u003edev.trustbloc\u003c/groupId\u003e\n  \u003cartifactId\u003evc-wallet-sdk\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nRefer [here](./cmd/wallet-sdk-gomobile/README.md#helpful-tips) for using the android package in your project.\n\n#### Gradle Config\n\nAdd the following GitHub maven repository to dependencyResolutionManagement.repositories\n```\nmaven {\n  url = $URL\n  credentials {\n    username = $GITHUB_USER\n    password = $GITHUB_TOKEN\n  }\n }\n```\n\nUse the following URL based on snapshot or release dependency:\nRELEASE_REPO_URL=https://maven.pkg.github.com/trustbloc/wallet-sdk\n\n### iOS\nThe Wallet SDK iOS xcframework packages are distributed through Swift Package Manager (SPM). Please refer\n[wallet-sdk tags](https://github.com/trustbloc/wallet-sdk/tags) with the suffix `-swift-pm` (e.g., `1.0.0-swift-pm`) for the\nlatest releases.\n\n\n## Project structure\n\nThe Go SDK is defined in [pkg](pkg). If you want to build a native Go application, then this is what you'd use.\n\nThe `gomobile`-compatible version of the aforementioned Go SDK is defined in [cmd/wallet-sdk-gomobile](cmd/wallet-sdk-gomobile). It's similar to the [Go SDK](pkg), 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](pkg). Internally, it converts between the `gomobile`-compatible types and the types used by the [Go SDK](pkg) as needed.\n\n## Contributing\nThank you for your interest in contributing. Please see our\n[community contribution guidelines](https://github.com/trustbloc/community/blob/main/CONTRIBUTING.md) for more information.\n\n## License\nApache License, Version 2.0 (Apache-2.0). See the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustbloc%2Fwallet-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrustbloc%2Fwallet-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustbloc%2Fwallet-sdk/lists"}