{"_id":"nacl-did","_rev":"4578731","name":"nacl-did","description":"Resolve and manage DIDs using NaCL crypto suites","dist-tags":{"latest":"1.0.1"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"time":{"modified":"2026-04-10T15:51:49.000Z","created":"2018-12-27T04:12:42.191Z","1.0.1":"2020-01-20T10:51:06.548Z","1.0.0":"2019-09-09T08:40:53.374Z","0.4.0":"2019-01-20T16:55:01.093Z","0.3.0":"2019-01-06T19:42:28.175Z","0.2.2":"2019-01-04T19:03:29.957Z","0.2.1":"2019-01-03T02:12:01.026Z","0.2.0":"2019-01-02T19:44:01.733Z","0.1.0":"2018-12-27T19:57:51.319Z","0.0.2":"2018-12-27T15:06:37.390Z","0.0.1":"2018-12-27T04:12:42.191Z"},"users":{},"author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"versions":{"1.0.1":{"name":"nacl-did","version":"1.0.1","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/nacldid.umd.js","module":"lib/nacldid.modern.js","types":"lib/nacldid.d.ts","source":"src/nacldid.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"dependencies":{"did-resolver":"^1.0.0","ed2curve-esm":"^0.3.0-alpha-1","tweetnacl":"^1.0.1","tweetnacl-util":"^0.15.0"},"scripts":{"build:js":"microbundle -f modern,umd","build":"npm run build:js && npm run test && npm run build:docs","test":"jest --coverage","test:watch":"jest --watch","test:ci":"jest -u --coverage && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage -v","dev":"microbundle --watch","format":"prettier --write src/**/*","build:docs":"typedoc --theme markdown --out docs/ src/nacldid.ts ./index.d.ts","prepare":"npm run build"},"devDependencies":{"@types/jest":"^24.9.0","@types/mockdate":"^2.0.0","@types/node":"^13.1.7","codacy-coverage":"^3.4.0","ethr-did-resolver":"^0.2.0","jest":"^24.9.0","kitimat":"^0.1.8","kitimat-jest":"^0.1.8","microbundle":"^0.12.0-next.6","mockdate":"^2.0.2","prettier":"^1.19.1","regenerator-runtime":"^0.13.3","ts-jest":"^24.3.0","tslint":"^5.20.1","tslint-config-prettier":"^1.18.0","tslint-eslint-rules":"^5.4.0","typedoc":"^0.15.0","typedoc-plugin-markdown":"^2.1.7","typescript":"^3.7.5"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"3494a16d1c116f0f3f48dd355fbadd2c84568548","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"homepage":"https://github.com/uport-project/nacl-did#readme","_id":"nacl-did@1.0.1","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"shasum":"94a253430343038c8fee3ff0ecf394b1d34fe4b2","size":25683,"noattachment":false,"key":"/nacl-did/-/nacl-did-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-1.0.1.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"_npmUser":{"name":"mirceanis","email":"mirceanis@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_1.0.1_1579517466410_0.2311128787525738"},"_hasShrinkwrap":false,"publish_time":1579517466548,"_cnpm_publish_time":1579517466548,"_cnpmcore_publish_time":"2021-12-16T17:21:00.760Z"},"1.0.0":{"name":"nacl-did","version":"1.0.0","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/nacldid.umd.js","module":"lib/nacldid.modern.js","types":"lib/nacldid.d.ts","source":"src/nacldid.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"dependencies":{"did-resolver":"^1.0.0","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build:js":"microbundle -f modern,umd","build":"npm run build:js && npm run test && npm run build:docs","test":"jest --coverage","test:watch":"jest --watch","test:ci":"jest -u --coverage && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage -v","dev":"microbundle --watch","format":"prettier --write src/**/*","build:docs":"typedoc --theme markdown --out docs/ src/nacldid.ts ./index.d.ts","prepare":"npm run build"},"devDependencies":{"@types/jest":"^24.0.18","@types/mockdate":"^2.0.0","@types/node":"^12.7.3","codacy-coverage":"^3.4.0","ethr-did-resolver":"^0.2.0","jest":"^24.9.0","kitimat":"^0.1.8","kitimat-jest":"^0.1.8","microbundle":"^0.12.0-next.6","mockdate":"^2.0.2","prettier":"^1.18.2","regenerator-runtime":"^0.13.3","ts-jest":"^24.0.2","tslint":"^5.19.0","tslint-config-prettier":"^1.18.0","tslint-eslint-rules":"^5.4.0","typedoc":"^0.15.0","typedoc-plugin-markdown":"^2.1.7","typescript":"^3.6.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"ce82fa9456fed8a0e23ce6df70616ed0226a2c4d","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"homepage":"https://github.com/uport-project/nacl-did#readme","_id":"nacl-did@1.0.0","_nodeVersion":"12.6.0","_npmVersion":"6.9.0","dist":{"shasum":"1bae9e013abf55476f56a1c401947efef62494cf","size":27153,"noattachment":false,"key":"/nacl-did/-/nacl-did-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-1.0.0.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_1.0.0_1568018453220_0.2356472448051139"},"_hasShrinkwrap":false,"publish_time":1568018453374,"_cnpm_publish_time":1568018453374,"_cnpmcore_publish_time":"2021-12-16T17:21:01.193Z"},"0.4.0":{"name":"nacl-did","version":"0.4.0","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","module":"lib/register.es6.js","umd:main":"lib/register.umd.js","types":"lib/register.d.ts","source":"src/register.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"dependencies":{"did-resolver":"0.0.6","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build:js":"microbundle","build":"npm run build:js && npm run test && npm run build:docs","test":"jest --coverage","test:watch":"jest --watch","test:ci":"jest -u --coverage && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage -v","dev":"microbundle --watch","format":"prettier","build:docs":"typedoc --theme markdown --out docs/ src/register.ts ./index.d.ts","prepare":"npm run build"},"devDependencies":{"@types/jest":"^23.3.10","@types/mockdate":"^2.0.0","codacy-coverage":"^3.4.0","ethr-did-resolver":"^0.2.0","jest":"^23.6.0","kitimat":"^0.1.8","kitimat-jest":"^0.1.8","microbundle":"^0.9.0","mockdate":"^2.0.2","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typedoc":"^0.14.2","typedoc-plugin-markdown":"^1.1.22","typescript":"^3.2.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"16f44b59a227d3a169e1697e8c7e5145a9823e71","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"homepage":"https://github.com/uport-project/nacl-did#readme","_id":"nacl-did@0.4.0","_npmVersion":"6.5.0","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"1daf126fd6cdf028d2bd729aa9f87c6ba28de964","size":59108,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.4.0.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.4.0_1548003300910_0.5274545352066684"},"_hasShrinkwrap":false,"publish_time":1548003301093,"_cnpm_publish_time":1548003301093,"_cnpmcore_publish_time":"2021-12-16T17:21:01.458Z"},"0.3.0":{"name":"nacl-did","version":"0.3.0","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","types":"lib/register.d.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"dependencies":{"did-resolver":"0.0.6-alpha5","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build:es5":"tsc","build:browser":"webpack","build":"npm run build:es5 && npm run test && npm run build:browser","test":"jest --coverage","test:watch":"jest --watch","test:ci":"jest -u --coverage","dev":"tsc --watch","format":"prettier","build:docs":"typedoc --theme markdown --out docs/ src/register.ts ./index.d.ts","prepare":"npm run build"},"devDependencies":{"@types/jest":"^23.3.10","@types/mockdate":"^2.0.0","ethr-did-resolver":"^0.2.0-alpha1","jest":"^23.6.0","mockdate":"^2.0.2","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typedoc":"^0.13.0","typedoc-plugin-markdown":"^1.1.20","typescript":"^3.2.2","webpack":"^4.28.2","webpack-cli":"^3.1.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"343c7abb82b7e95ca9b6b9c2d6e8d7a405f03f1a","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"homepage":"https://github.com/uport-project/nacl-did#readme","_id":"nacl-did@0.3.0","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"928deeffacbed20ee64a0c9d77fe0045b0b58e99","size":63810,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.3.0.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.3.0_1546803747913_0.4869162788072261"},"_hasShrinkwrap":false,"publish_time":1546803748175,"_cnpm_publish_time":1546803748175,"_cnpmcore_publish_time":"2021-12-16T17:21:01.928Z"},"0.2.2":{"name":"nacl-did","version":"0.2.2","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","types":"lib/register.d.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"dependencies":{"did-resolver":"0.0.6-alpha5","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build:es5":"tsc","build:browser":"webpack","build":"npm run build:es5 && npm run test && npm run build:browser","test":"jest","test:ci":"jest -u --coverage","dev":"tsc --watch","format":"prettier","build:docs":"typedoc --theme markdown --out docs/ src/register.ts ./index.d.ts","prepare":"npm run build"},"devDependencies":{"@types/jest":"^23.3.10","@types/mockdate":"^2.0.0","ethr-did-resolver":"^0.2.0-alpha1","jest":"^23.6.0","mockdate":"^2.0.2","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typedoc":"^0.13.0","typedoc-plugin-markdown":"^1.1.20","typescript":"^3.2.2","webpack":"^4.28.2","webpack-cli":"^3.1.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"a7618bc11ef6600fd82fa912eaaeacca745c7c2a","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"homepage":"https://github.com/uport-project/nacl-did#readme","_id":"nacl-did@0.2.2","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"c4e52b82745ed2e4cbe73f7cfd70da9f375c6c22","size":61244,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.2.2.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.2.2_1546628609813_0.3932985677120009"},"_hasShrinkwrap":false,"publish_time":1546628609957,"_cnpm_publish_time":1546628609957,"_cnpmcore_publish_time":"2021-12-16T17:21:02.221Z"},"0.2.1":{"name":"nacl-did","version":"0.2.1","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","types":"lib/register.d.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"dependencies":{"did-resolver":"0.0.6-alpha5","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build:es5":"tsc","build:browser":"webpack","build":"npm run build:es5 && npm run test && npm run build:browser && npm run build:docs","test":"jest","test:ci":"jest -u --coverage","dev":"tsc --watch","format":"prettier","build:docs":"typedoc --theme markdown --out docs/ src/register.ts ./index.d.ts","prepare":"npm run build"},"devDependencies":{"@types/jest":"^23.3.10","@types/mockdate":"^2.0.0","ethr-did-resolver":"^0.2.0-alpha1","jest":"^23.6.0","mockdate":"^2.0.2","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typedoc":"^0.13.0","typedoc-plugin-markdown":"^1.1.20","typescript":"^3.2.2","webpack":"^4.28.2","webpack-cli":"^3.1.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"e21bdfd1a7cf2f3f90936ca676f83ec00b301a48","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"homepage":"https://github.com/uport-project/nacl-did#readme","_id":"nacl-did@0.2.1","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"ac86538526e870d8501726f0d591f477c85d0aa5","size":61165,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.2.1.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.2.1_1546481520844_0.09890942807078118"},"_hasShrinkwrap":false,"publish_time":1546481521026,"_cnpm_publish_time":1546481521026,"_cnpmcore_publish_time":"2021-12-16T17:21:02.544Z"},"0.2.0":{"name":"nacl-did","version":"0.2.0","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","types":"lib/register.d.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/uport-project/nacl-did.git"},"dependencies":{"did-resolver":"0.0.6-alpha5","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build":"tsc","test":"jest","dev":"tsc --watch","format":"prettier"},"devDependencies":{"@types/jest":"^23.3.10","@types/mockdate":"^2.0.0","ethr-did-resolver":"^0.2.0-alpha1","jest":"^23.6.0","mockdate":"^2.0.2","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typescript":"^3.2.2","webpack":"^4.28.2","webpack-cli":"^3.1.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"ec0995833139c14de3ea80e7c84567190957f5c2","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"homepage":"https://github.com/uport-project/nacl-did#readme","_id":"nacl-did@0.2.0","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"dc2abbe235c8722c5687e12235570555c94df757","size":30809,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.2.0.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.2.0_1546458241577_0.8426020140242665"},"_hasShrinkwrap":false,"publish_time":1546458241733,"_cnpm_publish_time":1546458241733,"_cnpmcore_publish_time":"2021-12-16T17:21:02.877Z"},"0.1.0":{"name":"nacl-did","version":"0.1.0","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","types":"lib/register.d.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","dependencies":{"did-resolver":"0.0.6-alpha5","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build":"tsc","test":"jest","dev":"tsc --watch","format":"prettier"},"devDependencies":{"@types/jest":"^23.3.10","@types/mockdate":"^2.0.0","jest":"^23.6.0","mockdate":"^2.0.2","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typescript":"^3.2.2","webpack":"^4.28.2","webpack-cli":"^3.1.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"ce8e847966de103140265f983080792c04f44f60","_id":"nacl-did@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"0d5c2dd4a4700a3567d724bfaa47b30c255f1941","size":29057,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.1.0.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.1.0_1545940671139_0.09462026811638857"},"_hasShrinkwrap":false,"publish_time":1545940671319,"_cnpm_publish_time":1545940671319,"_cnpmcore_publish_time":"2021-12-16T17:21:03.143Z"},"0.0.2":{"name":"nacl-did","version":"0.0.2","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","types":"lib/register.d.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","dependencies":{"did-resolver":"0.0.6-alpha5","ed2curve":"git+https://github.com/uport-project/ed2curve-js.git","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build":"tsc","test":"jest","dev":"tsc --watch","format":"prettier"},"devDependencies":{"@types/jest":"^23.3.10","jest":"^23.6.0","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typescript":"^3.2.2","webpack":"^4.28.2","webpack-cli":"^3.1.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"f3aae2b8532efb30b32dbe2d4559bc1be82e2d55","_id":"nacl-did@0.0.2","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"20f6878498804d5c3902a40ee06582b896e7ad94","size":29006,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.0.2.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.0.2_1545923197256_0.1676807903234272"},"_hasShrinkwrap":false,"publish_time":1545923197390,"_cnpm_publish_time":1545923197390,"_cnpmcore_publish_time":"2021-12-16T17:21:03.416Z"},"0.0.1":{"name":"nacl-did","version":"0.0.1","description":"Resolve and manage DIDs using NaCL crypto suites","main":"lib/register.js","types":"lib/register.d.ts","author":{"name":"Pelle Braendgaard","email":"pelle.braendgaard@consensys.net"},"license":"Apache-2.0","dependencies":{"did-resolver":"0.0.6-alpha5","ed2curve":"^0.2.1","tweetnacl":"^1.0.0","tweetnacl-util":"^0.15.0"},"scripts":{"build":"tsc","test":"jest","dev":"tsc --watch","format":"prettier"},"devDependencies":{"@types/jest":"^23.3.10","jest":"^23.6.0","prettier":"^1.15.3","regenerator-runtime":"^0.12.1","ts-jest":"^23.10.5","tslint":"^5.12.0","tslint-config-prettier":"^1.17.0","tslint-eslint-rules":"^5.4.0","typescript":"^3.2.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json"],"coverageDirectory":"./coverage/","collectCoverageFrom":["src/**/*.{ts,tsx}","!src/**/*.d.ts","!**/node_modules/**"]},"gitHead":"be3f5f37149179c87e40f63fc230f63f1a7b1a32","_id":"nacl-did@0.0.1","_npmVersion":"6.4.1","_nodeVersion":"11.5.0","_npmUser":{"name":"pelleb","email":"pelleb@gmail.com"},"dist":{"shasum":"5d9beb4f9e9b5258e950869783f73ba197915c15","size":7395,"noattachment":false,"key":"/nacl-did/-/nacl-did-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/nacl-did/download/nacl-did-0.0.1.tgz"},"maintainers":[{"name":"mirceanis","email":""},{"name":"pelleb","email":""},{"name":"simonas-notcat","email":""},{"name":"uport-automation-bot","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nacl-did_0.0.1_1545883962054_0.8603709736641503"},"_hasShrinkwrap":false,"publish_time":1545883962191,"_cnpm_publish_time":1545883962191,"_cnpmcore_publish_time":"2021-12-16T17:21:03.630Z"}},"readme":"---\ntitle: \"NaCL DID Resolver and Manager\"\nindex: 0\ncategory: \"nacl-did\"\ntype: \"reference\"\nsource: \"https://github.com/uport-project/nacl-did/blob/develop/README.md\"\n---\n\n# NaCL DID Resolver and Manager\n\n[![CircleCI](https://circleci.com/gh/uport-project/nacl-did.svg?style=svg)](https://circleci.com/gh/uport-project/nacl-did)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/8ce0d076d47147deb76bc7bb43df9216)](https://app.codacy.com/app/pelle/nacl-did?utm_source=github.com&utm_medium=referral&utm_content=uport-project/nacl-did&utm_campaign=Badge_Grade_Dashboard)\n\n[FAQ and helpdesk support](http://bit.ly/uPort_helpdesk)\n\nThis library is intended to use cryptographic keys from [NaCL](http://nacl.cr.yp.to) cryptographic suite as [Decentralized Identifiers](https://w3c-ccg.github.io/did-spec/#decentralized-identifiers-dids) and generate an associated [DID Document](https://w3c-ccg.github.io/did-spec/#did-documents).\n\nMotivation. There is a need for non updateable DID's for use in IOT and other applications, where lack of network, size of code base and other such concerns are paramount to adoption. These concerns need to be addressed while not lowering the overall security guarantees.\n\n*WARNING* This should not be used for representing long term primary identities of end users. But should be seen as a useful building block for building Identity Applications together with other more complete DID methods.\n\nWhat NaCL DID does:\n\n* Provides a single `Ed25519` Signing Public Key for a DID\n* Provide a single `Curve25519` Encryption Public Key for a DID\n* Small DID size\n\nWhat it can not do:\n\n* It can NOT rotate keys\n* It can NOT add keys\n* It can NOT contain service end points\n\nIt supports the proposed [Decentralized Identifiers](https://w3c-ccg.github.io/did-spec/) spec from the [W3C Credentials Community Group](https://w3c-ccg.github.io).\n\nIt requires the `did-resolver` library, which is the primary interface for resolving DIDs.\n\n## DID method\n\nThe base identifier is a Base64Url encoded Ed25519 public key.\n\nTo encode a DID for an HTTPS domain, simply prepend `did:nacl:` to the public key.\n\neg: `PfFss0oSFiwSdJuZXO6EfGK2T37Bz5gPy-Dy8Hv-Izg -> did:nacl:PfFss0oSFiwSdJuZXO6EfGK2T37Bz5gPy-Dy8Hv-Izg`\n\n## DID Document\n\nThe DID resolver generates a DID Document on the fly by adding signing public key from the DID and adds it to the `publicKey` and `authentication` arrays.\n\nIn addition it converts the `Ed25519` Signing Public Key to a `Curve25519` encryption public key and adds it to the publicKey array.\n\nA DID Document for the `did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI` would look like this:\n\n```javascript\n{\n  '@context': 'https://w3id.org/did/v1',\n  id: 'did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI',\n  publicKey: [{\n    id: `did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI#key1`,\n    type: 'ED25519SignatureVerification',\n    owner: 'did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI',\n    publicKeyBase64: 'Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI'\n  },{\n    id: `did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI#key2`,\n    type: 'Curve25519EncryptionPublicKey',\n    owner: 'did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI',\n    publicKeyBase64: 'OAsnUyuUBISGsOherdxO6rgzUeGe9SnffDXQk6KpkAY'\n  }],\n  authentication: [{\n       type: 'ED25519SigningAuthentication',\n       publicKey: `did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI#key1`\n  }]\n}\n```\n\n## Creating an Identity\n\nThe resolver presents a `createIdentity()` function that returns a ES6 Promise returning a Identity object containing a keyPair and DID.\n\n```javascript\nimport { createIdentity, loadIdentity } from 'nacl-did'\n\nconst identity = createIdentity()\n\n// the identity can be serialized using toJSON()\nlocalStorage.setItem('naclId', JSON.stringify(identity.toJSON()))\n\n// this can be similarly loaded using loadIdentity\n\nconst identity = loadIdentity(JSON.parse(localStorage.getItem('naclId')))\n\n```\n\n## Signing Data\n\nThe `sign()` method can be used to sign raw data.\n\n```javascript\nimport { createIdentity, verifySignature } from 'nacl-did'\n\nconst identity = createIdentity()\n\nconst message = 'Hello' // Use String, Uint8Array or Buffer\n\nconst signedData = identity.sign(message)\n\nif (identity.verify(signedData)) {\n  console.log('Success!')\n}\n\nif (verifySignature(signedData)) {\n  console.log('Success!')\n}\n\n```\n\n## Signing JWT\n\nThe `createJWT()` method can be used as a minimal JWT implementation.\n\n```javascript\nimport { createIdentity, verifyJWT } from 'nacl-did'\n\nconst identity = createIdentity()\n\nconst vc = identity.createJWT({sub: 'did:https:uport.me', claim: { url: 'https://uport.me'}})\n\n// verifyJWT can verify JWT's but only signed by an issuer with a nacl-did\nconst {payload, did } = await verifyJWT(vc)\n```\n\nThe built in JWT implementation only signs and verifies JWT's using the NaCL DID method. We recommend using [DID-JWT](https://github.com/uport-project/did-jwt) for a more complete solution.\n\n## Encryption\n\nThe NaCL DID method supports public key encryption using NaCL's `x25519-xsalsa20-poly1305` (`box`) algorithm. If the `to` field is my own DID it uses  NaCL's symmetric encryption `xsalsa20-poly1305` (`secret-box`) algorithm instead.\n\nUse the `encrypt(to, data)` and `decrypt(encrypted)` methods.\n\n```javascript\nimport { createIdentity } from 'nacl-did'\n\nconst identity = createIdentity()\nconst encrypted = await identity.encrypt('did:nacl:PfFss0oSFiwSdJuZXO6EfGK2T37Bz5gPy-Dy8Hv-Izg', 'hello'})\nconst clear = identity.decrypt(encrypted)\n\n```\n\n## Encryption Sessions\n\nIn many applications you will be encrypting data repeatedly to the same recipient. For these it is more eficient to open an Encryption Session.\n\nUse the `openSession(toDid)` method.\n\n```javascript\nimport { createIdentity } from 'nacl-did'\n\nconst identity = createIdentity()\nconst session = identity.openSession('did:nacl:PfFss0oSFiwSdJuZXO6EfGK2T37Bz5gPy-Dy8Hv-Izg')\nconst encrypted = await session.encrypt('hello')\nconst clear = session.decrypt(encrypted)\n```\n\nIn cases that the counterparty identity (the recipient) does not have an encryption key in it's DID document you can pass in an optional encryption public key (base64url encoded) received through an external process, but it will also default to any public key in the DID document.\n\n```javascript\nimport { createIdentity } from 'nacl-did'\n\nconst identity = createIdentity()\nconst session = identity.openSession('did:ethr:0x2Cc31912B2b0f3075A87b3640923D45A26cef3Ee', 'mJsioLTc7iyILsSUT8qmWyTnzytSKEmcg8bAeJ2R33U')\nconst encrypted = await session.encrypt('hello')\nconst clear = session.decrypt(encrypted)\n```\n\nIn other cases you want to always encrypt data to yourself, even if the counterparty doesn't have a public key. Just pass in a `true` to the `openSession`.\n\n```javascript\nimport { createIdentity } from 'nacl-did'\n\nconst identity = createIdentity()\nconst session = identity.openSession('did:ethr:0x2Cc31912B2b0f3075A87b3640923D45A26cef3Ee', true)\nconst encrypted = await session.encrypt('hello')\nconst clear = session.decrypt(encrypted)\n```\n\n## Resolving a DID document\n\nThe resolver presents a simple `resolver()` function that returns a ES6 Promise returning the DID document.\n\n```javascript\nimport { Resolver } from 'did-resolver'\nimport { resolver as naclDidResolver } from 'nacl-did'\n\nconst didResolver = new Resolver({ nacl: naclDidResolver })\ndidResolver.resolve('did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI').then(doc => console.log)\n\n// You can also use ES7 async/await syntax\nconst doc = await didResolver.resolve('did:nacl:Md8JiMIwsapml_FtQ2ngnGftNP5UmVCAUuhnLyAsPxI')\n```\n","_attachments":{},"homepage":"https://github.com/uport-project/nacl-did#readme","bugs":{"url":"https://github.com/uport-project/nacl-did/issues"},"license":"Apache-2.0"}