ADAMANT Forging Pool is a blockchain service that calculates and distributes delegate voter rewards on the ADAMANT network. It consists of a Node.js/Express backend that processes forged blocks, computes voter rewards, handles scheduled payouts, and maintains MongoDB storage for blocks, voters, and transactions. The system features a Svelte/Vite web dashboard for monitoring pool status and voter rewards, plus a control CLI (`adm-pool`) for managing encrypted passphrases. Key security features include operator-encrypted passphrases, input validation to prevent NoSQL injection, and secret-free health monitoring. The architecture follows a modular design with clear separation between API handling, business logic, data storage, and external integrations.
This repository implements the Steem blockchain node (steemd), a Delegated Proof-of-Stake (DPoS) consensus platform with social media features. The system processes transactions, maintains chain state via shared-memory (chainbase) or RocksDB (MIRA) backends, and exposes a JSON-RPC API for querying accounts, blocks, market history, and social features like follows and tags. It includes a plugin architecture (appbase) for modular functionality, with plugins for witness production, P2P networking, resource credits (RC), account history, market history, and more. The codebase is written in C++17 and relies heavily on the custom fc library for asynchronous I/O, cryptography, serialization, and reflection. The architecture is a monolithic node daemon with a plugin system. Key entry points are the steemd binary (programs/steemd/main.cpp) and the CLI wallet (programs/cli_wallet/main.cpp). Data flows from P2P network messages through the chain plugin to the database, with operations evaluated by evaluators and state changes persisted via chainbase or MIRA. External dependencies include Boost, OpenSSL, RocksDB, and secp256k1-zkp. The repository also contains extensive Python test scripts for API regression and integration testing. While the codebase is well-structured and demonstrates advanced C++ patterns (static_variant, multi-index containers, reflection), it shows signs of technical drift: legacy plugins coexist with appbase plugins, conditional compilation for SMT and MIRA features, and several FC_TODO comments indicating incomplete migrations. The fc library itself is a reusable foundation but tightly coupled to the project's threading model.