qiwitech / qdp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

godoc Build Status Go Report Card GitHub MicroBadger Size

QDP (aka Plutos)

Plutos is an financial processing 💵 It's designed to replace existing bank systems, make it cheap, reliable and fast ⚡

  • Transfers between any accounts with no restrictions. Scalable.
  • Transactions are the main part, not balances. Cashflow and relationships are at the first.
  • Fast and efficient. No actions without intention.
  • Easy to configure and maintain. No caches, no thresholds, no config files (except systemd).
  • Easy to use. HTTP API with several endpoints

Where to start

The best place to start is documentation

Repositories

It's the main repository with plutos code itself and commands.

There are also two RPC libraries with protobuf service generators: tcprpc and graceful

And there is Jepsen test.

Database

Database is important part of the system. It stores transactions durably, so nothing lost if plutos restarts or fails. Plutos could work without a database, but nothing would be stored persistently and some part of data would be lost if one of plutoses is stopped or crashed.

The special database was developed along with plutos system to acheive maximum performance and reliability. Althrough it's not the subject to be published, general approach is described in AsgardDB: Fast and Scalable Financial Database

Simple mysql wrapper is provided to start with ./cmd/sqldb/.

Authors

About

License:GNU General Public License v3.0


Languages

Language:Go 99.2%Language:Shell 0.8%Language:Dockerfile 0.0%