Where are my config files? (Go and Cpp)

StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
When you start developing on Ethereum, one of the first things you'll start wondering about is where the clients store your keys and the blockchain.

Well , wonder no more!

OsX

=== C++ ===

AlethZero and Eth:
~/.ethereum (contains the chain)
~/.web3 (contains your keys)
~/Library/Preferences/com.ethereum.alethzero.plist (contains AZ preferences)
~/.ethash (contains the DAG)

Yes, by default both applications share the same blockchain and keys! (but you can change that by using the --db-path argument in Eth)

=== Go ===

Geth
~/Library/Ethereum (contains the chain)
~/Library/Ethereum/keystore (contains your keys)
~/.ethash (contains the DAG when mining)

I will not list Mist settings here as it's under alpha development and rapidly changing. Your mileage may vary.

If you are using the Go client, beware of deleting the chain folder, as /keystore is a subfolder and you would be deleting your keys, too!

Ubuntu

The below relates to installs compiled from source.

=== C++ ===

AlethZero
~/.ethereum/ (contains the blockchain state)
~/.web3 (contains your keys)
~/.config/ethereum/alethzero.conf (contains AZ preferences)

Eth
~/.ethereum/ (contains the blockchain state and keys, shares them with alethzero)
~/.web3 (contains your keys, shares them with alethzero)

For both Eth and AlethZero, the DAG is stored in ~/.ethash


=== Go ===

Geth:
~/.ethereum (contains the chain, as well as your keys are in the /keystore subfolder)
~/.ethash (contains the DAG when mining)

I will not list Mist settings here as it's under alpha development and rapidly changing. Your mileage may vary.

Windows

The below relates to installs compiled from source.

=== Go ===

\~\AppData\Roaming\Ethereum (contains the chain, as well as your keys are in the /keystore subfolder)
\~\AppData\Ethash (contains the DAG when mining)

Conflicts!

The bad news is, on Ubuntu, both the Go and the C++ client share the same folder for blockchain storage. This means if you'd like to run both on the same machine, you'll have to use either the --datadir argument for Geth or the --db-path on Eth. Mist and Alethzero are however as far as I know not configurable at boot and will therefore lead to clashes, to run both of these the use of VMs is recommended until this is resolved.


Update History
11/05/2015 - Initial release
14/05/2015 - updated for new key system in C++
16/05/2015 - updated again with new key location
20/05/2015 - updated again with new locations for OSX
21/05/2015 - updated with locations for Go Keystore on buntu + basic Windows info
23/05/2015 - corrected slight error re:key conflict - tx @acros
Post edited by StephanTual on

Comments

Sign In or Register to comment.