1

I'm doing some research about crypto wallets and their methods to restore crypto addresses from seeds. I'm actually interested in Solana and I figured out that Phantom wallet and Exodus wallets restores public keys differently. Phantom uses BIP44 to restore keys and it's pretty common, so I could write some Python code that helps me with that.

from bip_utils import (Bip39SeedGenerator, Bip44, Bip44Changes, Bip44Coins)
mnemonic = "my mnemonic"
seed_bytes = Bip39SeedGenerator(mnemonic).Generate("")
bip44_mst_ctx = Bip44.FromSeed(seed_bytes, Bip44Coins.SOLANA)
bip44_acc_ctx = bip44_mst_ctx.Purpose().Coin().Account(0)
bip44_chg_ctx = bip44_acc_ctx.Change(Bip44Changes.CHAIN_EXT)
address = bip44_chg_ctx.PublicKey().ToAddress()
print(address)

But it completely different from address that my Exodus has. I find out that Exodus is not BIP44 wallet, so key derivation is a bit different. I've tried some methods to get a wonder result, but nothing helps me. Does anyone know how to restore a public/private key from mnemonic phrase in Exodus. I would be glad to hear at least the directions in which I need to look. If you can attach some Python code it would be wonderful.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.