stars-labs / heco-chain

HECO-Chain client based on the go-ethereum fork
GNU Lesser General Public License v3.0
249 stars 141 forks source link

./geth_heco_v1_2_2 --config "config.toml" #58

Closed xian9yu closed 2 years ago

xian9yu commented 2 years ago

Fatal: Failed to register the Ethereum service: unsupported fork ordering: sophonBlock not enabled, but arrowGlacierBlock enabled at 0

这是怎么回事, release里直接下载的 v1.2.2

Nanyan commented 2 years ago

Are you running a private chain? If so, you should enabled sophon hardfork in your genesis.json before enabling arrowGlacier hardfork. Such as:


{
  "config": {
    "chainId": 6660001,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "muirGlacierBlock": 0,
    "redCoastBlock": 3,
    "sophonBlock": 1000,
    "congress": {
      "period": 3,
      "epoch": 100
    }
......
  }
Nanyan commented 2 years ago

Or you should delete arrowGlacierBlock in your genesis.json for the first run of your chain.

xian9yu commented 2 years ago

Or you should delete arrowGlacierBlock in your genesis.json for the first run of your chain.

"config": {
    "chainId": 12300,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "londonBlock": 0,
    "berlinBlock": 0,
    "muirGlacierBlock": 0,
    "redCoastBlock": 0,
    "sophonBlock": 0,
    "congress": {
      "period": 3,
      "epoch": 200
    }
  }

还是不得行, 提示Fatal: Failed to register the Ethereum service: unsupported fork ordering: sophonBlock not enabled, but arrowGlacierBlock enabled at 0

xian9yu commented 2 years ago

Or you should delete arrowGlacierBlock in your genesis.json for the first run of your chain.

老哥, 私链的验证者挂了就会停止出块, 这种情况该怎么避免呢

zzyalbert commented 2 years ago

The latest v1.2.2 has been updated.

Please update the binary and hard forks config like the following. I think your issue may be resolved.

"config": {
    "chainId": 12300,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "londonBlock": 0,
    "berlinBlock": 0,
    "muirGlacierBlock": 0,
    "redCoastBlock": 2,
    "sophonBlock": 3,
    "congress": {
      "period": 3,
      "epoch": 200
    }
  }

We really appreciate your report to this issue and sorry for the inconvenience.

xian9yu commented 2 years ago

The latest v1.2.2 has been updated.

Please update the binary and hard forks config like the following. I think your issue may be resolved.

"config": {
    "chainId": 12300,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "londonBlock": 0,
    "berlinBlock": 0,
    "muirGlacierBlock": 0,
    "redCoastBlock": 2,
    "sophonBlock": 3,
    "congress": {
      "period": 3,
      "epoch": 200
    }
  }

We really appreciate your report to this issue and sorry for the inconvenience.

修改genesis.json之前的链就不能重新用了, 怎么直接加分叉配置的呢

Nanyan commented 2 years ago

the config content in the genesis.json file can be changed as long as the new config is compatible with the old config.

Nanyan commented 2 years ago

This is fixed on new released v1.2.2