Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
Parity Ethereum is a blockchain client and full-node implementation written in Rust programming language. It supports multiple different chains based on the Ethereum Virtual Machine (EVM) or Parity's WebAssembly VM (pWasm). The client comes with "pluggable consensus," so it has different consensus engines, among others the "Ethash" proof-of-work engine, the "AuRa" proof-of-authority engine, and some developer presets like "Instant Seal" and "Basic Authority."
We want to **add the "Clique" proof-of-authority engine** to that list and allow users to synchronize the Rinkeby, Görli, and Kotti Classic testnets. That breaks down into these major components/tasks:
1. The "Clique" proof-of-authority core engine with proper block validation logic as per [EIP-225](https://github.com/ethereum/EIPs/pull/1570), full chain synchronization, and light/headers verification.
2. The sealing logic to enable the node to be run in "authority mode:" creating, proposing, and sealing new blocks; voting for new validators; unvoting validators to remove them.
3. The "Clique" JSONRPC-APIs that allow users to control the engine via HTTP/WS/IPC APIs.
4. Configurations and chain specifications for the Rinkeby, Görli, and Kotti Classic networks.
5. Tests! Everything should be covered. (This is actually part of all the tasks above, just making sure this is not forgotten about.)
... Profit? All tasks can be claimed via bounties. What is a bounty? That's a fixed amount of money that is claimable by anyone who is submitting a working solution to any of the tasks listed above and sufficient quality. What is sufficient quality? You certainly should have written Rust before and be familiar with the concepts and best practices of the language. Knowing Parity Ethereum or blockchain experience in general is a bonus. How to claim a bounty? Reach out, name your price and agree on a date for code delivery.
Communication happens on Gitter: [goerli/clique](https://gitter.im/goerli/clique)