Skip to content
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

Implement Clique PoA consensus engine #474

Closed
jangko opened this issue Mar 4, 2020 · 7 comments
Closed

Implement Clique PoA consensus engine #474

jangko opened this issue Mar 4, 2020 · 7 comments
Labels
high priority Hive Sync Prevents or affects sync with Ethereum network

Comments

@jangko
Copy link
Contributor

jangko commented Mar 4, 2020

Kovan, Rinkeby and Goerli are using this engine

@jangko jangko added the Hive label May 11, 2021
@jangko
Copy link
Contributor Author

jangko commented May 11, 2021

we have to push this forward.
after examine the hive/rpc category, some of the test cases depend on PoA to quickly mine a random(?) block.

the way hive/rpc test cases constructed makes this feature become more important.
each of hive/rpc test cases are not consist of single rpc call, but a series of rpc calls.

because of this dynamic/algorithmic test nature, we need Clique implementatation even if not complete, it should able to mine a block. and then we can use it to test other part of rpc.

see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-225.md

@jlokier jlokier added the Sync Prevents or affects sync with Ethereum network label May 11, 2021
@jlokier
Copy link
Contributor

jlokier commented May 27, 2021

It seems there are really two problems: Validating PoA, and mining PoA. It is certainly possible to do the former without the latter, the same way we validate PoW without mining PoW currently. Does hive/rpc use both of them?

@jangko
Copy link
Contributor Author

jangko commented May 27, 2021

yes, hive/rpc require both of them

@jlokier
Copy link
Contributor

jlokier commented Jun 14, 2021

Is the mining PoA functionality only used for passing Hive tests, and is the code for mining large or is it trivial?

As we discussed last week, there is no need to pass Hive tests for functionality that Nimbus Eth1 doesn't intend to provide to end users - i.e. mining. For these it's better to say "we decided these Hive tests are not applicable to Nimbus Eth1". And actually it's not really useful to write large amounts of code just to pass tests for functionality that will never be used.

We do need block construction for the eth2 merge. But that doesn't use any Clique/PoA logic.

@jangko
Copy link
Contributor Author

jangko commented Jul 26, 2021

@mjfh, what is the status of this issue, can we close it and start using clique-code in RPC?

@mjfh
Copy link
Contributor

mjfh commented Jul 26, 2021

Mostly done.

Did some statistics, fixed/tuned some unnecessary time consuming actions, and polished the API.

Should be open for review later this afternoon.

@jangko
Copy link
Contributor Author

jangko commented Oct 5, 2021

fixed by #815

@jangko jangko closed this as completed Oct 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high priority Hive Sync Prevents or affects sync with Ethereum network
Projects
None yet
Development

No branches or pull requests

3 participants