docs: 📝 Improved diagram and description
parent
e9d16ec7a5
commit
f6d5c345a2
54
README.md
54
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.
|
||||
|
|
Loading…
Reference in New Issue