docs: 📝 Improved diagram and description

main
Keith Irwin 2024-04-18 11:31:20 -06:00
parent e9d16ec7a5
commit f6d5c345a2
Signed by: ki9
GPG Key ID: DF773B3F4A88DA86
1 changed files with 26 additions and 28 deletions

View File

@ -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.