Decentralized Online Identity Proofs library in Node/JavaScript
  • JavaScript 99.8%
  • Nix 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Skye Soss 71ee32feea
feat: update openpgp to v6 for OpenPGP v6 certificate support
openpgp v6 implements RFC 9580 and can read v6 keys/certs. No source
changes were needed.
2026-09-24 14:51:32 -05:00
.gitea/issue_template fix: fix issue template label [SKIP CI] 2024-01-26 23:09:01 +01:00
.husky feat: migrate from yarn to npm 2024-06-02 14:07:40 +02:00
.woodpecker fix: rename CI files 2024-11-18 10:03:24 +01:00
dist chore: release 2.1.0-rc.2 2024-11-25 17:52:27 +01:00
examples fix: cleanup test-service-provider and add attribution to previous PR 2024-10-16 00:14:17 -07:00
src fix: continue JSON array traversal past items without the checked key 2026-09-24 16:03:00 +02:00
static Add jsdoc documentation 2021-04-22 15:14:21 +02:00
test feat: update openpgp to v6 for OpenPGP v6 certificate support 2026-09-24 14:51:32 -05:00
.editorconfig Add editorconfig 2021-03-25 13:19:54 +01:00
.eslintrc.json feat: add jsdoc plugin to eslint 2024-01-28 12:55:45 +00:00
.gitignore Ignore docs 2021-04-20 16:42:58 +02:00
.licenseignore feat: add nix flake 2024-06-02 16:51:27 +02:00
CHANGELOG.md fix: continue JSON array traversal past items without the checked key 2026-09-24 16:03:00 +02:00
flake.lock feat: add nix flake 2024-06-02 16:51:27 +02:00
flake.nix feat: minor change to flake 2024-06-15 19:19:36 +02:00
jsconfig.json feat: add linting config 2023-05-03 10:46:09 +02:00
jsdoc-lib.json feat: change jsdoc theme 2024-01-30 01:13:36 +01:00
LICENSE Update year 2021-01-13 13:20:33 +01:00
license-checker-config.json Add regex to license check 2022-02-25 11:07:17 +01:00
LICENSE.HEADER Add regex to license check 2022-02-25 11:07:17 +01:00
package-lock.json feat: update openpgp to v6 for OpenPGP v6 certificate support 2026-09-24 14:51:32 -05:00
package.json feat: update openpgp to v6 for OpenPGP v6 certificate support 2026-09-24 14:51:32 -05:00
prerelease.js feat: add prerelease checks script 2023-09-18 17:34:54 +02:00
README.md feat: add sourcehut provider 2024-10-15 18:18:24 -07:00
rollup.config.js feat: use rollup for bundling 2023-07-08 08:36:57 +02:00

doip.js

status-badge License Mastodon Follow Open Collective backers and sponsors

doip.js allows websites and Node.js projects to verify decentralized online identities.

Documentation available at js.doip.rocks.

Installation (node)

Install using yarn or npm:

yarn add doipjs
# or
npm install --save doipjs

Import the doip module in your code:

const doip = require('./doipjs')

Installation (browser)

Include the following HTML snippet (requires openpgp.js):

<script src="/static/openpgp.min.js"></script>
<script src="/static/doip.min.js"></script>

Quickstart

Run the following javascript:

const verifyIdentity = async (url, fp) => {
  const claim = new doip.Claim(url, fp)
  claim.match()
  await claim.verify()
  console.log(claim.toJSON())
}
verifyIdentity('dns:doip.rocks', '9f0048ac0b23301e1f77e994909f6bd6f80f485d')

This snippet verifies the doip.rocks domain as bidirectionally linked to Yarmo's cryptographic key.

Contributing

Anyone can contribute!

Developers are invited to:

If you are new to contributing to open source software, we'd love to help you! To get started, here's a list of "good first issues" that you could look into.

Everyone is invited to:

Please note that this project has a Code of Conduct that all contributors agree to abide when participating.

About the Keyoxide project

The Keyoxide project strives for a healthier internet for all and has made its efforts fully open source. Our community is open and welcoming, feel free to say hi!

Funding for the project comes from the NLnet foundation, NGI0 and the people supporting our OpenCollective. The project is grateful for all your support.