The Database 4 Everything

Monero XMR Mining Operation

Mining Monero XMR

This is the home of db4e, the Database 4 Everything project. The db4e application aims to provide a simple Terminal User Interface (TUI) to setup and operate a Monero XMR Mining farm on one or multiple computers. This project is still under development.


Features Today

The https://xmr.osoyalce.com/ site is generated by the db4e application. It houses live data from a small Monero XMR Mining farm.


Web Reports

Reporting with db4e is easy. A reports definition file tells db4e what kinds of reports to prepare.

The Reports page has links to currently configured reports from my small farm.


MongoDB Backend

The db4e stands out from other Monero XMR software in that it includes a MongoDB Database to house historical data, logs, configuration settings and more. The db4e application is setup as a system service. When running it monitors the local P2Pool software and creates records in MongoDB. MongoDB houses the data used to generate the reports and as a data source for the db4e console application.


Technology Stack

The db4e application is currently running on Debian Linux and is made up of a number of components:

At it’s core, db4e monitors the P2Pool server for events. Scheduled commands are also sent to the running P2Pool daemon to trigger log output. Events are stored in MongoDB. Some events also trigger the creation of a CSV file which is published to a GitHub hosted website (this site). Javascript code is used to render the CSV data into nice, human-friendly graphs and bar charts.


Systems Architecture

The application is designed to be modular and have a clear data abstraction layer. Mining database operations go though a mining database class which sends those to a db4e mining class which interacts with MongoDB.

For example, mining data exports to CSV are performed by connecting to the MiningDb class which connects to the Db4eDb class which connects to MongoDb and fetches the data.


Codebase Architecture

See the Codebase Architecture page for more information.


Utilities

Utilities include the core db4e.py too such as the db4e-gui.py console application.

See the Utilities for a comprehensive list.


Systems Configuration


3rd Party Software


Hardware


Coming Soon

The db4e-os terminal user interface (TUI) is coming. It’s used to manage the deployment of the db4e components and monitor their health.

This code is alpha it’s under active development and doesn’t fully work. Here’s a screenshot to whet your appetite:

db4e-os screenshot


Getting Started

NOTE: The db4e project is in beta phase. See the Getting Started page for information on getting started.


Community Feedback

Questions? Ideas? Feedback? Please go to the db4e project’s Discussions page.


Donations

Please help keep this project alive and moving forward by donating.


Links