4.1 SatoshiChain Layering Architecture
Fig 2. SatoshiChain Layered Architecture
- Libp2p: This module always begins at the underlying network layer. Libp2p is modular, extensible, and fast. In particular, it provides an excellent foundation for more advanced features.
- Synchronization & Consensus: The separation of synchronization and consensus protocols enable modularity and the implementation of customizable synchronization and consensus mechanisms (depending on how the client operates). Satoshi Chain also offers pluggable consensus algorithms out-of-the-box.
- Blockchain: The Blockchain layer serves as the core layer for managing tasks within the Satoshi Chain system.
- State: The State layer provides the logic for transitioning between states. It deals with how the state changes when a new block is added.
- JSON RPC: dApp developers use this layer as an API layer in order to interact with the blockchain.
- TxPool: The TxPool layer is a transaction pool and is tightly coupled to other modules in the system (as transactions can be added from multiple entry points).
- GRPC: The GRPC layer is crucial for enabling interaction with the operator. This layer ensures that node operators can interact with the clients easily, providing a usable and efficient UX.