Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip: introduce py-hdwallet #96

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

wolovim
Copy link
Member

@wolovim wolovim commented Apr 7, 2020

What does it do?

Introduces py-hdwallet for child key derivation.

(WIP: seeking feedback on items below)

Background

  • My understanding of the plan is for py-hdwallet to eventually provide all BIP32-related functionality within eth-account. This introduction of the library only goes as far as replicating existing functionality recently introduced by @fubuloubu.
  • Mnemonics are currently outside of the scope of py-hdwallet, so @fubuloubu's recent mnemonic work would go untouched.

TODO:

  • put all testing in its right place, e.g., remove or alter relevant tests in eth-account; some tests are better suited for py-hdwallet.
  • agree on hardening representation (e.g., ', h, H, etc.)
    • py-hdwallet only supports h
    • the eth-account implementation had support for ' and H

Cute Animal Picture

put a cute animal picture link inside the parentheses

@fubuloubu
Copy link
Contributor

The ' is the standard representation IIRC. It should be supported prior to either of the other ones. Understanding it's not exactly the most legible in code, but a simple replace would solve that.

@fubuloubu
Copy link
Contributor

Also, a nice thing that should be introduced at some point is an alternative account type that can continuously derive new accounts using hdwallet, and encrypts/decrypts the master key instead of the account key. This would come in handy primarily for testing use (deriving multiple test accounts from a seed), but would set the stage for hardware wallet integration (which uses hd paths to obtain the account from master public key).

@@ -56,6 +56,7 @@
"eth-rlp>=0.1.2,<1",
"eth-utils>=1.3.0,<2",
"hexbytes>=0.1.0,<1",
"py-hdwallet>=0.1.0a1",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, we'd typically want to at least put py-hdwallet into beta before releasing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants