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

nwaku for operators trial #828

Closed
4 of 10 tasks
Tracked by #133
jm-clius opened this issue Jan 24, 2022 · 5 comments
Closed
4 of 10 tasks
Tracked by #133

nwaku for operators trial #828

jm-clius opened this issue Jan 24, 2022 · 5 comments
Assignees
Labels
track:operator-outreach Operator outreach track (Secure Messaging/Waku Product)

Comments

@jm-clius
Copy link
Contributor

jm-clius commented Jan 24, 2022

Background

One of the main takeaways from the Q4 2022 Vac Sustainability and Business Workshop was the need for nwaku to settle into a niche of being an easy-to-install, easy-to-monitor, lightweight and robust option for user-run Waku v2 nodes.

Currently the main obstacles to achieving this goal is:

  • incomplete or unclear documentation for users on how to set up and dimension their own nwaku nodes for different protocols
  • limited pre-compiled binaries for easy setup (users usually need to clone the repo and build nwaku themselves, seldomly a smooth process)
  • limited insight into actual robustness of running a nwaku node in the long term, especially for lesser-used protocols, such as filter and lightpush
  • limited visibility (e.g. a metric) of the number of user-run nodes in the default Waku v2 network and number of applications using Waku v2
  • lack of ambient peer discovery

What do we want to achieve as a first step?

This issue tracks the work necessary to launch a Vac-internal operator-run node trial. Specifically, we want:

Goal 1: Team-internal operators set up own nwaku nodes

Operators to follow instructions to set up their own nwaku node using a precompiled binary that:

  • participates and is discoverable in the default relay network
  • provides a dimensioned store
  • provide lightpush and filter capabilities

Between team members we could probably run a hybrid network of nodes on at least Windows, Linux and MacOS.

Goal 2: Operators monitor their nodes

Operators to follow instructions to monitor their nodes, e.g. using an included metrics dashboard, looking at logs, etc.

Goal 3: Operators to provide informal, weekly updates

This should track two main qualitative metrics:

  1. "How easy is it to operate a node?"
  • feedback on documentation/instructions. What are the gaps in knowledge that should be bridged/obscured from end users?
  • are the included tooling enough for operation?
  • feedback re available metrics/logs and their usefulness
  • feedback re metrics dashboard
  1. "How well does the node run?"
  • i.e. how stable has it been running as far as you can tell from metrics/logs
  • how many stable connections does the node maintain
  • how many new, useful peers has the node discovered (only PX during trial)

As a team we can use the various chat2 clients to simulate different scenarios during the trial, to ensure we properly test filter, lightpush, etc.

What do we have already?

  • Some scattered documentation on how to build and run a nwaku node from source code with default config, e.g. here and here
  • A basic Dockerfile to build a deployable image
  • Ubuntu and MacOS binaries included as release assets

What still needs to be done?

At minimum, before launching trial:

Nice to haves before trial launch:

cc @oskarth @staheri14 @kaiserd @D4nte

@jm-clius
Copy link
Contributor Author

May overlap with some goals in #827 as well.

@D4nte
Copy link
Contributor

D4nte commented Jan 25, 2022

I'd add some documentation to use a letsencrypt certificate to secure the websocket connection.

@oskarth
Copy link
Contributor

oskarth commented Jan 25, 2022

Great breakdown, thank you!

I wonder if we need precompiled binaries for the first step? I don't think Nimbus provided this in the initially stages (I still recompile it every release for my beacon chain node)

@jm-clius
Copy link
Contributor Author

Changed milestone to Release 0.11 as we require people to run the fixes in 0.10 for an effective trial.

@jm-clius jm-clius added the track:operator-outreach Operator outreach track (Secure Messaging/Waku Product) label Aug 11, 2022
@jm-clius jm-clius modified the milestones: Release 0.11, Release 0.12 Aug 15, 2022
@jm-clius jm-clius changed the title nim-waku for operators trial nwaku for operators trial Aug 17, 2022
@jm-clius jm-clius added this to Waku Sep 2, 2022
@jm-clius jm-clius moved this to In Progress in Waku Sep 2, 2022
@jm-clius
Copy link
Contributor Author

jm-clius commented Oct 6, 2022

Operator trial successfully launched. Feedback being tracked in #1208

@jm-clius jm-clius closed this as completed Oct 6, 2022
@jm-clius jm-clius moved this to Done in Waku Product (old) Oct 6, 2022
@jm-clius jm-clius moved this from In Progress to Done in Waku Oct 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
track:operator-outreach Operator outreach track (Secure Messaging/Waku Product)
Projects
Archived in project
Development

No branches or pull requests

3 participants