fetchai / fetchd

Source code for Fetch.ai blockchain nodes
Other
96 stars 40 forks source link

Bug report: Fetchd node is not syncing without snapshot with Dorado Testnet #323

Open erNail opened 1 year ago

erNail commented 1 year ago

Prerequisites

Expected Behavior

I want to run a fetchd node with version 0.10.7 on Dorado Testnet. I am executing the following commands:

fetchd init my-first-fetch-node --chain-id dorado-1

# Downloading genesis-dorado-testing.json because of bug #285
curl https://storage.googleapis.com/fetch-ai-testnet-genesis/genesis-dorado-testing.json --output ~/.fetchd/config/genesis.json

fetchd start --p2p.seeds=eb9b9717975b49a57e62ea93aa4480e091ae0660@connect-dorado.fetch.ai:36556,46d2f86a255ece3daf244e2ca11d5be0f16cb633@connect-dorado.fetch.ai:36557,066fc564979b1f3173615f101b62448ac7e00eb1@connect-dorado.fetch.ai:36558

The genesis file is different from what the documentation mentions, as a workaround for bug #285.

After executing these commands, I expect the node to be syncing and to be showing logs like this at some point:

1:43PM INF minted coins from module account amount=5686072173522214069atestfet from=mint module=x/bank
1:43PM INF executed block height=7459287 module=state num_invalid_txs=0 num_valid_txs=0
1:43PM INF commit synced commit=436F6D6D697449447B5B37203133332032333820323434203635203938203830203139352031303220313435203135362031353420323220323239203134382033312034362031393420383820323034203439203137322039362034332031303120323133203132352034352031363920313535203837203230375D3A3731443144377D
1:43PM INF committed state app_hash=0785EEF4416250C366919C9A16E5941F2EC258CC31AC602B65D57D2DA99B57CF height=7459287 module=state num_txs=0
1:43PM INF indexed block height=7459287 module=txindex

Current Behavior

After running the command mentioned above, I am running into the following errors:

9:41AM ERR Error in validation err="wrong Block.Header.AppHash.  Expected 3D16786E814F718C3A359F4D2A5B6AD2D762393A59937B8EA267E684BF130F83, got 01BF3A3289F0AC78F950B8F6BE8F144AD33F4A74D0336D412778F5239B8BBCBD" module=blockchain
9:41AM ERR Stopping peer for error err="blockchainReactor validation error: wrong Block.Header.AppHash.  Expected 3D16786E814F718C3A359F4D2A5B6AD2D762393A59937B8EA267E684BF130F83, got 01BF3A3289F0AC78F950B8F6BE8F144AD33F4A74D0336D412778F5239B8BBCBD" module=p2p peer={"Data":{},"Logger":{}}

Interestingly, when using a Snapshot, everything works fine:

fetchd init my-first-fetch-node --chain-id dorado-1

# Downloading genesis-dorado-testing.json because of bug #285
curl https://storage.googleapis.com/fetch-ai-testnet-genesis/genesis-dorado-testing.json --output ~/.fetchd/config/genesis.json

# Downloading Dorado Snapshot
curl -v https://storage.googleapis.com/fetch-ai-testnet-snapshots/dorado-pruned.tgz -o- 2>headers.out | gunzip -c | tar -xvf - --directory=/root/.fetchd

fetchd start --p2p.seeds=eb9b9717975b49a57e62ea93aa4480e091ae0660@connect-dorado.fetch.ai:36556,46d2f86a255ece3daf244e2ca11d5be0f16cb633@connect-dorado.fetch.ai:36557,066fc564979b1f3173615f101b62448ac7e00eb1@connect-dorado.fetch.ai:36558

To Reproduce

  1. Make sure to have a completely clean state for fetchd. No config or anything else should exist.
  2. Execute the following commands:
fetchd init my-first-fetch-node --chain-id dorado-1

# Downloading genesis-dorado-testing.json because of bug #285
curl https://storage.googleapis.com/fetch-ai-testnet-genesis/genesis-dorado-testing.json --output ~/.fetchd/config/genesis.json

fetchd start --p2p.seeds=eb9b9717975b49a57e62ea93aa4480e091ae0660@connect-dorado.fetch.ai:36556,46d2f86a255ece3daf244e2ca11d5be0f16cb633@connect-dorado.fetch.ai:36557,066fc564979b1f3173615f101b62448ac7e00eb1@connect-dorado.fetch.ai:36558

Context

Using Docker Image fetchd:0.10.7 with overwritten entrypoint. All commands executed inside the container. Result should be the same without Docker.

Failure Logs

See above.