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

Deprecate SMC, Replace With an Interface and Mocked Methods for a Beacon Chain in Client #315

Closed
rauljordan opened this issue Jul 23, 2018 · 1 comment
Assignees
Labels
Discussion Simply a thread for talking about stuff
Milestone

Comments

@rauljordan
Copy link
Contributor

rauljordan commented Jul 23, 2018

Hi all,

One of our goals in building the beacon chain is to eventually deprecated the Sharding Manager Contract defined in the client folder in our repo. The purpose of the SMC in the minimal sharding spec and our implementation is to:

  • Handle the submission of collation headers and proofs of custody across shard, period pairs
  • Select committees (notaries) on shards for a certain period
  • Reshuffle committees across shards

These pieces of functionality will be replaced by the Random Beacon Chain and its RANDAO mechanisms + cross-link handling. In order to tie in our previous work on the minimal sharding spec with our beacon chain work, we should create an interface for the BeaconChain that we can implement through a mock struct and use within the client folder until the beacon chain is completed. This way, we can eliminate the SMC and be back on track with tying together the beacon chain + sharding. This will make our repository very cohesive and allow future contributors to know exactly what the beacon chain does and what our client folder handles.

I suggest we prioritize this and move in parallel with beacon chain PRs as it will get us closer to a demo/first-release sooner.

@rauljordan rauljordan added Discussion Simply a thread for talking about stuff Bigger Project labels Jul 23, 2018
@rauljordan rauljordan added this to the Ruby milestone Jul 23, 2018
@rauljordan rauljordan self-assigned this Jul 23, 2018
@terencechain
Copy link
Member

To add more color, here are all the mock functions we need to implement:

Caller related functions:

  • GetNotaryInCommittee() -- Sample notary, returns true if notary is selected
  • ShardCount() -- Return total shard count
  • LastSubmittedCollation() -- Return last submitted collation struct from the mock back end
  • NotaryRegistry() -- Return notary struct from the mock back end

Transactor related functions:

  • RegisterNotary() -- Register notary to the mock back end
  • AddHeader() -- Add header to the mock back end

Redidacove pushed a commit to Redidacove/prysm that referenced this issue Aug 13, 2024
* add week 0 development updates

* Katya: add Week-1 updates

* add week-2 updates

* fix week-2 update

* week 3 update

* add week-4 updates

* add week-5 updates

* project proposal

* add project proposal to the table

* add week-6 updates

* add week-7 updates

* add week-8 updates

---------

Co-authored-by: Mário Havel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion Simply a thread for talking about stuff
Projects
None yet
Development

No branches or pull requests

5 participants