Jürgen Eckel 0b0c954d34
331 refactor a certain module gets a specific driver type flask sync driver abci server async driver first we stick to the current tarantool driver (#337)
* created ABCI_RPC class to seperate RPC interaction from the other ABCI interactions
* renamed validation.py to validator.py
* simplified planetmint/__init__.py
* moved methods used by testing to tests/utils.py
* making planetmint/__init__.py lean
* moved ProcessGroup object to tests as it is only used there
* reintegrated disabled tests


Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-02-27 16:48:31 +01:00

1.8 KiB

Overview

A high-level description of the files and subdirectories of Planetmint.

Files

lib.py

The Planetmint class is defined here. Most node-level operations and database interactions are found in this file. This is the place to start if you are interested in implementing a server API, since many of these class methods concern Planetmint interacting with the outside world.

models.py

Block, Transaction, and Asset classes are defined here. The classes mirror the block and transaction structure from the documentation, but also include methods for validation and signing.

validation.py

Base class for validation methods (verification of votes, blocks, and transactions). The actual logic is mostly found in transaction and block models, defined in models.py.

processes.py

Entry point for the Planetmint process, after initialization. All subprocesses are started here: processes to handle new blocks, votes, etc.

config_utils.py

Methods for managing the configuration, including loading configuration files, automatically generating the configuration, and keeping the configuration consistent across Planetmint instances.

Folders

commands

Contains code for the CLI for Planetmint.

db

Code for building the database connection, creating indexes, and other database setup tasks.