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

feat: waku sync 2.0 #47

Merged
merged 27 commits into from
Jan 22, 2025
Merged

feat: waku sync 2.0 #47

merged 27 commits into from
Jan 22, 2025

Conversation

SionoiS
Copy link
Contributor

@SionoiS SionoiS commented Dec 5, 2024

WIP spec for Waku sync 2.0

@SionoiS SionoiS self-assigned this Dec 5, 2024
@SionoiS SionoiS marked this pull request as ready for review December 10, 2024 12:44
@SionoiS
Copy link
Contributor Author

SionoiS commented Dec 10, 2024

I still don't know what to write for varints.

I don't want to write a varint lib and spec and I also think the Nim std impl. might change.

What do? @jm-clius

edit: I decided to use https://github.com/status-im/nim-stew/blob/master/stew/leb128.nim

@SionoiS SionoiS requested a review from jm-clius December 10, 2024 12:53
Copy link
Contributor

@jm-clius jm-clius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this!

I left some comments below, many of them nitpicks.
I think the main comment is around providing some context and a functional overview before jumping into the detail (at least of the reconciliation protocol). It can state the protocol flow and wire protocols in very simple terms:

  1. what agents are involved (two nodes that store Waku messages)
  2. what are the preconditions and goal (they want to initiate a bidirectional sync over the messages)
  3. what SHOULD and MUST they do, step by step, to achieve this:
  • they identify the ranges that they want to sync over (and define what is meant by that)
  • they create the fingerprint
  • they encode in some way

etc.

I think this can be done in a very short paragraph, but will help first-time readers understand the big picture.

standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
@SionoiS
Copy link
Contributor Author

SionoiS commented Dec 11, 2024

Thanks for this!

I left some comments below, many of them nitpicks. I think the main comment is around providing some context and a functional overview before jumping into the detail (at least of the reconciliation protocol). It can state the protocol flow and wire protocols in very simple terms:

  1. what agents are involved (two nodes that store Waku messages)
  2. what are the preconditions and goal (they want to initiate a bidirectional sync over the messages)
  3. what SHOULD and MUST they do, step by step, to achieve this:
  • they identify the ranges that they want to sync over (and define what is meant by that)
  • they create the fingerprint
  • they encode in some way

etc.

I think this can be done in a very short paragraph, but will help first-time readers understand the big picture.

I agree, it's a bit hard to grasps the gist of how reconciliation work ATM.

@SionoiS SionoiS requested review from jm-clius and removed request for jm-clius December 12, 2024 12:28
@SionoiS SionoiS requested a review from jm-clius January 16, 2025 15:04
Copy link
Contributor

@jm-clius jm-clius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this reads very well. Thanks! I have added some comments below, most of them nitpicks or phrasing suggestions which are up to you to address or not.

standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
standards/core/sync.md Outdated Show resolved Hide resolved
SionoiS and others added 11 commits January 22, 2025 09:29
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
SionoiS and others added 7 commits January 22, 2025 09:43
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
@SionoiS SionoiS merged commit f2df957 into master Jan 22, 2025
0 of 2 checks passed
@SionoiS SionoiS deleted the feat--waku-sync-2 branch January 22, 2025 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants