Context
I'm using Ubuntu 14.04 LTS. I cloned the cpp-ethereum repo and built everything using the makefiles. Now (in the same path) I have a bunch of executable binaries in folders such as eth
, ethkey
, and ethminer
.
To quote the ethdocs: Creating a key is tantamount to creating an account. Therefore, I'll assume the following terms are all equivalent and I'll use them interchangeably: wallet, account, key, keyfile, keystore. (Please, correct me if I'm wrong.)
So I went ahead and created a so-called "account" using eth
:
./eth account new
This listed 3 things:
- A created key, starting with
ef9a8d59
- An ICAP, starting with
XE240BF3
- An address, starting with
00134f5f
Additionally, I had to create
- A password
Then I ran ./eth account list
and I saw my account's address. Sweet.
To quote the go-ethereum wiki: If you lose the password you use to encrypt your account, you will not be able to access that account. Repeat: It is NOT possible to access your account without a password and there is no forgot my password option here. Do not forget it.
So I assumed having these 4 data (especially the password) were equivalent to having total access to my account, and that they were all I'd ever need to access my Ether from anywhere (say, if I purged the disk did a fresh install of Ubuntu).
Problem
Fast-forward a few weeks, and today I'm trying to transfer my funds using eth
. However, my old account is no longer listed when I run ./eth account list
.
So I try running
eth account import <my_address>
but I get
✘ 03:07:08 PM.525|eth Invalid JSON in key file
Error: reading key file failed
Besides, I don't see any "keyfiles" lying around in the cpp-ethereum
path.
Questions
- How can I "add back" my account/wallet/address to
eth
? What data do I need? - How can I "add" my account/wallet/address to the Ethereum Wallet GUI application (using
eth
, if possible)? I only see options for "Create new account" and "Import pre-sale accounts". What data do I need? - Please ELI5 how wallets/accounts/keyfiles/keys/keystores work. Are these terms equivalent?
- What data allows one to have total access to one's account from anywhere, anytime? Eg. I see some wallet applications (such as the GUI one) generate "keyfiles" (actual files on one's computer that look like Python dicts / JSON), but there seems to be no universal/canonical representation of an Etherem wallet. Are those "keyfiles" the absolute master key to one's account?
- How can I take the funds in my account and convert them to bitcoin?