Sr25519 support
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 1.8k
- Forks
- 320
- Avg merge
- 11d 15h
- Merged PRs (30d)
- 1
Description
Description
I'm not 100% confident this should be scoped to Rust implementation, but I need Sr25519 in Rust in addition to Ed25519 support to play well with the protocol we have
Motivation
In Subspace we use Sr25519 for several things and use public key of existing identity for implicitly storing certain pieces of data on network nodes and having the same curve used in libp2p (specifically public key for PeerId) would make things so much easier for us.
Requirements
- Extend
KeypairandIdentityto supportSr25519(I haveschnorrkelcrate in mind right now) behind feature flag
Open questions
Is it possible to make libp2p extensible such that curves like this can be added without changes to core libp2p implementation?
Are you planning to do it yourself in a pull request?
Yes
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing Ed25519 support in Keypair and Identity and evaluating how a schnorrkel-backed Sr25519 implementation could fit behind a feature flag. Investigate the open question about extending core libp2p without direct changes, and define compatibility expectations for PeerId; done means the support and its integration boundary are specified clearly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100