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 #34

Closed
tkstanczak opened this issue Aug 2, 2018 · 32 comments
Closed

Implement Clique #34

tkstanczak opened this issue Aug 2, 2018 · 32 comments
Labels
bounty Gitcoin bounty help wanted

Comments

@tkstanczak
Copy link
Member

tkstanczak commented Aug 2, 2018

As you can see below - Gitcoin bounty has been funded for this issue (kudos to Gitcoin team).
Below you will find more information on what is expected:

Clique spec is available here:
ethereum/EIPs#225

Best place to seek help from the team is Gitter:
https://gitter.im/nethermindeth/nethermind

  1. Write ISealEngine implementation representing Clique block sealing.
  2. Write IBlockValidator / IBlockHeaderValidator to validate properly repurposed fields in BlockHeader
  3. Make necessary changes to IChainSpecLoader to allow different seal engine to be loaded and change the Runner behaviour so the Clique seal engine and validators are loaded if chainspec declares them.
  4. Create unit tests for ISealEngine implementation, unit tests for the new IBlockValidator / IBlockHeaderValidator.
  5. Launch Nethermind and sync with Rinkeby test network (by providing a Rinkeby chainID).
  6. Launch 4 nodes using RunnerSpawner to test a Clique based private network behaviour and proof that the ndoes can publish and validate nodes.
  7. An implementation that is capable of (5) and (6) will be accepted. Core Nethermind team will be glad to provide all the help needed and introduce changes required to make code more consistent with the whole Nethermind codebase.
@karalabe
Copy link

karalabe commented Aug 6, 2018

Yes, Clique is production ready in Geth. Rinkeby was launched 480 days ago and it uses Clique. The code received almost no modifications since and has been working very nicely for us.

@tkstanczak
Copy link
Member Author

ethereum/EIPs#225
https://gist.github.com/cryptogoth/10a98e8078cfd69f7ca892ddbdcf26bc

We assume that Clique is implemented in Nethermind (and PR accepted) if Nethermind can fully synchronize with Rinkeby network when using Rinkeby chainspec and pointing at Rinkeby bootnodes.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 400.0 DAI (400.0 USD @ $1.0/DAI) attached to it.

@tkstanczak tkstanczak added bounty Gitcoin bounty help wanted and removed help wanted labels Sep 21, 2018
@ChrisCates
Copy link

Interested, will take a look at the source later today.
Will get back to you with questions tonight.

@spm32
Copy link

spm32 commented Sep 25, 2018

Sounds good @ChrisCates keep us updated :)

@gitcoinbot
Copy link

gitcoinbot commented Sep 26, 2018

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 2 months, 2 weeks ago.
Please review their action plans below:

1) destiner has been approved to start work.

  • Look up PoA specifics
  • Look at Geth implementation
  • Implement Clique PoA
  • Make unit tests
  • Test with Rinkeby
  • Test with local network

Learn more on the Gitcoin Issue Details page.

@Destiner
Copy link
Contributor

Hi there. Want to dive into PoA, would love to work on this one :)

@spm32
Copy link

spm32 commented Sep 26, 2018

Hey @Destiner great to hear, @ChrisCates were you still interested in following up on this issue? Want to give you a chance as you were the first one on it.

@ChrisCates
Copy link

@ceresstation, I don't want to hold up the project. A few things have came up on my end.
Since it is not the competition bounty type.

It's probably in your best interest to continue with @Destiner!

Thanks for being patient!

@Destiner
Copy link
Contributor

Quick update.

I ran through Clique specs and implementation in go-ethereum, now working on setting up a dev environment.

@tkstanczak
Copy link
Member Author

cool - join us on Gitter - you can always ask questions and get help with setting up dev

@tkstanczak tkstanczak added this to the Beta Release milestone Oct 2, 2018
@Destiner
Copy link
Contributor

Destiner commented Oct 2, 2018

I think I managed to build it, but can't run the node. Will try again and join gitter.

@Destiner
Copy link
Contributor

Destiner commented Oct 5, 2018

I managed to write most of the code for validation and sealing. I'll try to get last touches on code (dealing with private keys as we discussed in gitter, etc), update ChainSpec, configs, etc to connect Clique with other parts of code, test internally and then hopefully make a few commits.

@gitcoinbot
Copy link

gitcoinbot commented Oct 9, 2018

@Destiner Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@gitcoinbot
Copy link

@Destiner Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@Destiner
Copy link
Contributor

Working on Header Validator, try to submit a PR in a few days.

@Destiner
Copy link
Contributor

Validation is done and working!

Will fix a few things, work on IDBProvider.GetOrCreate, wait until merge with spaceneth & then send PR.

@gitcoinbot
Copy link

@Destiner Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

1 similar comment
@gitcoinbot
Copy link

@Destiner Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@Destiner
Copy link
Contributor

@gitcoinbot yeah! Waiting for PR to be reviewed, and working on another PR.

@Destiner
Copy link
Contributor

Added some unit tests and also made refactoring.

Planning to add more tests in a day or two.

@gitcoinbot
Copy link

@Destiner Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@Destiner
Copy link
Contributor

Yep, working on it.

@gitcoinbot
Copy link

@Destiner Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

1 similar comment
@gitcoinbot
Copy link

@Destiner Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@Destiner
Copy link
Contributor

Destiner commented Nov 3, 2018

Yep, working. Catched a bug in validation algo, will take time to fix it.

@spm32
Copy link

spm32 commented Nov 5, 2018

Thanks for the update @Destiner!

@spm32
Copy link

spm32 commented Nov 21, 2018

Hey @Destiner are you able to submit a WIP PR via Gitcoin? Thanks!

@tkstanczak
Copy link
Member Author

Hi @gitcoinbot this can be marked as done and the reward can be paid out

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 400.0 DAI (400.0 USD @ $1.0/DAI) has been submitted by:

  1. @destiner

@ceresstation please take a look at the submitted work:


@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 400.0 DAI (400.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @Destiner.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 400.0 DAI (400.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @Destiner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty Gitcoin bounty help wanted
Projects
None yet
Development

No branches or pull requests

6 participants