The format of JSON keystores created by the Go-Ethereum Geth executable are slightly different format than the JSON keys created on the MyEtherWallet website. Can anyone explain the differences? I have found that the Geth executable unlocks the MEW format much faster in an embedded/low resource environment. One of the things I noticed was the "n" value in kdfparams is much lower in MEW keys than GO-Ether Geth key format.


The format used for this wallets allows choosing different algorithms, commonly used are scrypt and PBKDF2.

Likely your wallet use scrypt, in that case "n" controls how much temporary memory will be used. A larger "n" means it will take longer to open your wallet, but it also means it will be more secure.

Usually programs choose "n" such that opening a wallet is not very noticeable to users. Geth being a compiled language can choose a large value for "n", but MEW being interpreted javascript has to choose a smaller value for "n".

| improve this answer | |
  • Yea I found posts about Scrypt parameters. I was having very slow unlock times on embedded devices, 10-15 minutes. So I edited the beginning of the account keystore_passphrase.go file. Lowered the N value and then recompile Geth. I am running the executable on embedded linux, OpenWrt. The RAM is only 64MB with 1GB swap. – GusGorman402 Dec 3 '17 at 5:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.