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

Remove personal namespace from geth #25948

Closed
holiman opened this issue Oct 7, 2022 · 1 comment · Fixed by #26390
Closed

Remove personal namespace from geth #25948

holiman opened this issue Oct 7, 2022 · 1 comment · Fixed by #26390

Comments

@holiman
Copy link
Contributor

holiman commented Oct 7, 2022

Rationale

We have long been wanting to remove account management from geth. This proposal is a step towards that, by removing the personal namespace from geth.

With the upcoming 1.11 release, I think this would be a good time to do it.

UX affected

I think the most blatant PITA for users would be in scenarios where geth is used to sign clique blocks. However, it's a one-time effort to switch to use clef instead. Docs here: https://geth.ethereum.org/docs/clef/cliquesigning

Methods affected

Methods which have other alternatives

  • personal.listAccounts
    • personal.listAccounts is identical to eth.accounts
  • personal.deriveAccount
    • personal.deriveAccount is identical to clef_deriveAccount (not externally exposed)
  • personal.openWallet
    • personal.openWallet corresponds to clef_openWallet (not externally exposed)
  • personal.sign
    • personal.sign prefixes data with eip-191 string, and signs.
    • Has corresponding clef-method.
  • personal.listWallets
    • opposed to listAccounts, this method lists full details, e.g. usb path or keystore-file paths
    • corresponds to clef_listWallets (not externally exposed)
  • personal.ecRecover
    • returns the address for the account that was used to create the signature.
    • corresponds to EcRecover on clef extapi
  • personal.sendTransaction
    • SetDefaults
    • Sign
    • Submit
  • personal.signTransaction
    • Does not do SetDefaults, but requires all args set
    • Sign, return RLP
  • personal.newAccount
    • Exists in clef (not externally exposed)
    • also geth account new
  • personal.importRawKey
    • personal.importRawKey corresponds to clef_importRawKey (not externally exposed)
    • personal.importRawKey corresponds to geth account import

Methods that do not have other (direct) alternatives

  • personal.unpair
    • Unpair deletes a pairing between wallet and geth.
    • No corresponding method
  • personal.unlockAccount
    • replaced by rules in clef
  • personal.lockAccount
    • replaced by rules in clef
  • personal.initializeWallet
    • InitializeWallet initializes a new wallet at the provided URL, by generating and returning a new private key.
    • has no corresponding method
@qb2main
Copy link

qb2main commented Feb 18, 2024

!!! How to create new account using API. All methods ... (not externally exposed) how to create it using API, help pls

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

Successfully merging a pull request may close this issue.

3 participants