Make Portal state-interop hive tests pass for Fluffy
kdeme opened this issue · comments
The state-interop
test suite on hive fails for a lot of tests for Fluffy.
See also https://portal-hive-experimental.ethdevops.io/ (e.g. https://portal-hive-experimental.ethdevops.io/suite.html?suiteid=1717426303-49120e0e56335ef3ddcccf85635f70ad.json&suitename=state-interop).
Note that the production hive (https://portal-hive.ethdevops.io/) does not show these tests for Fluffy, as only clients that pass ~100% will be added there in the future.
I've ran them locally with only fluffy as client and they also fail:
...
INFO[06-03|20:43:58] simulation portal/state finished suites=2 tests=47 failed=29
29 tests failed
First step would be to get that working, can be ran by doing:
git clone https://github.com/ethereum/hive
cd ./hive
go build .
./hive --sim state --client fluffy
Thanks @kdeme . I'm looking into it.
@kdeme It looks like Fluffy is failing because it is trying to look up the block header in order to get the stateroot required for validation. The Hive state tests don't setup history network data so there is no way for Fluffy to get this data.
It turns out that Trin doesn't yet validate the offered state content against the state root so that is why the tests are passing for them.
I'm planning to update Fluffy to support disabling the state root validation for the hive tests.
This PR should fix all the broken hive portal state tests: #2333
I've also created a PR to update the Fluffy startup options in the Portal hive tests, see here: ethereum/hive#1118