System Architecture Overview

ChainStorage is comprised of the following components:

Untitled

Figure 2: System Architecture

Storage

In the context of this document, a block refers to a block header, as well as its linked data including transactions, traces, receipts, token transfers, etc. The metadata is stored in DynamoDB (with a consistent schema across blockchains), and the blob data is stored in S3 (with varying schema across blockchains).

DynamoDB is used as a key-value storage, and S3 is used as blob storage. Therefore, ChainStorage should not be tightly coupled with these specific storage implementations.

DynamoDB

S3

Cadence Workflows

Cadence is a fault-tolerant and highly scalable orchestration framework. The core of ChainStorage will be implemented as Cadence workflows. Cadence allows for the easy implementation of long-running and periodic workflows.

Backfiller

Poller

Monitor