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

Proposer Client Implementation Notes #59

Closed
3 tasks
nisdas opened this issue Mar 6, 2018 · 2 comments
Closed
3 tasks

Proposer Client Implementation Notes #59

nisdas opened this issue Mar 6, 2018 · 2 comments

Comments

@nisdas
Copy link
Member

nisdas commented Mar 6, 2018

After the core Team meeting on the 24th of March and to align with the updated Sharding Spec , the Proposer Client Implementation will be as following :

In Phase 1 for our implementation there will be no state execution and no P2P wire protocol will be implemented and everything will be implemented using the local file system. Also the collations will basically consists of blobs of random data rather than actual transactions. Updated goals to be accomplished for the proposer client:

  • Create a basic interface for the Proposer , where it is basically be able to interact with the main shard over JSON-RPC
  • The proposer client should be able use the local filesystem to process arbitrary data blobs into collation bodies and collation headers
  • Then propose the collation header to the collator to be added to the shard chain.
@nisdas nisdas added this to the Ruby milestone Mar 6, 2018
@nisdas nisdas added this to To do in Validator Client via automation Mar 6, 2018
@nisdas nisdas changed the title Create Collator client interface Create a Collator client interface Mar 6, 2018
@nisdas nisdas self-assigned this Mar 6, 2018
@rauljordan rauljordan changed the title Create a Collator client interface Collator Client Implementation Notes Mar 6, 2018
@rauljordan
Copy link
Contributor

rauljordan commented Mar 6, 2018

Hey @nisdas @prestonvanloon @terenc3t, as we just discussed over chat, we need to figure out the major functionality behind a proposer node and how we can split its parts up into multiple tasks distributed across the team.

My proposal is that we will need the following PR's:

  • Subscribe to pending tx's from the geth node and filter out the ones that ask for too much gas
  • Process pending tx's to create a collation object, along with a collation header and body
  • Create a cryptographically signed deposit with a proof that is included in the collation header that signifies the payout a collator will receive
  • Create the actual proposals pool (will require some p2p networking we'll need to figure out)
  • Broadcast collation headers into the proposals pool (we withhold the body until a validator accepts)
  • Create the ability to receive double-signed collation headers (once a collator accepts a collation header, signs it, and sends it back) so that the proposer can then send the collator the rest of the collation body

Let me know if I missed anything and we can start a discussion on this through here.

@rauljordan rauljordan removed this from To do in Validator Client Mar 6, 2018
@rauljordan rauljordan added this to To do in Collation Proposals via automation Mar 6, 2018
@rauljordan rauljordan changed the title Collator Client Implementation Notes Proposer Client Implementation Notes Mar 8, 2018
@nisdas nisdas added the Phase 1 label Mar 25, 2018
@nisdas
Copy link
Member Author

nisdas commented Apr 12, 2018

Closing this as proposer client is deprecated with the changing of the spec

@nisdas nisdas closed this as completed Apr 12, 2018
Collation Proposals automation moved this from To do to Done Apr 12, 2018
@nisdas nisdas mentioned this issue Apr 12, 2018
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

2 participants