Thanks to @trungtin2qn1 I got it to continue syncing shard 0, 2 and 6 again!!!
If I understand correctly, when syncing, there are only certain blocks that need to be looked up with GETH? If it is not configured correctly or if the call fails, then we get the error:
-1007: Verify proof and parse receipt%!!(MISSING)(EXTRA []interface {}=[]) invalid character ‘i’ looking for beginning of value
Which falls through into things like
-1051: Instruction Hash Error
Expect instruction hash to be 711455acaa89a9f8d3baa2e586dfd29b8… but get 000000000000000000000000000… at block 909063
In my original setup, I am not sure what was set wrong, but after contacting support they told me to follow the official instructions and set GETHPORT to 80.
Turns out the setup instructions are wrong? Accessing infura.io with https on port 80 seems to be a bad idea. @trungtin2qn1 told me to go back to -e GETH_PORT=
, and with the latest release, it works just fine!
For anyone else troubleshooting. docker inspect inc_mainnet
is a good way to make sure that the “Env” variables have been set correctly and not containing any extra characters or incorrect strings.
Mine looks like this now.
"Env": [
"MININGKEY=12NJX93MjCm8Z1wrKDNPLsS3zLN8...",
"LIMIT_FEE=1",
"NODE_PORT=9400",
"RPC_PORT=8400",
"BOOTNODE_IP=mainnet-bootnode.incognito.org:9330",
"GETH_PROTOCOL=https",
"GETH_PORT=",
"FULLNODE=1",
"GETH_NAME=mainnet.infura.io/v3/26e7865275720d452...",
"TESTNET=false",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
@consensus:
May I, first of all, suggest better error handling when GetETHHeader
or GetMostRecentETHBlockHeight
fails. As it is right now, there is quite a stretch to understanding that the error on just a handful of blocks in the entire chain has anything to do with the infura setup.
You may also want to update this post if port 80 is wrong. As well as the source file on github.
I’ll let it all run now and see if it syncs up to latest block on all shards.