From f6d5c345a21e001774eb7b0f5ad86a3e6f3cabe4 Mon Sep 17 00:00:00 2001 From: Keith Irwin Date: Thu, 18 Apr 2024 11:31:20 -0600 Subject: [PATCH] docs: :memo: Improved diagram and description --- README.md | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index b35fe23..2dc3e10 100644 --- a/README.md +++ b/README.md @@ -4,39 +4,37 @@ A lightweight monero payment gateway that can be embedded into any website. "pa ## Project overview -There are three components to pago, shown in the big square in this diagram: +There are three components to pago, shown in the big square at the bottom in this diagram: ``` - monero - network - ▲ - │ - ┌───▼───┐ - │monerod│ - │(remote│ - │ node) │ - └─────▲─┘ - daemonRPC│ - ┌─────▼───┐ - │View-only│ - │ Wallet │ - └─▲─────▲─┘ -walletRPC│ │walletRPC -+--------│-----│-------+ -|┌───────▼─┐ ┌─▼──────┐| -|│Processor│ │Merchant│| -|│ API │ │Frontend│| -|└──▲──────┘ └────────┘| -| │HTTPS/WSS | -| ┌─▼──────┐ | -| │Payment │ | -| │Frontend│ | -| └────────┘ pago| -+----------------------+ + monero network + ▲ + │ + ┌─────▼───────┐ + │ monerod │ + │(remote node)│ + └───────▲─────┘ + daemonRPC│ + ┌─────────▼──────┐ + │view-only wallet│ + └──────▲────▲────┘ +walletRPC│ │walletRPC ++--------│----│--------+ +|┌───────▼─┐ ┌▼───────┐| +|│Processor│ │Merchant│| +|│ API │ │frontend│| +|└──▲──────┘ └────────┘| +| │HTTPS/WSS | +| ┌─▼──────────────┐ | +| │Payment frontend│ | +| └────────────────┘ | ++-----------------pago-+ ``` - The **Processor API** which creates payments using authenticated RPC calls to a viewonly monero wallet - The **Payment frontend**, an embeddable html/js/css interface for making payments, which communicates with the processor API with HTTPS and WSS (websockets) - The **Merchant frontend**, an embeddable html/js/css interface for checking payment status, which makes authenticated RPC calls to the wallet directly -The processor api is a node.js server and the two frontends are clientside javascript with a single lightweight dependency: the knockoutJS microframework. +The processor api is an express/node.js server and the two frontends have a single lightweight dependency: the knockoutJS microframework. + +There is no database. Data are stored in the wallet file, which should be backed up like any data.