Noob. Sorry :-(

I have a keystore file that I'm confident represents an account I'd like to retain/use. It's unclear how I can recreate (or reinstantiate) this account within a fresh Ethereum (node) deployment.

I'd like to reuse this because I used it with the Rinkeby faucet to request some Ether.

I thought I should be able to use 'geth account import' but:

Fatal: Failed to load the private key: encoding/hex: invalid byte: U+007B '{'

The account begins : 3df6... and I have the password ;-)

The keystore file is JSON:

{
  "address": "3df6...",
  "crypto": {
    "cipher": "aes-128-ctr",
    "ciphertext": "...",
    "cipherparams": {
      "iv": "..."
    },
    "kdf": "scrypt",
    "kdfparams": {
      "dklen": 32,
      "n": 262144,
      "p": 1,
      "r": 8,
      "salt": "..."
    },
    "mac": "..."
  },
  "id": "..",
  "version": 3
}

I would appreciate guidance on how I may recreate it. I assume success would be, from within the console being able to see this account enumerate by personal.

Or am I missing something(s)?

OK, progress:

docker run \
--rm \
--interactive \
--net=host \
--tty \
--volume=$PWD/data-dir:/root \
--volume=$PWD/backups/.rinkeby/keystore:/keystore \
ethereum/client-go \
  --datadir=/root/.rinkeby \
  --keystore=/keystore \
  account list
INFO [05-22|21:38:35] Maximum peer count                       ETH=25 LES=0 total=25
Account #0: {3df6...} keystore:///keystore/TC--2018-00-00T00-00-00.000000000Z--3df6...

That's the account and it appears to be legitimate so, my new question is how do I import this so that I may use it when attaching this console to my node?

up vote 1 down vote accepted

geth account import is for raw private keys. To use a wallet file, simply copy it into your keystone directory and it should appear with geth account list

  • Your suggestion was successful in my 'progress' update above accessing the account through a single, local node. I'll copy the file onto my remote node as you suggest. Thank you! – DazWilkin May 23 at 14:59
  • It worked! Thank you. Though I've encountered another issue where, if I represent the wallet (which I assume can/ought be treated as read-only) as a Kubernetes (!) volume mount of a Secret or ConfigMap (best practice), the node does not appear to detect the wallet which--I believe--is indicated by the presence|absence of the log entry Etherbase automatically configured. If instead of a Secret or ConfigMap, I use a regular disk and volume mount this, everything works :-( – DazWilkin May 23 at 23:23
  • If you post this as a separate question, someone who knows more about kubernetes might be able to help – Tjaden Hess May 24 at 19:14
  • I think there's a bug in geth and I created a workaround: github.com/ethereum/go-ethereum/issues/16793 – DazWilkin May 25 at 19:21

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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