Abstract Permissioned Overlays
Abstract
Non-open platforms with untrusted APIs can revoke access at any time. Some don’t even expose APIs, or charge excessive fees. Some don’t provide the features required for integrating with another system. By running a headless browser in the server and exposing an API with authentication, parallel sessions, and authorization, a single authenticated account on a target platform becomes sufficient for one to develop a custom API over the functionality exposed via the browser.
Background
One of the requirements for ensuring the Waku protocol is end-to-end reliable is being able to run end-to-end simulations of the entire network: both nwaku running in the server, and js-waku running in the browser.
When manually dogfooding js-waku, it’s trivial to replicate a realistic browser environment because, well, you just open a browser and navigate to a page. It loads an html page that imports all dependencies through script tags, as well as some scripts that call functions in response to user input. Click a button to create and start a node, and soon you’re “online” and ready to perform actions on a Waku network.