...
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Overview
--cleanup--
FIO Relic is a fork of Antelope Memento and is intended to receive FIO Chain data stream from the FIO Chain Node via EOS Chronicle. FIO specific data is extracted from the stream and stored in a Relational Database (RDB) for future query via an application which connects to to the FIO Chain node to receive all transaction data, transforms this data into FIO Protocol specific data, inserts int into a relational database and makes the content available via HTTP API. The following document is intended to be functional specification for the FIO Relic System.
Components
Application Components
Data
...
This component is responsible for reading the data in the data stream and looking for FIO-specific data, parsing it, and inserting into RDB.
Example:
When an action registering FIO Domain is observed, insert it into domains table.
Query API
This component is responsible for receiving an API request, fetching relevant data from the RDB and returning to the API user.
Example:
...
Pipeline
Data Pipeline (FIO.Chronicle) is a software application designed to connect to FIO Chain State History, receive the data and transform it to JSON. It is a fork of the EOSChronicle project.
receiver – a new receiver will be made that will meet RELIC specific needs. the receiver will process only relic relevant events from the fio state history node.
decoder – a decoder component will be made that meets relic specific needs, converting relic bin data collected and queued from history node receiver into json to be consumed by a relic specific exporter.
exporter – a new exporter will be made that will export data directly into the relic Postgres relational database.
Database
Postgres Relational Database to store FIO Chain information.
API
HTTP server to return information from database.
Push Notification System
This component will be developed in Phase 2.
...
Field | Source Data |
---|---|
handle |
|
transaction_id | |
type | “auto_burn” |
API
/get_blocks
Returns block information.
...