-
Notifications
You must be signed in to change notification settings - Fork 21.5k
Closed
Labels
Description
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.listAccountspersonal.listAccountsis identical toeth.accounts
personal.deriveAccountpersonal.deriveAccountis identical toclef_deriveAccount(not externally exposed)
personal.openWalletpersonal.openWalletcorresponds toclef_openWallet(not externally exposed)
personal.signpersonal.signprefixes 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
EcRecoveron 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.importRawKeypersonal.importRawKeycorresponds toclef_importRawKey(not externally exposed)personal.importRawKeycorresponds togeth 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
lightclient, fjl and tnken