Skip to content

Instantly share code, notes, and snippets.

@nagydani

nagydani/swarm_mvp.md

Last active Feb 12, 2020
Embed
What would you like to do?
Swarm MVP

MVP: Single-Node Swarm

Executive Summary

A means for Đapp projects to host their Swarm-based Đapp with a traditional web-hosting service. The Đapp uses Swarm's APIs to access its static assets and data, including modifications. Essentially, it is a single-node Swarm that provides the guarantees (with the obvious exception of censorship resistance) that the distributed Swarm network will provide, once fully operational. Using this product, Đapp developers can focus on developing their application with the confidence that it will become censorship resistant (i.e. "unstoppable"), once the Swarm network will support the features that it uses. The migration to decentralized Swarm will require an upgrade of the node's software and some changes in the configuration but no changes to the application itself.

Requirement List

  • A functional Swarm node that does not make and does not accept Kademlia connection requests
  • A HTTPS interface (gateway) with an easily configurable domain name (e.g. mydomain.com) and IP address.
  • Redirecting of requests from https://mydomain.com/bzz:/xxx/yyy to https://xxx.mydomain.com/yyy which, in turn, results in serving the object at path yyy from the manifest with the swarm hash (or ENS domain) xxx.
  • A per-user limit for data written into Swarm. Can be zero, in which case user authentication is not needed.
  • Some user management with non-free registration for accounts that can write data into Swarm. Ideally, the UX should be similar (or even identical) to how users pay for Swarm.
  • Traditional DoS protection (automatic blacklisting of clients with unreasonable request patterns)
  • Monitoring and analytics for the node's operator
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment