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: Integrate Negentropy RBSR library for Waku Sync #2426

Open
Tracked by #158
jm-clius opened this issue Feb 13, 2024 · 2 comments
Open
Tracked by #158

feat: Integrate Negentropy RBSR library for Waku Sync #2426

jm-clius opened this issue Feb 13, 2024 · 2 comments

Comments

@jm-clius
Copy link
Contributor

This issue relates to the implementation of a proposed underlying protocol for Waku Sync as set out in waku-org/research#80
One viable technical solution to achieve is to use a RBSR mechanism similar to that implemented in https://github.com/hoytech/negentropy
This issue tracks the work necessary to integrate this library into nwaku and test its suitability for a sync mechanism.

cc @SionoiS @chaitanyaprem

@SionoiS
Copy link
Contributor

SionoiS commented Feb 13, 2024

my work on this topic can be seen in this PR #2403

@SionoiS SionoiS assigned SionoiS and chaitanyaprem and unassigned SionoiS Feb 13, 2024
@chaitanyaprem
Copy link
Contributor

chaitanyaprem commented Feb 16, 2024

After doing some digging wrt issue faced in integrating negentropy and consulting nim team, it has been identified that in order to use the negentropy C++ API directly in nim, it would require nim to be compiled as c++ code instead of C(that is being done currently). This is not recommended by nim team as there are limitations and we may run into issues.

Note: If there were no templates used in the C++ code, then we could integrate directly into nim by using extern-C, but since negentropy using templates this would not work. Ref

Ref Query and pointers:

Hence as suggested, proceeding with writing a C API wrapper for negentropy which can then be used in the Waku-sync code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Code Review / QA
Development

No branches or pull requests

4 participants