You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Substrate already provides full featured crypto libraries including ecdsa (secp256k1). No reason to import the additional libsecp256k1 now. Sr25519 is also the substrate default curve. So it's a good idea to stick to it.
Note that the signature of sr25519 has a different length than its of secp256k1. So we might need to adjust the signature field length accordingly. We don't do it until PoC-3 because it may introduce some serialization compatibility problems.
It turned out the current Substrate in master branch doesn't support "full_crypto" signing in no_std environment. However the upstream has already updated it:
This is hard, because the upstream ed25519 library never took care of signature signing in no_std env (didn't confirm).
It looks like ed25519 signing requires a source of random number. This issue mentioned rand is the blocking issue for no_std signing, and it's not trivial to fix because it's a deep dependency of ed25519-dalek. We should confirm the problem and file an issue in ed25519-dalek.
Let's close this so far. The Web end integration can be investigated later, but not too hard. Schnorrkel is already compiled to wasm and used by polkadot.js api now.
Substrate already provides full featured crypto libraries including ecdsa (secp256k1). No reason to import the additional libsecp256k1 now. Sr25519 is also the substrate default curve. So it's a good idea to stick to it.
Note that the signature of sr25519 has a different length than its of secp256k1. So we might need to adjust the signature field length accordingly. We don't do it until PoC-3 because it may introduce some serialization compatibility problems.
The text was updated successfully, but these errors were encountered: