I have this project on ropsten testnt that don't want to keep developing but keep on running. Since they took solc out of Geth on v1.6, I get the error method eth_compilesolidity does not exist. Is there an easy way around it? If I downgrade Geth to v1.5 would my project work without the need to change anything and will I need to delete the testnet blockchain I already have? Also what is the correct way to downgrade geth to v1.5 on linux?

1 Answer 1


Your project should be fine when you'll downgrade the binary to 1.5.9. Although, I'd recommend taking a backup before.

You can get the source code of 1.5.9 from Release page of the go-ethereum project https://github.com/ethereum/go-ethereum/releases/tag/v1.5.9 and build in for your system.


I synchronized full Ropsten blockchain on 1.6.1 and downgraded binary to 1.5.9 built from source. After that, I've started the client. The client is working.

ubuntu@test1:~$ geth --testnet
I0528 18:39:48.909724 node/config.go:445] Failed to start Ledger hub, disabling: libusb: unknown error [code -99]
I0528 18:39:48.909814 cmd/utils/flags.go:613] WARNING: No etherbase set and no accounts found as default
I0528 18:39:48.909841 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /home/ubuntu/.ethereum/testnet/geth/chaindata
I0528 18:40:47.701190 ethdb/database.go:176] closed db:/home/ubuntu/.ethereum/testnet/geth/chaindata
I0528 18:40:47.702531 node/node.go:176] instance: Geth/v1.5.9-stable/linux/go1.6.3
I0528 18:40:47.702595 ethdb/database.go:83] Allotted 128MB cache and 1024 file handles to /home/ubuntu/.ethereum/testnet/geth/chaindata
I0528 18:40:47.791896 core/genesis.go:95] Genesis block already in chain. Writing canonical number
I0528 18:40:47.793168 eth/backend.go:276] Successfully wrote custom genesis block: 41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d
I0528 18:40:47.794628 eth/backend.go:187] Protocol Versions: [63 62], Network Id: 3
I0528 18:40:47.798475 eth/backend.go:215] Chain config: {ChainID: 3 Homestead: 0 DAO: <nil> DAOSupport: true EIP150: 0 EIP155: 10 EIP158: 10}
I0528 18:40:47.807987 core/blockchain.go:219] Last header: #1121267 [37787a3c…] TD=205694086442412
I0528 18:40:47.808046 core/blockchain.go:220] Last block: #1121267 [37787a3c…] TD=205694086442412
I0528 18:40:47.808059 core/blockchain.go:221] Fast block: #1121267 [37787a3c…] TD=205694086442412
I0528 18:40:47.832924 p2p/server.go:340] Starting Server
I0528 18:40:50.195813 p2p/discover/udp.go:227] Listening, enode://1943e86b5ef0b79104fe150c40c8492b9b362d560af30964a34a4fe9f75451ec051c23b97f37ea2cb6ed7ccf450e0baf8c656292abe3caddf3134564cd6a1e58@[::]:30303
I0528 18:40:50.196804 p2p/server.go:608] Listening on [::]:30303
I0528 18:40:50.197068 node/node.go:341] IPC endpoint opened: /home/ubuntu/.ethereum/testnet/geth.ipc
I0528 18:41:09.981681 eth/downloader/downloader.go:326] Block synchronisation started
I0528 18:41:10.171278 eth/downloader/downloader.go:723] Peer 96fa95f526f5839e [hs 0.00/s, bs 0.00/s, rs 0.00/s, ss 0.00/s, miss    0, rtt 20s]: potential rewrite attack: #1031267 [00000000…] <= #1031267 limit
I0528 18:42:02.066483 eth/downloader/downloader.go:723] Peer bb8f92cc0157584f [hs 0.00/s, bs 0.00/s, rs 0.00/s, ss 0.00/s, miss    0, rtt 20s]: potential rewrite attack: #1031267 [00000000…] <= #1031267 limit
  • does this require deleting the blockchain and re-synchronizing it afterwards?
    – PetrosM
    Commented May 28, 2017 at 17:20
  • @PetrosM I'll synchronize ropsten, downgrade binary, and start it with downgraded binary, and will let you know Commented May 28, 2017 at 17:38
  • you don't need to re-synchronize. just keep your datadir/do not overwrite it.
    – n1cK
    Commented May 28, 2017 at 17:39
  • @PetrosM I've made the test with downgrading and updated my answer with the result. There is no need to re-syncronize. You can mark the post as solved. Commented May 28, 2017 at 18:45
  • 1
    yes, i thought it would execute it automatically. This worked thank you very much!
    – PetrosM
    Commented May 30, 2017 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.