Credit Smart Chain
  • Overview
  • Get started
    • Installation
    • Local Setup
    • CLI Commands
    • JSON RPC Commands
  • RPC mainnet
  • Configuration
    • Server configuration file
    • Manage private keys
    • Enable Prometheus metrics
  • Working with a node
    • Query JSON RPC endpoints
    • Query operator information
    • Backup/restore node instance
  • Consensus
    • Proof of Stake
    • Set up and use Proof of Stake (PoS)
  • Additional features
    • Network stress testing
  • Architecture
    • Architecture Overview
    • Modules
      • Blockchain
      • Minimal
      • Networking
      • State
      • TxPool
      • JSON RPC
      • Consensus
      • Storage
      • Types
      • Protocol
      • Sealer
      • Other modules
  • Concepts
    • State in Ethereum
  • Community
    • Propose a new feature
    • Report an issue
Powered by GitBook
On this page
  • Credit Smart Chain Layering​
  • Libp2p​
  • Synchronization & Consensus​
  • Blockchain​
  • State​
  • JSON RPC​
  • TxPool​
  • GRPC​
  1. Architecture

Architecture Overview

PreviousArchitectureNextModules

Last updated 1 year ago

We started with the idea of making software that is modular.

This is something that is present in almost all parts of the Credit Smart Chain. Below, you will find a brief overview of the built architecture and its layering.

Credit Smart Chain Layering

Credit Smart Chain Architecture

It all starts at the base networking layer, which utilizes libp2p. We decided to go with this technology because it fits into the designing philosophies of Credit Smart Chain. Libp2p is:

  • Modular

  • Extensible

  • Fast

Most importantly, it provides a great foundation for more advanced features, which we'll cover later on.

The separation of the synchronization and consensus protocols allows for modularity and implementation of custom sync and consensus mechanisms - depending on how the client is being run.

Credit Smart Chain is designed to offer off-the-shelf pluggable consensus algorithms.

The current list of supported consensus algorithms:

  • IBFT PoS

The Blockchain layer is the central layer that coordinates everything in the Credit Smart Chain system. It is covered in depth in the corresponding Modules section.

The State inner layer contains state transition logic. It deals with how the state changes when a new block is included. It is covered in depth in the corresponding Modules section.

The JSON RPC layer is an API layer that dApp developers use to interact with the blockchain. It is covered in depth in the corresponding Modules section.

The TxPool layer represents the transaction pool, and it is closely linked with other modules in the system, as transactions can be added from multiple entry points.

The GRPC layer is vital for operator interactions. Through it, node operators can easily interact with the client, providing an enjoyable UX.

Libp2p

Synchronization & Consensus

Blockchain

State

JSON RPC

TxPool

GRPC

​
​
​
​
​
​
​
​