-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes for Ed25519 public key IPFS identities #3896
Comments
I made the allocations above ^ lmk if that makes sense or not, or edit as makes sense. |
I've added two more PRs for review libp2p/go-libp2p-crypto#24, libp2p/go-libp2p-peer#13 👍 |
@whyrusleeping: In regards to the task to generalise |
Initial implementation for ipfs#3896 The function `peer.ExtractPublicKey()` is part of PR libp2p/go-libp2p-peer#14 cc @whyrusleeping
Initial implementation for ipfs#3896 The function `peer.ExtractPublicKey()` is part of PR libp2p/go-libp2p-peer#14 cc @whyrusleeping
This is part of ipfs/kubo#3896
See ipfs#3998 Initial implementation for ipfs#3896 The function `peer.ExtractPublicKey()` is part of PR libp2p/go-libp2p-peer#14 cc @whyrusleeping License: MIT Signed-off-by: Justin Drake <drakefjustin@gmail.com>
In 2022, ed25519 keys are the default in both go-ipfs and js-ipfs ✨ |
Below are the changes to support Ed25519 public key identity types. It was taken from ipfs/notes#241 incorporating comments from @whyrusleeping and @Kubuxu.
table.csv: add Ed25519 codec (PR Add ed25519 public key codec multiformats/multicodec#46)multiformats/go-multicodec-packed (@JustinDrake)multicodec.go: add Ed25519 codec (PR Add ed25519-pub (with test) multiformats/go-multicodec-packed#10)multiformats/go-multihash (@JustinDrake)multihash.go: add support for the identity hash (PR Add identity multiformats/go-multihash#51)libp2p/go-libp2p-crypto (@JustinDrake)ed25519.go: addUnmarshalEd25519PublicKey
helper function (PR Add UnmarshalEd25519PublicKey libp2p/go-libp2p-crypto#24)peer.go: AddExtractEd25519PublicKey
andExtractPublicKey
helper functions (@JustinDrake) (PR ed25519 key extraction libp2p/go-libp2p-peer#15)IDFromPublicKey
andIDFromPrivateKey
functions beyond SHA2_256. (As pointed by @whyrusleeping this may be tricky. Most of the time context should be sufficient to determine public key type. If not we may have to resort to heuristics and defaults?) (@whyrusleeping)Hash
function which only supports SHA2_256records.go: HaveGetPublicKey
extract public key instead of querying caches or the DHT for new identity type (PR Try extracting public key from peer identity libp2p/go-libp2p-kad-dht#57)namesys/publisher.go: HavePutRecordToRouting
refrain from publishing public key to the DHT for new identity type (PR Do not publish public keys extractable from ID #4020)IDFromPublicKey
andIDFromPublicKey
(@whyrusleeping)The text was updated successfully, but these errors were encountered: