(1) What's the geth default blockchain sync type when installing via command line tools? Full?
Just tested with geth 1.5.6, the default is full
.
(2) Do my settings for geth automatically transfer over to Mist -- and visa versa? (e.g., if I'm running geth --fast
will Mist also refer to the same size blockchain?)
Yes, mist uses (in most cases) geth as Ethereum node, so if you run geth --fast
, mist will work in fast mode. However, if you stop a geth --fast
node, and restart it, it will resume in full
mode as far as I remember. This means, after shutting down geth, and starting mist, it will start a full node. But that terminology is misleading in some cases, and you should probably read on here:
(3) Is it possible to run Mist in "light" mode? I saw from this answer that Mist can be in "full" or "fast" sync but didn't see "light". I tried it, and it looks like I'm not getting any errors yet, but curious if there are known issues.
Light client was just very recently released and you should expect hiccups. The same goes for mist if you use a geth node in light
mode. As if Ethereum Stack Exchange isn't awesome already, check out this post:
(4) Is it possible to have multiple copies of the blockchain on my computer? For example, if I first set up geth using geth -full
and then I run geth -light
, will the light version overwrite the full version or will I need additional space to sync light?
Yes, that is possible. Running a full node, i.e.,
$ geth #full node (default),
creates a full copy of the blockchain in ~/.ethereum/geth/chaindata/
.
Running a light node, i.e.,
$ geth --light #,
creates a directory for the state in ~/.ethereum/geth/lightchaindata/
. To run both clients at the same time, you need some additional adjustments such as IPC path, ports, etc.
However, if you want to run a --fast
sync, this only works on the first run of geth
. If you already synced the full chain, you will get a message like this if you run geth in fast mode:
I0112 21:09:00.024747 eth/handler.go:119] blockchain not empty, fast sync disabled
If you insist on keeping a full and a fast copy of the blockchain on the same device, you can use the --datadir
switch.
Best Answer
As per geth help document there are 3 ways you can do sync to network:
--syncmode full: Geth client will download Block header + Block data + full Validation [Is called eth full node]
--syncmode fast: Geth client will download Block header + Block data + validate for last 1k transactions.
--syncmode light: Geth client will download Current state + Asks nodes for as its need. [Light node [It will request missing blocks from full nodes]
You can change syncmode my specifying --syncmode along with command prompt. fast is good. But if you dont have time and space try to use light.