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

[Milestone] Bindings (Rust, NodeJS, Golang) #121

Closed
4 tasks
chair28980 opened this issue Feb 5, 2024 · 12 comments
Closed
4 tasks

[Milestone] Bindings (Rust, NodeJS, Golang) #121

chair28980 opened this issue Feb 5, 2024 · 12 comments
Assignees
Labels
Deliverable Tracks a Deliverable

Comments

@chair28980
Copy link
Contributor

chair28980 commented Feb 5, 2024

Milestone: https://github.com/waku-org/pm/milestone/10

Provide functioning bindings over nwaku in the following environments, ordered by priority:

  • Rust (swap go-waku with nwaku)
  • NodeJS
  • Golang

Functionality

Bindings should provide the following functionality

  • DiscV5 + DNS Discovery
  • RLN Relay and relay
  • auto sharding and static sharding
  • Store client (lower priority)

And, the "C" binding should be documented in each of the above features. That means that we should have a clear example, or test, on how to use such feature taking this simple C example as a reference: https://github.com/waku-org/nwaku/blob/master/examples/cbindings/waku_example.c

Once these 3 bindings are shipped we can consider this Milestone complete.

Further functionality can be scoped further down the road.

Further functionalities:

  • Light client
  • Service node
  • Encryption v1 and v2

Epics

@vpavlin
Copy link
Member

vpavlin commented Feb 6, 2024

  • Rust (swap go-waku with nwaku)

This will not (IMO) be possible with the listed functionality - The Graph uses light clients through Rust bindings

@chair28980
Copy link
Contributor Author

go-waku issue handling Rust bindings: waku-org/waku-rust-bindings#53

@petkodes
Copy link

petkodes commented Feb 6, 2024

This will not (IMO) be possible with the listed functionality - The Graph uses light clients through Rust bindings

Petko from GraphOps here (core dev at The Graph), we are totally OK with deprecating filter protocol moving forward, we use relay by default for everything (we also don't use rln-relay).

@fryorcraken
Copy link
Contributor

Note that while the bindings, and any Waku library in general, should default to using RLN Relay + autosharding (ie, waku network)
We should at least make relay (no rln) and static sharding available to enable projects to use their own network.

@richard-ramos
Copy link
Member

@Ivansete-status and I discussed today the approach for rust bindings, and we will reuse the waku-rust-bindings repository like this:

  • master branch will continue to be using go-waku, doing patch versions for bug fixes,
  • A separate branch will be created for integration with nim.
  • Once we deliver the features described in this issue we'll reset master branch to point to last commit of nwaku integration branch, and publish a new version of the rust crate

@Ivansete-status Ivansete-status self-assigned this Feb 8, 2024
@Ivansete-status
Copy link
Contributor

I think the Epics are getting clearer now. The only one that I don't know how to complete for now is the Golang one.
@richard-ramos may kindly edit this milestone description so that we have a clearer Golang epic? I think the tasks there should be to migrate go-waku to nwaku from the Status perspective.

@Ivansete-status Ivansete-status changed the title [Milestone] Bindings (NodeJS, Rust, Golang) [Milestone] Bindings (Rust, NodeJS, Golang) Feb 8, 2024
@richard-ramos
Copy link
Member

done!

@fryorcraken
Copy link
Contributor

LGTM for sign-off. will be discussed at Waku PM call today.

@chair28980
Copy link
Contributor Author

nwaku Epic here: waku-org/nwaku#2420

Tasks listed in MIlestone description have been moved to the Epic's description for further breakdown.

@chair28980
Copy link
Contributor Author

Signed off during EU-NA PM 2024-02-19.

@fryorcraken
Copy link
Contributor

fryorcraken commented Jun 5, 2024

Descoped in favour of milestone "Nwaku in Status Desktop (Relay, *nix)" .
Said milestone is not yet planned.

Cc @chair28980

@chair28980
Copy link
Contributor Author

Closing per above comment, placeholder for above mentioned Deliverable: #203

@chair28980 chair28980 closed this as not planned Won't fix, can't repro, duplicate, stale Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Deliverable Tracks a Deliverable
Projects
Status: Done
Development

No branches or pull requests

6 participants