wavesplatform / WavesGUI

Waves Client
https://client.wavesplatform.com/
MIT License
402 stars 253 forks source link

Support ED25519 seeding #648

Open jasny opened 6 years ago

jasny commented 6 years ago

Waves platform uses a custom way of seeding a key pair.

There is a standard way of seeding ED25519 keys implemented in NaCl compatible libraries (including tweetnacl.js, pynacl and libsodium). The ED25519 can be converted to Curve25519 / X25519 keys. Some libraries (like libsodium) even support generating Curve25519 directly.

Using these (converted) keys work for Waves transactions :tada:. Unfortunately, it's impossible to import them in the WavesGUI, since they can't be generated from seed using the Waves algorithm :disappointed:.

Supporting to seed via ED25519 using the NaCL standard means inoperability with platforms that use ED25519 (like our project @legalthings).

xenohunter commented 6 years ago

Hello! Thanks for the proposal, we'll consider it and most probably will implement along with that issue: https://github.com/wavesplatform/WavesGUI/issues/57. Maybe I don't fully understand the matter but could that be the same thing you are writing about?

jasny commented 6 years ago

It's a different issue. It is similar as described here in using ED25519 keys to generate Curve25519: https://github.com/wavesplatform/nanos-app-waves/blob/master/README.md#original-description-of-burst-wallet

xenohunter commented 6 years ago

Thanks! We'll use it as a reference.