我发现从最新的主分支(git clone https://github.com/ethereum/go-ethereum.git)构建的geth使用了与Geth & Tools 1.8.27不同的新数据库版本(现在是最新的稳定可执行版本)。
应该做些什么来解决这个问题。
[root@localhost test]# geth --networkid 123456 --rpc --rpcport "8545" --rpccorsdomain "*" --datadir ./enode1/data --syncmode 'full' --port "2001" --rpcaddr "0.0.0.0" --rpcapi "admin,db,eth,miner,web3,net,personal,txpool"
INFO [05-28|10:50:12.097] Maximum peer count ETH=25 LES=0 total=25
INFO [05-28|10:50:12.189] Starting peer-to-peer node instance=Geth/v1.8.27-stable-4bcc0a37/linux-amd64/go1.11.9
INFO [05-28|10:50:12.189] Allocated cache and file handles database=/root/download/eth5/enode1/data/geth/chaindata cache=512 handles=2048
INFO [05-28|10:50:12.223] Initialised chain configuration config="{ChainID: 123456 Homestead: 1 DAO: <nil> DAOSupport: false EIP150: 2 EIP155: 3 EIP158: 3 Byzantium: 4 Constantinople: 5 ConstantinopleFix: <nil> Engine: clique}"
INFO [05-28|10:50:12.223] Initialising Ethereum protocol versions="[63 62]" network=123456
Fatal: Error starting protocol stack: database version is v6, Geth 1.8.27-stable only supports v3谢谢
发布于 2019-07-15 21:18:33
不可能从开发人员注释https://github.com/ethereum/go-ethereum/issues/19693中降级数据库的版本
每当我们做一个小版本的凸起(例如,从1.8.x到1.9.0),您可以预期不兼容的破坏更改,这将防止倒退。没有办法让旧版本知道新的数据格式。如果你想使用18.27,你只需要使用它。一旦你更新了,就不会再下去了。
如果要在更新到主版本1.9.xx之后使用稳定版本1.8.xx,则必须从头开始重新同步。
https://ethereum.stackexchange.com/questions/71172
复制相似问题