Giter VIP home page Giter VIP logo

plebeian's Introduction

Plebeian Market

About

Plebeian Market is the self-sovereign marketplace of the Internet, powered by Bitcoin and the Lightning Network for payments and by Nostr for resilience.

What you see here is the initial implementation of a larger vision of fully decentralized e-commerce.

While we are also running plebeian.market - a Plebeian Market instance - others can, and are encouraged to, run their own instances. Whether on your own hardware using Umbrel or Start9 or on a VPS, running a Plebeian Market instance is what makes your community self-sovereign and in control of its data.

Our vision of the future involves small communities around the world running their own market places, which is why we like to call Plebeian Market the mycelium of free commerce.

Architecture

To achieve resilience, the marketplace has two independent components: the back office and the front office.

Merchants use the back office to create listings, which are forwarded to known Nostr relays. The back office does therefore not need to be accessible from the Internet - it can be hosted on an Umbrel or Start9 running in one's closet. This ensures that the merchants are always in control of their data!

Buyers use the front office to make purchases. This is a client-side web app, that doesn't talk to the back office (remember, the back office might not be accessible on the Internet!), and only talks to Nostr relays. This app can therefore be hosted on something as simple as GitHub pages - or it can even be sent around using email! A merchant could indeed, in theory, email a .html page to its customers, which, when opened, connects to Nostr relays, displays the merchant's stall, takes orders from the buyers, and forwards the orders back to the Nostr relays.

The back office then connects to the known Nostr relays, fetches the orders that the buyers have placed and replies back with invoices that the buyers need to pay.

Install

On a bare VPS

Before you start, make sure you have:

  1. An account with a VPS provider, such as Linode or Digital Ocean
  2. A domain name you want to use for your new site

Instructions:

  1. Create a new VPS instance in the region you want. The cheapest one (Nanode, 5$, shared CPU) should be enough. Select Debian 12 as an OS. Set a strong root password and write it down!
  2. Once the machine is created, copy the IP address, go to your DNS settings, and create an A record, pointing from your desired host name to the IP of the machine.
  3. Open a terminal.
  4. Wait a couple of minutes for the DNS to propagate. It shouldn't take long. You can run ping -c 3 <domain name> in the terminal you opened and see that the results include the correct IP address.
  5. Log in to your machine using ssh root@<domain name>. Respond with yes to any questions about trusting the host and use the root password from step 1!
  6. Run sh -c "$(curl -sSL plebeian.market/install.sh)" and follow the instructions

plebeian's People

Contributors

ibz avatar ktecho avatar 151henry151 avatar jaykhan-dev avatar psqnt avatar im-adithya avatar miguepollo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.