-
Notifications
You must be signed in to change notification settings - Fork 790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
block: Add fix for kovan nonce #1334
Conversation
Codecov Report
Flags with carried forward coverage won't be shown. Click here to find out more. |
Nice, thanks for opening this PR. It looks like all blocks (not just genesis) have this 65-byte length nonce so it may make sense to check if common is on chain |
ed8bf7d
to
67574e2
Compare
Cool, I've updated to check for networkId instead of my previous hack. It still starts up but looks like none of the bootnodes we have in the genesis config are accepting incoming connections so I'm not able to get any blocks. But, I think it's probably worth merging this if everyone is okay with it so if someone else is running a kovan node and wants to test with us, they have access to it. |
ab47cc5
to
3b9a8a7
Compare
@ryanio I've fixed the typo and looks like everything is passing now. Anything else you'd add at this point? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
I am not sure if I am a fan of this change. Some background: Kovan uses the Aura (this is generally not so well documented or specified) PoA protocol developed by Parity Technologies and others. This is not compatible with the PoA protocol from geth (Clique). We currently just don't support Aura, neither in If we now start to hotfix things for Kovan we just start tricking people into thinking that Kovan is supported (we should rather state more clearly that it is not in the documentation) while this is just not supported and will likely break on various occasions when Kovan specific mechanisms are triggered. If we would want to support that would be a major dedicated effort, just some context for Andrew: we implemented Clique earlier this year and this was 3-4 weeks of work for 1-2 people working on the implementation. For Kovan we very likely not want to do this, the network is not very heavily used and will likely get either obsolete or at least very much less relevant after the PoS merge. So: also no super strong opinion on this change here. From my side we can also leave but it might also make sense to just revert. |
The Kovan block nonce is a hex string of 65 0s and our
block
package expects a nonce of 8 bytes in length so trying to sync Kovan with theclient
results in an error.Adds hack to
_validateHeaderData
for Kovan genesis nonce so that client can try to start syncing Kovan testnet.What does the team think? Do we need to support Kovan in the client?