Skip to content

BIP39 support for ECDSA #43

@jasny

Description

@jasny

Support BIP39 for generating private keys. For ECDSA, BIP39 should be the only method available for seeding.

https://levelup.gitconnected.com/blockchain-series-how-metamask-creates-accounts-a8971b21a74b

The current keyPairFromSeed method should be removed. Create a new class Bip39ECDSA, specifically for seeding.

To test if the implementation is correct

  • Generate a new account using MetaMask (or another Ethereum wallet that uses BEP39)
  • Get the 12 (or 24) word seed
  • Use the seed to generate an ECDSA keypair using Seasalt
  • Convert the public key into an ethereum address. See docs.

    You get a public address for your account by taking the last 20 bytes of the Keccak-256 hash of the public key and adding 0x to the beginning.

  • The address should be the same address as shown in MetaMask

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions