helios: thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: could not fetch bootstrap
If this PR https://github.com/a16z/helios/pull/253/files, as at commit f4a7d4c66a770f437c79a0842d9b387544fce5de, if i run the following to build a Docker container using Ubuntu 23.04
./docker/docker.sh
and then after that script enters me into the container i run
cargo run -p helios --example client
it outputs the following:
Finished dev [unoptimized + debuginfo] target(s) in 0.65s
Running `target/debug/examples/client`
Constructed client!
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: could not fetch bootstrap
Location:
/opt/consensus/src/consensus.rs:304:26', /opt/consensus/src/consensus.rs:80:32
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
i’m using version nightly-2023-07-31
in the Docker container, because the latest master branch uses that version in the rust-toolchain file
About this issue
- Original URL
- State: closed
- Created 10 months ago
- Comments: 17 (11 by maintainers)
Hmm when I try to run it with these settings outside of docker by doing
cargo run -- -n goerli -c http://testing.prater.beacon-api.nimbus.team -e https://ethereum-goerli-rpc.allthatnode.com --checkpoint 0x7beab8f82587b1e9f2079beddebde49c2ed5c0da4ce86ea22de6a6b2dc7aa86b
it seems to sync correctly. Is it possible your docker environment is causing issues?Yes so the checkpoint is a beaconchain blockhash, rather than a execution block hash. This checkpoint is way to old (nearly a year). Normally, when it fails the fallback would kick in and automatically fetch a better one, but due to the refactors I mentioned that feature is currently not working.
To find a better checkpoint, you can go to https://prater.beaconcha.in/ and get the blockhash for the first block in any epoch. For example, the first blockhash in epoch 197110 is
0x7beab8f82587b1e9f2079beddebde49c2ed5c0da4ce86ea22de6a6b2dc7aa86b
which should work.In your example, you are using lightclientdata.org, which serves ethereum mainnet data, but you are using the goerli configs and a goerli execution rpc.
Also note that we are working on a couple of PRs to clean a few things up, so the current state of master will be in a bit of a weird spot for the next few days.