This document contains information about the Swirlds Platform. It is currently a work in progress.
The platform code is split into three categories:
- Base: common utilities and libraries; logging, configuration, metrics, etc.
- Core: gossip, consensus, data flow, and various algorithms
- Data: merkle data structures for holding the ledger state
This code is maintained by the "Platform Base" team.
- Overview of Platform Base
- Configuration
- Context
- Metrics
- Prometheus
- Busy time metrics
- Logging
- Thread Management
- Test Support
- toString-Builder
- Null handling
This code is maintained by the "Platform Hashgraph" team.
- System Startup Sequence
- Platform Status
- Threads
- Components
- Framework
- Networking
- Gossip
- Hashgraph
- State management
- Rules for using SignedState objects
- State snapshots
- Hashing
- State Signing
- ISS Detection
- Reconnect
- Transaction Handling
- BLS
- Application Communication
- Event Flow
- Event Intake
- Pre-consensus event stream
- Post-consensus event stream
- Threading Diagram
- Freeze
- WIP
- External docs
This code is maintained by the "Platform Data" team.
- Merkle APIs
- Fast Copies
- Mutability
- Reference Counting
- Hashing
- Serialization
- Data Structures
- VirtualMap
- MerkleDB
- MerkleMap
- FCHashMap
- FCQueue
- VirtualMap
- Reconnect