Why are the addresses of the same mnemonic different in different wallets?

After the same mnemonic phrase is imported into Stoicwallet wallet and PLUG wallet, why are the addresses and Principal IDs corresponding to the two wallets different?

Has no one noticed this problem?

Yes, I notice the same behavior. Not sure if it is necessarily a problem, but yes, I can see that it would be nice if they were the same.

Stoic wallet uses an Ed25519 key constructed by @dfinity/identity - npm. Maybe Plug uses an ECDSA key or does something else differently, I couldn’t find it quickly in their code.

It would be nice to have this documented so that people can write recovery tools that work for all wallets.

2 Likes

Plug uses Sec256kp1

with derivation path: plug-controller/constants.ts at main · Psychedelic/plug-controller · GitHub

2 Likes

This is really a surprise for me.
I implemented a mobile wallet and used Secp256K1 KeyPair
https://forum.dfinity.org/t/difiwallet-mobile-wallet/10406
And this is a problem that I need to fix, or add a second provider, or specify two addresses. Users will not see their assets and will consider them lost

You can also make requests to two addresses and display them in the interface.

Damn, I was against seed from the very beginning. It is better to use simple cryptography without add-ons.