How pandanite-crypto/pandanite works
Pandanite is a minimalist layer-1 cryptocurrency node, with companion key-generation, mining, and transaction-sending tools. Its user workflow is to create a wallet, run a node, mine by obtaining proof-of-work parameters and submitting a solved block, or send transactions through the node; the node exposes blockchain, wallet, peer, and statistics APIs. The graph reflects the sampled HTTP handlers and request/peer code plus README-documented capabilities. Storage modules and several unsampled runtime paths are shown only where their roles are clear; their wiring is not inferred.
Main entry points: request_manager.cpp Request manager · blockchain.cpp Blockchain · server.cpp HTTP server · miner.cpp Miner
Components 22
User tools
- Key generator
src/tools/keygen.cpp - Transaction CLI
src/tools/cli.cpp - Miner
src/tools/miner.cpp - Server launcher
src/tools/server.cpp
Node API
- HTTP server
src/server/server.cpp - Request manager
src/server/request_manager.cpp - Rate limiter
src/server/rate_limiter.cpp
Chain runtime
- Blockchain
src/server/blockchain.cpp - Transaction pool
src/server/mempool.cpp - Block executor
src/server/executor.cpp - Blocks and headers
src/core/block.cpp - Transactions
src/core/transaction.cpp - Cryptography
src/core/crypto.cpp - Merkle proofs
src/core/merkle_tree.cpp
Peer networking
- Peer manager
src/core/host_manager.cpp - Peer header chain
src/core/header_chain.cpp
Chain state
- Ledger store
src/server/ledger.cpp - Block store
src/server/block_store.cpp - Transaction store
src/server/tx_store.cpp - Data store
src/server/data_store.cpp
Other components
- Wallet user
- Peer nodes
Connections 27
- Wallet user → Key generator: generates keys
- Wallet user → Transaction CLI: sends payment
- Wallet user → Miner: starts mining
- Wallet user → Server launcher: runs node
- Server launcher → HTTP server: starts
- Transaction CLI → HTTP server: submits transactions
- Miner → HTTP server: requests work
- Miner → HTTP server: submits solution
- HTTP server → Request manager: dispatches API calls
- HTTP server → Rate limiter: checks request limits
- Request manager → Rate limiter: limits requests
- Request manager → Blockchain: queries chain
- Request manager → Transaction pool: adds and reads transactions
- Request manager → Peer manager: manages peers
- Request manager → Merkle proofs: builds proof
- Blockchain → Blocks and headers: reads blocks
- Blockchain → Block executor: executes blocks
- Transaction pool → Transactions: holds transactions
- Transactions → Cryptography: uses cryptography
- Peer manager → Peer header chain: creates peer chains
- Peer header chain → Peer nodes: requests headers
- Peer manager → Peer nodes: refreshes peer list
- Request manager → Peer nodes: forwards accepted blocks
- Blockchain → Ledger store
- Blockchain → Block store
- Blockchain → Transaction store
- Blockchain → Data store