From 7e0e85c2f003a09845b1dbe4200ca61366933b05 Mon Sep 17 00:00:00 2001 From: Jacob Heun Date: Mon, 10 Aug 2020 14:31:35 +0200 Subject: [PATCH] fix: support keychain without pass (#3212) - add support for ed25519 and secp256k1 keys for the ipfs PeerId - add support for using ed25519 and secp256k1 keys with ipns - add support for keychain without a pass, this fixes several keychain commands - fix `name publish`, ttl should be optional but wasn't being allowed Includes changes in https://github.com/ipfs/js-ipfs/pull/3208 Key gen and key listing now works: ```sh $ jsipfs key gen --type=ed25519 my-ed-key generated QmUPJZ3ghsnkRVgYjrMrSC8MbbZTzcezn6mH7vY9vTbrMY my-ed-key $ jsipfs key list QmUPJZ3ghsnkRVgYjrMrSC8MbbZTzcezn6mH7vY9vTbrMY my-ed-key QmYPxJJb8Mpa6JjQj7hCTF4ajn2SE1HFLRoAnCbymTGzyC self ``` IPNS Publishing now works properly, including using other key types: ```sh jsipfs name publish -k my-ed-key /ipfs/QmP7WDyEdkFu2nfj35SUEB7fk3iKCHpcrCVbGk1HXZU22a Published to 12D3KooWGmSq6u3yZeXqeqSmQpJWKQGGdCxrZQAUZBzsbSM2kCE6: /ipfs/QmP7WDyEdkFu2nfj35SUEB7fk3iKCHpcrCVbGk1HXZU22a ``` I also fixed a couple of the example tests, they weren't waiting for IPFS to start before executing the tests, which could cause them to intermittently fail. BREAKING CHANGE: remove support for key.export over the http api --- examples/browser-browserify/public/index.html | 2 +- examples/browser-browserify/src/index.js | 10 +++- examples/browser-browserify/test.js | 3 +- examples/circuit-relaying/index.html | 2 +- examples/circuit-relaying/src/app.js | 1 + examples/circuit-relaying/src/helpers.js | 1 - examples/circuit-relaying/test.js | 4 +- packages/interface-ipfs-core/package.json | 1 + .../interface-ipfs-core/src/key/export.js | 37 ------------- .../interface-ipfs-core/src/key/import.js | 19 +++---- packages/interface-ipfs-core/src/key/index.js | 1 - packages/ipfs-http-client/src/key/export.js | 26 --------- packages/ipfs-http-client/src/key/index.js | 1 - packages/ipfs/docs/MODULE.md | 3 +- packages/ipfs/package.json | 4 +- packages/ipfs/src/cli/commands/init.js | 7 +++ packages/ipfs/src/core/components/init.js | 10 ++-- .../ipfs/src/core/components/name/publish.js | 8 +-- packages/ipfs/src/http/api/resources/key.js | 44 --------------- packages/ipfs/src/http/api/resources/name.js | 2 +- packages/ipfs/src/http/api/routes/key.js | 5 -- packages/ipfs/test/cli/init.js | 8 +++ packages/ipfs/test/core/create-node.spec.js | 18 +++++++ packages/ipfs/test/core/init.spec.js | 54 +++++++++++++++++-- packages/ipfs/test/core/key-exchange.spec.js | 32 +++++++++-- packages/ipfs/test/http-api/inject/key.js | 45 ---------------- 26 files changed, 150 insertions(+), 198 deletions(-) delete mode 100644 packages/interface-ipfs-core/src/key/export.js delete mode 100644 packages/ipfs-http-client/src/key/export.js diff --git a/examples/browser-browserify/public/index.html b/examples/browser-browserify/public/index.html index cebc18fcd4..8d00381454 100644 --- a/examples/browser-browserify/public/index.html +++ b/examples/browser-browserify/public/index.html @@ -15,7 +15,7 @@

JS IPFS - Add data to IPFS from the browser

- +