Feel free to skip to the TL;DR version at the end of this document.
One of the best ways to ensure the future sustainability of the Waku network, the decentralized communication layer for Web3, is to have a rapidly growing fleet of stable operator-run Waku nodes. Our operator programme aims to achieve exactly that, encouraging and assisting operators to run and maintain their own Waku nodes while contributing valuable services to the network.
In the first phase of our operator programme, we’re launching a trial among core contributors in the Vac, Waku Product and Status teams. However, we’re encouraging any interested operators or Waku users to join the programme at any stage. All communication, support and feedback will take place in open channels to include as many community members as possible. Many platforms already running their own nodes may want to use this opportunity to participate in the regular feedback cycles.
To join the trial, follow the steps below:
Operators can use any of the existing Waku implementations to participate. However, the trial communication and tutorials will be directed at nwaku clients.
For nwaku, the quickstart page provides instructions on how to either build the latest version or download a precompiled binary. We recommend running version v0.12
of nwaku or later. Keep your eye on the #operator-trial
channel on Discord for the latest information on important fixes, workarounds, etc.
NB: We’re launching this trial a couple of days before the planned release of v0.12 of nwaku. If you are joining the trial before this release, please build your client binary off the latest master to include some important fixes since the previous release.
We’re asking operators to run and maintain long-lived Waku nodes. This implies either running Waku on a piece of “always-on” hardware (such as a home server) or making use of a cloud computing service. Since this is a service that will be familiar to many developers, we have compiled a quickstart guide on getting nwaku to run on a DigitalOcean Droplet.
The more diverse the runtime environments on which Waku instances run, the more truly decentralized the network becomes. We especially encourage running Waku on your own hardware. If you’re setting up Waku in an interesting environment (such as a Raspberry Pi!), we’d love to hear about it and any unique challenges you may have faced. Remember that our operator documentation is also open sourced, so feel free to contribute to our how-to guides.
The trial focuses on Waku nodes providing a relay
service to help route messages through the network. The typical configuration guide explains many of the most common configuration options for nwaku. For the trial, bear the following in mind:
wakuv2.prod
fleet for bootstrappingAlthough various bootstrap fleets have naturally discovered and connected to each other, we recommend configuring the wakuv2.prod
fleet. You can do this using
--dns-discovery:true \\
--dns-discovery-url:enrtree://AOGECG2SPND25EEFMAJ5WF3KSGJNSGV356DSTL2YVLLZWIV6SAYBM@prod.waku.nodes.status.im
as CLI options.
Use --discv5-discovery:true
- the distributed routing table will automatically be bootstrapped with addresses discovered via DNS discovery.