Prysm: Implement Simple Serialize

Created on 9 Oct 2018  ·  21Comments  ·  Source: prysmaticlabs/prysm

Hi all,

This is a tracking issue for implementing Simple Serialize for Prysm.

  • [x] Create a SERIALIZATION.md Readme in or docs/ - this should also contain links to research notes
  • [x] Create an ssz package in our shared/ folder implementing the core logic
  • [x] Basic tests for all ssz cases
  • [x] Benchmark tools for various ssz cases

We should aim to standardize our docs for SSZ to align with Lighthouse's awesome SSZ doc in their repo here.

We can split up work across all of these, but assigning provisionally to @rawfalafel for now.

Medium

Most helpful comment

Hello @gitcoinbot, @houjieth has completed this issue.

Thank you, Jie!

All 21 comments

Can I ask a question about ssz? From the spec, we are not sure whether recursive list needs to be supported. For example: [[1,2],[3,4]]

official implementation seems to support it. When I add some tests like [[1,2],[3,4]], type [['int8']] and it works.

lighthouse's implementation doesn't seem to support recursive list.

Support recursive list in Go may require using reflection (with a provided type as schema) which is not very efficient. Doesn't it beat the purpose of using ssz?

The purpose of ssz isn't to avoid using reflection. Our ssz implementation will likely use reflection, and optionally use unsafe pointers for performance.

@houjieth is interested in taking this up

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


__This issue now has a funding of 500.0 DAI (500.0 USD @ $1.0/DAI) attached to it as part of the ECF fund.__

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


__Work has been started__.

These users each claimed they can complete the work by 6 days, 7 hours ago.
Please review their action plans below:

1) mihairaulea has applied to start work _(Funders only: approve worker | reject worker)_.

hey Scott, i think the specs are pretty clear :) would love to do this, let me know

Learn more on the Gitcoin Issue Details page.

2) houjieth has been approved to start work.

Hi I've already completed 60% of the code: https://github.com/prysmaticlabs/prysm/pull/1039

Please let me keep working on this task.

Learn more on the Gitcoin Issue Details page.

@houjieth 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!

  • [x] reminder (3 days)
  • [ ] escalation to mods (6 days)

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

@gitcoinbot The PR is already submitted https://github.com/prysmaticlabs/prysm/pull/1039

1039 only partially resolves #631

We still need to support the following:

  • uint32
  • uint64
  • address
  • hash

Need implementation:

  1. pointer
  2. array (not slice)
  3. docs

Let's track benchmark numbers in another issue

@houjieth 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!

  • [x] reminder (3 days)
  • [ ] escalation to mods (6 days)

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

@gitcoinbot Yes. A new PR was just published.

Hello @gitcoinbot, @houjieth has completed this issue.

Thank you, Jie!

Should this issue be closed now?

I'm not sure. Has Gitcoin granted you the fund yet? Do we need to close this first so they can grant you the fund?

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


__Work for 500.0 DAI (500.0 USD @ $1.0/DAI) has been submitted by__:

  1. @houjieth

@ceresstation please take a look at the submitted work:

  • (Link Not Provided) by @houjieth

Haven't received the grant yet. I just submitted my work on gitcoin.co. Waiting for their approval...

Sounds good. They should approve soon : )

Sorry for the delay @houjieth, paid you out, awesome job!

Do More Faster ⚡️ A *Do More Faster* Kudos has been sent to @houjieth for this issue from @ceresstation. ⚡️ Nice work @houjieth! Your Kudos has automatically been sent in the ETH address we have on file.

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


__The funding of 500.0 DAI (500.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @houjieth.__

Complete :) thanks @houjieth

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pventuzelo picture pventuzelo  ·  5Comments

prestonvanloon picture prestonvanloon  ·  3Comments

banescusebi picture banescusebi  ·  4Comments

prestonvanloon picture prestonvanloon  ·  4Comments

jrhea picture jrhea  ·  4Comments