{"id":18908793,"url":"https://github.com/orbitdb/orbitdb-identity-provider-did","last_synced_at":"2025-07-22T21:03:04.640Z","repository":{"id":180438065,"uuid":"664628708","full_name":"orbitdb/orbitdb-identity-provider-did","owner":"orbitdb","description":"Create, sign and verify OrbitDB identities using Decentralized Identifiers (DIDs).","archived":false,"fork":false,"pushed_at":"2025-03-03T21:44:56.000Z","size":1856,"stargazers_count":6,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-17T13:47:19.622Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orbitdb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2023-07-10T11:56:31.000Z","updated_at":"2025-03-03T21:44:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"af4066a3-248b-47c4-a292-e92af254addc","html_url":"https://github.com/orbitdb/orbitdb-identity-provider-did","commit_stats":null,"previous_names":["orbitdb/orbit-db-identity-provider-did","orbitdb/orbitdb-identity-provider-did"],"tags_count":3,"template":false,"template_full_name":"orbitdb/repo-template","purl":"pkg:github/orbitdb/orbitdb-identity-provider-did","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitdb%2Forbitdb-identity-provider-did","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitdb%2Forbitdb-identity-provider-did/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitdb%2Forbitdb-identity-provider-did/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitdb%2Forbitdb-identity-provider-did/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orbitdb","download_url":"https://codeload.github.com/orbitdb/orbitdb-identity-provider-did/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orbitdb%2Forbitdb-identity-provider-did/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266572294,"owners_count":23949993,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-08T09:28:35.343Z","updated_at":"2025-07-22T21:03:04.608Z","avatar_url":"https://github.com/orbitdb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OrbitDB DID Identity Provider\n\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"https://github.com/orbitdb/orbitdb/blob/main/images/orbit_db_logo_color.png\" width=\"256\" /\u003e\n\u003c/p\u003e\n\n[![Matrix](https://img.shields.io/matrix/orbit-db:matrix.org?label=chat%20on%20matrix)](https://app.element.io/#/room/#orbit-db:matrix.org) [![npm (scoped)](https://img.shields.io/npm/v/%40orbitdb/identity-provider-did)](https://www.npmjs.com/package/%40orbitdb/identity-provider-did) [![node-current (scoped)](https://img.shields.io/node/v/%40orbitdb/identity-provider-did)](https://www.npmjs.com/package/%40orbitdb/identity-provider-did)\n\nCreate and sign OrbitDB identities using a Decentralized IDentifier (DID). See https://www.w3.org/TR/did-core/.\n\n## Install\n\nThis project uses [npm](http://npmjs.com/) and [nodejs](https://nodejs.org/).\n\n```sh\nnpm i @orbitdb/identity-provider-did\n```\n\n## Usage\n\nStart by registering the OrbitDBIdentityProviderDID identity provider with [useIdentityProvider](https://api.orbitdb.org/module-Identities.html#.useIdentityProvider).\n\nOnce registered, you can simply pass in the identity provider when creating an OrbitDB instance:\n\n```js\nimport { createHelia, libp2pDefaults } from 'helia'\nimport { createOrbitDB, useIdentityProvider } from '@orbitdb/core'\nimport * as OrbitDBIdentityProviderDID from '@orbitdb/identity-provider-did'\nimport KeyDidResolver from 'key-did-resolver'\nimport { Ed25519Provider } from 'key-did-provider-ed25519'\n\nconst libp2pOptions = libp2pDefaults()\nconst ipfs = await createHelia({ libp2p: libp2pOptions })\n\nconst seed = new Uint8Array(/* some private seed */)\n\nOrbitDBIdentityProviderDID.setDIDResolver(KeyDidResolver.getResolver())\nuseIdentityProvider(OrbitDBIdentityProviderDID)\nconst didProvider = new Ed25519Provider(seed)\nconst provider = OrbitDBIdentityProviderDID({ didProvider })\nawait createOrbitDB({ ipfs, identity: { provider } })\n```\n\nIf you require a more custom approach to managing identities, you can create an identity by passing the identity provider to [createIdentity](https://api.orbitdb.org/module-Identities-Identities.html#createIdentity) then use the resulting identity with OrbitDB:\n\n```js\nimport { createHelia, libp2pDefaults } from 'helia'\nimport { createOrbitDB, Identities, useIdentityProvider } from '@orbitdb/core'\nimport OrbitDBIdentityProviderDID from '@orbitdb/identity-provider-did'\nimport KeyDidResolver from 'key-did-resolver'\nimport { Ed25519Provider } from 'key-did-provider-ed25519'\n\nconst libp2pOptions = libp2pDefaults()\nconst ipfs = await createHelia({ libp2p: libp2pOptions })\n\nconst seed = new Uint8Array(/* some private seed */)\n\nOrbitDBIdentityProviderDID.setDIDResolver(KeyDidResolver.getResolver())\nuseIdentityProvider(OrbitDBIdentityProviderDID)\n\nconst didProvider = new Ed25519Provider(seed)\n\nconst identities = await Identities({ ipfs })\nconst identity = await identities.createIdentity({ provider: OrbitDBIdentityProviderDID({ didProvider }) })\n\nawait createOrbitDB({ ipfs, identities, identity })\n```\n\n## Contributing\n\n**Take a look at our organization-wide [Contributing Guide](https://github.com/orbitdb/welcome/blob/master/contributing.md).** You'll find most of your questions answered there. Some questions may be answered in the [FAQ](FAQ.md), as well.\n\nIf you want to code but don't know where to start, check out the issues labelled [\"help wanted\"](https://github.com/orbitdb/orbitdb/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+sort%3Areactions-%2B1-desc).\n\n## License\n\n[MIT](LICENSE) Haja Networks Oy, OrbitDB Community","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbitdb%2Forbitdb-identity-provider-did","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forbitdb%2Forbitdb-identity-provider-did","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forbitdb%2Forbitdb-identity-provider-did/lists"}