Go-Ethereum – Why Geth Switches to Full Node When Starting

fast-syncgo-ethereum

I start my geth with --syncmode "fast" but I get this warning:

WARN [01-21|14:47:59.148] Switch sync mode from fast sync to full sync 

And my geth will start with full sync mode with this warning. Any solution for this?

OS version: CentOS Linux 7

Full command:

$ go-ethereum/build/bin/geth --syncmode "fast" --rpc --rpcapi db,eth,net,web3 --cache=16384 --rpcport 8545 --rpcaddr 0.0.0.0

Best Answer

A fast sync will switch to a full sync mode as it reaches the chain tip, once enough of the state trie has been synced in fast mode.

Going forward from that time, it will sync in full mode and download and evaluate each block vs. pulling just the state trie changes as in fast mode.

Your node is quite close to the chain tip, and has likely passed the point for which it was aiming in its fast sync - it is expected behaviour.

Related Topic