2

I normally run the Ethereum Wallet and geth on the hard-forked chain. For The DAO ETC withdrawal, I would also like to sync with the Ethereum Classic chain.

How do I sync the Ethereum Wallet and/or geth to the Ethereum Classic chain without affecting my hard-forked Ethereum chain?

2

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

0

You can now download Ethereum Classic's official geth tool from here and it will store the Classic chain in a separate folder.

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.