Keystore
For all the different setup methods below except the last, copy the contents from your keystore directory under your hard-forked chain data directory to your Classic chain data directory. Your accounts from the hard-forked chain should then show up in your Ethereum Classic chain.
Geth Executable For A "Temporary" Installation
In Linux and OS/X, geth
is packaged with the Ethereum Wallet under the Ethereum Wallet install directory in the subdirectory resources/node/geth/geth
.
In Linux I use a soft link as shown below so that I can run geth
just by typing geth
:
ln -s /home/user/Ethereum-Wallet-linux64-0.8.1/resources/node/geth/geth /home/user/bin/geth
In Windows, the geth.exe
executable is resources\node\geth\geth.exe
. So to start geth.exe
you will have to execute:
C:\Ethereum\Ethereum-Wallet-win64-0-8-2\resources\node\geth\geth.exe [parameters]
Different Computer Or Different User On Same Computer
The easiest way to sync to the Classic chain is to run the Ethereum Wallet and/or geth
on a different computer from your hard-forked chain, or as a different user on your same computer. Your chain data will then be kept separated.
As @usukan on thedao.slack.com/messages/withdraw_support reminded me, if you use a different computer or a different user on the same computer, you can just fire up the Ethereum Wallet and it will ask you which chain you would like to sync to. As you are on a different computer or a different user's directory structure, you will not clobber your hard-forked chain data.
Running geth
With A Different Directory
If you want to sync geth
to the Classic chain in a different chain directory, just specify the following parameters:
geth --oppose-dao-fork --datadir ~/classicchain --fast console
After the initial sync, you don't have to specify the --fast
or the --oppose-dao-fork
parameter. To confirm you are on the Classic chain, you should see the following message when you start geth
:
I0830 18:53:42.598087 cmd/utils/flags.go:843] Geth is currently configured to OPPOSE the DAO hard-fork!
Running Ethereum Wallet With geth
Running With A Different Directory
The important factor here is that Ethereum Wallet communicates with geth
using an IPC (interprocess communications) file.
Linux
On Linux, you can run geth
with a different chain directory but you have to specify the default location for the geth.ipc
file.
geth --oppose-dao-fork --datadir ~/classicchain --fast --ipcpath ~/.ethereum/geth.ipc console
Start the Ethereum Wallet. It will then communicate with geth
over the IPC file. Confirm this by running ps -ef | grep geth
and you should only see once instance of geth
running.
OS/X
Same as for Linux, except that the location for geth.ipc
is in ~/Library/Ethereum
Windows
The Ethereum Wallet communicates with geth
on Windows using a standard path so you do not have to specify a path for your IPC file.
Start geth.exe
with the following parameters:
geth --oppose-dao-fork --datadir C:\ClassicChain --fast console
Then start the Ethereum Wallet.
Renaming Your chaindata
subdirectory
In Linux, if you are running your node on the hard-forked chain, to switch your node to the Classic chain:
user@Kumquat:~$ cd .ethereum
# Running hard-forked chain, syncing to Classic chain the first time
user@Kumquat:~/.ethereum$ mv chaindata chaindata_hardforked
user@Kumquat:~/.ethereum$ geth --oppose-dao-fork --fast console
# Switch back to the hard-forked chain
user@Kumquat:~/.ethereum$ mv chaindata chaindata_classic
user@Kumquat:~/.ethereum$ mv chaindata_hardforked chaindata
user@Kumquat:~/.ethereum$ geth console
# Switch to the Classic chain
user@Kumquat:~/.ethereum$ mv chaindata chaindata_hardforked
user@Kumquat:~/.ethereum$ mv chaindata_classic chaindata
user@Kumquat:~/.ethereum$ geth console
In OS/X, you can use the instructions above but the location for the Ethereum chaindata subdirectory is in ~/Library/Ethereum