Table of Contents
Overview
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 API. The following document is intended to be functional specification for the FIO Relic System.
Components
Data Transformation
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:
Fetch all FIO Domains registered in specific time-frame.
Push Notification System
This component will be developed in Phase 2.
This component allows an API user to subscribe to specific events and then receive notification if such event has occurred during data transformation.
Examples
“Notify supplied webhook on every new FIO Domain registration”
“Notify when a FIO Request for specific FIO Handle is observed”
Specification
Data Model
blocks
Field | Description | Data stream field name | Relationship |
---|---|---|---|
number | Block number as generated by FIO Node |
| transactions->block_num |
id | Block ID as generated by FIO Node |
| |
timestamp | Timestamp as generated by FIO Node |
| |
producer | Account name of producer which produced the block |
| |
schedule_version | Version of BP schedule |
|
transactions
Field | Description | Data stream field name | Relationship |
---|---|---|---|
block_number | Block which contained this transaction |
| blocks->number |
id | Transaction id |
| traces->transaction_id |
account | Account name for action |
| |
action | Action name |
| |
actor | Actor which executed the transaction |
| |
tpid | TPID which was recorded in tranaction |
| |
fee | FIO Chain fee paid for this transaction |
| |
request_data | Raw request data for primary trace |
| |
response_data | Raw response data for primary trace |
|
traces
Field | Description | Data stream field name | Relationship |
---|---|---|---|
id | Trace id | accounts->trace_id | |
transaction_id | Transaction ID | transactions->id | |
action_ordinal | Sequential order of trace in transaction |
| |
account | Account name for trace |
| |
action | Action name fro trace |
| |
request_data | Raw request data for trace |
|
accounts
Field | Description | Data stream field name | Relationship |
---|---|---|---|
account | Account name | account_transactions->account | |
trace_id | Trace ID which created account | traces->id |
account_transactions
Field | Description | Data stream field name | Relationship |
---|---|---|---|
account | Account name | accounts->account | |
transaction_id | Transaction ID | transactions->id | |
type | Type of impact the transaction had on on account |
domains
Field | Description | Data stream field name | Relationship |
---|---|---|---|
domain | Domain name | domain_activity->domain | |
owner | Account Name of current owner | accounts->account | |
expiration | Timestamp of domain expiration | ||
status | Current status of domain |
domain_activity
Field | Description | Data stream field name | Relationship |
---|---|---|---|
domain | Domain name | domains->domain | |
owner | Account Name of current owner | accounts->account | |
trace_id | Trace ID of domain activity | traces->id | |
type | Type of activity |
handles
Field | Description | Data stream field name | Relationship |
---|---|---|---|
handle | Handle name | ||
owner | Account Name of current owner | accounts->account | |
bundled_tx | Bundled tx count |
handle_activity
Field | Description | Data stream field name | Relationship |
---|---|---|---|
handle | Handle name | handles->handle | |
owner | Account Name of current owner | accounts->account | |
trace_id | Trace ID of handle activity | traces->id | |
type | Type of activity |
Add Comment