Workers Auto Approve
[Ethereal Hackathon] GraphQL EIP-1767 Implementation for Pantheon
Implement a GraphQL interface to expose data about a [Pantheon](https://github.com/PegaSysEng/pantheon/) node that conforms to [EIP-1767](https://eips.ethereum.org/EIPS/eip-1767). As the EIP specifies, the implementation should allow “a complete replacement to the read-only information exposed via the present JSON-RPC interface”.
**Note: if you wish to work on this bounty for the hackathon, please comment on the Github issue so that others know you are working on it. This bounty could be split across two teams, if there is collaboration from the start agreed upon by all parties.**
The RPC calls to have an interface implemented for are the 24 ones marked as “IMPLEMENTED” in the “Backwards Compatibility” section of the EIP, namely:
1. eth_getBlockByHash (_please implement this first, see below_)
**Note: Please start by implementing `eth_getBlockByHash`. Once that is done, you can submit a WIP PR and our team will happily give feedback.**
The implementations should use a coding style consistent with the rest of Pantheon. Please see our [Contribution Guideline](https://github.com/PegaSysEng/pantheon/blob/master/CONTRIBUTING.md)s for more information, along with the following similar classes for reference:
- [JsonRpcConfiguration](https://github.com/PegaSysEng/pantheon/blob/master/ethereum/jsonrpc/src/main/java/tech/pegasys/pantheon/ethereum/jsonrpc/JsonRpcConfiguration.java) as an example of CLI and configuration
- [JsonRpcHttpService](https://github.com/PegaSysEng/pantheon/blob/master/ethereum/jsonrpc/src/main/java/tech/pegasys/pantheon/ethereum/jsonrpc/JsonRpcHttpService.java) as an example of the persistent network service
- [tech.pegasys.pantheon.ethereum.jsonrpc.internal.methods](https://github.com/PegaSysEng/pantheon/tree/master/ethereum/jsonrpc/src/main/java/tech/pegasys/pantheon/ethereum/jsonrpc/internal/methods) for method bodies reference
- [EthGetWorkTest](https://github.com/PegaSysEng/pantheon/blob/master/ethereum/jsonrpc/src/test/java/tech/pegasys/pantheon/ethereum/jsonrpc/internal/methods/EthGetWorkTest.java) as a model unit test
**Note: If time-constrained, please prioritize quality of implementation over implementing all calls. If only a subset of RPC calls are implemented, we can pay a bounty proportional to the number of implemented calls. See “Submission Requirements” for more information.**
# Submission Requirements
- Implementations for all RPC calls marked as “IMPLEMENTED” in the “Backwards Compatibility” section of EIP-1767 according to specification.
- Please start by implementing `eth_getBlockByHash`. Once that is done, you can submit a WIP PR and our team will happily give feedback in the 24hrs after the PR is submitted.
- Unit test code to validate correct behavior.
- Integration test to demonstrate correct behavior.
- All libraries and dependencies must use Apache 2.0 friendly licenses
- A `demo.md` file that explains how PegaSys engineers can verify that the code works as intended, ideally without the use of 3rd party tools.
## Submission Deadline
April 30th, with the option of a partial bounty payout if not all calls are implemented. See “Judging Criteria” below for details.
# Judging Criteria
- The bounty will be awarded to the best submission based on the [EIP specification](https://eips.ethereum.org/EIPS/eip-1767), code and testing quality, compliance with [Contribution Guidelines](https://github.com/PegaSysEng/pantheon/blob/master/CONTRIBUTING.md), and the Submission Requirements above, according to PegaSys.
- Assuming a complete implementation, the bounty awarded will be 5,000 DAI.
- Again, if time-constrained, please prioritize quality of implementation over implementing all calls. **If only a subset of RPC calls are implemented, we can pay a bounty proportional to the number of implemented calls.**
- Given the overhead of implementing the first call, the breakdown would go as follows:
- First call (eth_getBlockByHash): 1,000 DAI
- Subsequent calls: 1/23 * 4,000 DAI ~= 173.91 DAI / call.
For example, assuming that 20 calls were implemented, the bounty paid would be at least 1,000 DAI + 19/23 * 4,000 DAI ~= 3304.35 DAI.
## Judging Date
May 3, 2019
Setup your profile
Tell us a little about you:
No results found for
Type to search skills..
Required [[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email: