/
Relic Explorer

Relic Explorer

Table of Contents

UX

https://www.figma.com/design/cZvNoJDEj07F8bkispR0I4/FIO-Relic-Explorer

Shared

Visual

Functionality

Visual

Functionality

Primary Navigation

FIO Relics Base - wo Nav.png
FIO Relics Base - w Nav.png
  • FIO price

    • Obtain from FIO App back-end?

    • Show 4 decimal points

  • Chain ID

    • Mainnet: 21dcae42c0182200e93f954a074011f9048a7624c6fe81d3c9541a614a88bd1c

    • Testnet: b20901380af44ef59c5918439a1f9a41d83669020319a80574b804a5f95cbd7e

  • Links

    • Chain

      • On click

        • Switch FIO Chain node

          • Mainnet

          • Testnet

    • Launch FIO App

    • Transactions

      • On click

        • Display Transaction List Page

    • Blocks

      • On click

        • Display Blocks List Page

    • FIO Handles

      • On click

        • Display FIO Handles List Page

    • Domains

      • On click

        • Display Domains List Page

    • Accounts

      • On click

        • Display Accounts List Page

    • Governance

      • Producers

        • On click

          • Display Producer Page

      • Proxies

        • On click

          • Display Proxies Page

    • Advanced

      • Contracts

        • On click

          • Display Contracts Page

      • Multisigs

        • On click

          • Display Multisigs Page

Footer

Footer.png

Search Bar

Home Page Hero Search

Search Header.png

Sub-Page Header

Top Header.png

Search Error Return

FIO Relics Base - Error.png
  • Displayed on Home Page and Primary Nav of secondary pages

  • Alt text: "Search by Account, Public Key, Handle, Domain, Transaction"

  • Collect value

    • If valid FIO Public Address format

      • Display Account Page

    • If valid FIO Handle format

      • Display FIO Handle Page

    • If alpha only and 12 characters or special account

      • Look-up in accounts table and if exists display Account Page

    • If ^(?!-)[a-zA-Z0-9-]{1,62}(?\<!-)$

      • Look-up in domains table and if exists display Domain Page

    • If alpha-numeric and 64 characters

      • Look-up in transactions table and if exists display Transaction Page

  • Validation

    • If above fails

      • Return error display and messaging stating: Your search <searchentry> - Did not match any records

Paging

First Page

image-20250411-154602.png

Middle Pages

image-20250411-154628.png

Last Page

image-20250411-154654.png

 

  • Links

    • First

      • On click display first page of results

    • Previous

      • On click display previous page of results

    • Next

      • On click display next page of results

    • Last

      • On click display last page of results

 

Home Page

Visual

Functionality

Visual

Functionality

FIO Relics Base.png
  • URL: /

  • FIO Handles Registered: Count of all handles in handles table

  • FIO Domains Registered: Count of all domains in domains table

  • FIO Handles Active: Count of handles in handles table which have status of active

  • FIO Domains Active: Count of handles in domains table which have status of active

  • Latest Block: head_block_num from /get_info

  • Latest Irreversible Block: last_irreversible_block_num from /get_info

  • Chart: Count of transactions in transactions table by day for last 30 days.

  • Latest Transactions

    • See Transaction List Page for definitions

    • Display 25 transactions sorted DESC by pk_transction_id

  • Links

    • View All Transactions

      • On click display Transaction List Page

  • Updates

    • Update all values every 5 seconds

      • FIO Handles Registered

      • FIO Domains Registered

      • FIO Handles Active

      • FIO Domains Active

      • Latest Block

      • Last irreversible block

      • Replace latest transactions with the latest 25

Transactions

Visual

Functionality

Visual

Functionality

Transaction List

FIO Relics Transactions.png
  • URL: /transactions

  • Transactions: Count of transactions in transactions table for last 30 days.

  • Transaction Fees: Sum of fee in transactions table for last 30 days / 1000000000

  • AVG Transaction Fee: [Sum of fee in transactions table for last 30 days] / 1000000000 / [Count of transactions in transactions table with fee > 0 for last 30 days.]

  • Transactions

    • Display 20 transactions sorted DESC by pk_transction_id

    • Transaction ID: transactions → transaction_id shown as 123456…123456 (first 6 and last 6 with …)

    • Account: accounts → account_name

    • Date: transactions → block_timestamp

    • Action: see Action Mapping

    • Details/Items: see Action Mapping

    • Fees: transaction → fee / 1000000000 FIO

  • Links

    • Paging

    • Transaction ID

      • On click

        • Display Transaction Details Page

    • Account

      • On click

        • Display Account Details Page

Transaction Details

Input

image-20250311-214704.png

Response

image-20250311-214736.png

Traces

image-20250311-214820.png

Raw

image-20250311-214859.png
  • URL: /transactions/transaction_id

  • Generic

    • Transaction ID: transactions → transaction_id

    • Date: transactions → block_timestamp

    • Block: transactions → fk_block_number

    • Status (green): transactions → status

    • Status (yellow):

      • Irreversible: Show if blocks → pk_block_number <= last_irreversible_block_num from /get_info

      • Pending Irreversibility:

        Show if blocks → pk_block_number > last_irreversible_block_num from /get_info

    • Action: see Action Mapping

    • Details/Items: see Action Mapping

    • Account: accounts → account_name

    • Fees: transactions → fee / 1000000000 FIO

  • Input

    • contract: accounts → account_name for transactions → fk_action_account_id

    • action: transactions → action_name

    • transactions → request_data formatted json with value in bold and nessting indent

  • Response

    • contract: accounts → account_name for transactions → fk_action_account_id

    • action: transactions → action_name

    • transactions → response_data formatted json with value in bold and nessting indent

  • Traces (for each trace in traces where fk_transaction_id matches

    • contract: accounts → account_name for traces → fk_action_account_id

    • action: traces → action_name

    • traces → request_data formatted json with value in bold and nessting indent

  • Raw

  • Links

    • Block #

      • On click

        • Display Block Details Page

    • Account

      • On click

        • Display Account Details Page

Blocks

Visual

Functionality

Visual

Functionality

Blocks List

image-20250311-220937.png
  • URL: /blocks

  • Current Block

    • Block Number: blocks → pk_block_number

    • Producer: blocks → producer_account_name supplemented with information from https://bpmonitor.fio.net/api/producers

      • candidate_name

      • fio_address

    • Transactions: Count of entries in transactions for pk_block_number

    • Date: blocks → stamp

    • Block ID: blocks → block_id

  • All Blocks

    • Display 20 blocks sorted DESC by pk_block_number

    • Block Number: blocks → pk_block_number

    • Block ID: blocks → block_id shown as 123456…123456 (first 6 and last 6 with …)

    • Date: blocks → stamp

    • Producer: candidate_name for blocks → producer_account_name from https://bpmonitor.fio.net/api/producers

    • Transactions: Count of entries in transactions for pk_block_number

  • DEV NOTE:

  • Links

    • Paging

    • Block ID

      • On click

        • Display Block Details Page

    • Producer

      • On click

        • Display Account Details Page

Block Details

FIO Relics Block Details.png
image-20250311-223149.png

 

 

  • URL: /blocks/pk_block_number

  • Block Number: blocks → pk_block_number

  • Block ID: blocks → block_id

  • Date: blocks → stamp

  • Status

    • Irreversible: Show if blocks → pk_block_number <= last_irreversible_block_num from /get_info

    • Pending Irreversibility:

      Show if blocks → pk_block_number > last_irreversible_block_num from /get_info

  • Previous Block: blocks → pk_block_number - 1

  • Next Block: blocks → pk_block_number + 1

  • Producer: blocks → producer_account_name supplemented with information from https://bpmonitor.fio.net/api/producers

    • candidate_name

    • fio_address

  • Transactions: Count of entries in transactions for pk_block_number

  • Block Details: all Transactions in block based on transactions → fk_block_number

    • Transaction ID: transactions → transaction_id

    • Account: accounts → account_name

    • Action: see Action Mapping

    • Details/Items: see Action Mapping

    • Fees: transactions → fee / 1000000000 FIO

  • Links

    • Previous Block

      • On click

        • Display Block Details Page

    • Next Block

      • On click

        • Display Block Details Page

    • Transaction ID

      • On click

        • Display Transaction Details Page

    • Account

      • On click

        • Display Account Details Page

FIO Handles

Visual

Functionality

Visual

Functionality

FIO Handles List

FIO Relics Handles.png
  • URL: /handles

  • Registered Handles: Count of all handles in handles table

  • Active Handles: Count of handles in handles table which have status of active

  • All Handles

    • Display 20 handles sorted DESC by pk_handle_id

    • Handle: handles → handle

    • Domain: domains → domain for handles → fk_domain_id

    • Account: accounts → acount_name for handles → fk_owner_account_is

    • Status: handles → status

  • Links

    • Paging

    • Handle

      • On click

        • Display Handle Details Page

    • Domain

      • On click

        • Display Domain Details Page

    • Account

      • On click

        • Display Account Details Page

FIO Handle Details

Transactions

image-20250312-193018.png

Mapped Public Addresses

image-20250312-194507.png

Signed NFTs

image-20250312-194950.png
  • URL: /handles/handle

  • If handles → status == active fetch FIO Handle data from State using /get_table_rows

    • Response shown as rows below

  • FIO Handle: handles → handle

  • Create Date: first handleactivities → block_timestamp for handles → pk_handle_is sorted ASC by pk_handle_activity_id

  • If handles → status == active show Bundled Transactions: rows[0] → bundleeligiblecountdown

  • Account: rows[0] → owner_account

  • Domain: domains → domain for handles → fk_domain_id

  • Status: handles → status

  • Handle Details

    • Transactions

      • Display 20 handleactivities sorted ASC by pk_handle_activity_id

      • Transaction ID: transactions → transaction_id for handleactivities → fk_transaction_id

        shown as 123456…123456 (first 6 and last 6 with …)

      • Account: accounts → account_name for transactions → fk_account_id for handleactivities → fk_transaction_id

      • Date: handleactivities → block_timestamp

      • Action: transactions → action_name for handleactivities → fk_transaction_id see Action Mapping

      • Fee: transactions → fee / 1000000000 FIO for handleactivities → fk_transaction_id

      • Links

        • Paging

        • Transaction ID

          • On click

            • Display Transaction Details Page

        • Account

          • On click

            • Display Account Details Page

    • If handles → status == active show Mapped Public Addresses / Social Media Links

    • If handles → status == active show Signed NFTs

FIO Domains

Visual

Functionality

Visual

Functionality

FIO Domains List

FIO Relics Domains.png
  • URL: /domains

  • Registered Domains: Count of all domains in domains table

  • Active Domains: Count of handles in domains table which have status of active

  • All Domains

    • Display 20 domains where status == active sorted

      • Default Most Recent: DESC by pk_domain_id

      • Most Handles: count of handles where fk_domain_id == domains → pk_domain_id DESC

      • Closest to expiration: domains → expiration_timestamp ASC

    • Domain: domains → domain

    • Account: accounts → acount_name for domains → fk_owner_account_is

    • Public: domains → is_public

    • Registered Handles: count of handles where fk_domain_id == domains → pk_domain_id

    • Status: domains → status

    • Domains Expiration: domains → expiration_timestamp

  • Links

    • Paging

    • Domain

      • On click

        • Display Domain Details Page

    • Account

      • On click

        • Display Account Details Page

    • Only Show Public Domain

      • Default: selected

      • When unselected

        • Display 20 domains sorted DESC by pk_domain_id

      • When selected

        • Display 20 domains where status == active sorted DESC by pk_domain_id

    • Sort - Allow the user to sort 3 parameters with the default being the standard display state.

      • Default: Most Recent

      • Sort by upcoming expiration (burn date)

      • Sory by domains with most handles

  • Updates

    • Update all values every 5 seconds

FIO Domain Details

Transactions

image-20250312-203312.png

Registered FIO Handles

image-20250312-203907.png
  • URL: /domains/domain

  • FIO Domain: domains → domain

  • Expiration Date: domains → expiration_timestamp

  • Account: rows[0] → owner_account

  • If domains → status == active show Public: `domains` → is_public (true = Yes, false = No)

  • Status: domains → status

  • Domain Details

    • Transactions

      • Display 20 domainactivities sorted ASC by pk_domain_activity_id

      • Transaction ID: transactions → transaction_id for domainactivities → fk_transaction_id

        shown as 123456…123456 (first 6 and last 6 with …)

      • Account: accounts → account_name for transactions → fk_account_id for domainactivities → fk_transaction_id

      • Date: domainactivities → block_timestamp

      • Action: transactions → action_name for domainactivities → fk_transaction_id see Action Mapping

      • Fee: transactions → fee / 1000000000 FIO for domainactivities → fk_transaction_id

      • Links

        • Transaction ID

          • On click

            • Display Transaction Details Page

        • Account

          • On click

            • Display Account Details Page

    • If domains → status == active show Registered FIO Handles

      • Handle: handles → handle where fk_domain_id == domains → pk_domain_id

      • Account: accounts → account_name for handles → fk_owner_account_id

        where fk_domain_id == domains → pk_domain_id

      • Status: handles → status where fk_domain_id == domains → pk_domain_id

      • Links

        • Paging

        • Handle

          • On click

            • Display Handle Details Page

        • Account

          • On click

            • Display Account Details Page

Accounts

Visual

Functionality

Visual

Functionality

Account List

FIO Relics Accounts.png
  • URL: /accounts

  • Account Holders: Count of all accounts in accounts table

  • Max Token Supply: 1,000,000 FIO

  • Current Token Supply: total_supply from /supply?json=true

  • Circulating Token Supply: circulating_supply from /circulating?json=true

  • FIO price

    • Obtain from FIO App back-end?

    • Show 4 decimal points

  • Staked FIO: staked_token_pool from /staking

  • Locked Supply: locked_tokens from /locked?json=true

  • All Accounts

    • Display 20 accounts sorted by

      • Default: Creation date: DESC by pk_account_id

      • FIO Balance: DESC by accounts → balance

      • Most Handles: DESC Handles: count

      • Most Domains: DESC Domains: count

    • Account: accounts → account_name

    • Handles: count of handles where handles → fk_owner_account_id == accounts → pk_account_id

    • Domains: count of domains where domains → fk_owner_account_id == accounts → pk_account_id

    • FIO Balance: accounts → balance

    • Creation Date: accounts → block_timestamp

    • Links

      • Paging

      • Account

        • On click

          • Display Account Details Page

Account Details

Transactions

FIO Relics Account Details - Transactions.png

FIO Handles

FIO Relics Account Details - Handles.png

FIO Domains

FIO Relics Account Details - Domains.png

Voting

FIO Relics Account Details - Voting.png

Keys/Permissions

Permissions.png
  • URL: /acconts/account_name

  • Account: accounts → account_name

  • Fetch

    • /get_table_rows

      • { "json": true, "code": "eosio", "scope": "eosio", "table": "producers", "lower_bound": "account_name", "upper_bound": "account_name", "index_position": 4, "key_type": "name" }
      • Referred to as producer-rows

    • /get_table_rows

      • { "json": true, "code": "eosio", "scope": "eosio", "table": "voters", "lower_bound": "account_name", "upper_bound": "account_name", "index_position": 3, "key_type": "name" }
      • Referred to as voters-rows

    • /get_fio_balance

      • { "fio_public_key": "accounts -> public_key" }
      • Referred to as fio-balance

  • If producer-rows non-empty and producer-rows → is_active == 1 Display Block Producer label

  • If voters-rows non-empty and voters-rows → is_proxy == 1 Display Proxy label

  • Public Key: accounts → public_key

  • Creation Date: accounts → block_timestamp

  • Block: accounts → fk_block_number

  • Total FIO Balance: fio-balance → balance / 1000000000

  • Available balance: fio-balance → available / 1000000000

  • Staked FIO: fio-balance → staked / 1000000000

  • Total FIO Balance Value: fio-balance → balance / 1000000000 * FIO Price

  • Locked FIO: [fio-balance → balance / 1000000000] - [fio-balance → available / 1000000000]

  • Accrued Staking Rewards: [[fio-balance → srps * fio-balance → roe * 0.9] - [fio-balance → staked]] / 1000000000

  • Transactions

    • Display 20 transactions sorted by pk_transaction_id DESC where:

      • transactions → fk_account_id == accounts → pk_account_id (SENDER - GREEN ARROW) or

      • transactions → pk_transaction_id == account_activities → fk_transaction_id and

        accounts → pk_account_id == account_activities → fk_account_id (RECEIVER - RED ARROW)

    • Transaction ID: transactions → transaction_id shown as 123456…123456 (first 6 and last 6 with …)

    • Date: transactions → block_timestamp

    • Action: see Action Mapping

    • Details/Items: see Action Mapping

    • Fees: transaction → fee / 1000000000 FIO

    • FIO Tokens:

      • Join token_transfers on fk_payer_account == accounts → pk_account_id and display sum of token_transfers → fio_suf_amount / 1000000000 as negative (red)

      • Join token_transfers on fk_payer_account == accounts → pk_account_id and display sum of token_transfers → fio_suf_amount / 1000000000 as positive (green)

    • Links

      • Paging

      • Transaction ID

        • On click

          • Display Transaction Details Page

      • Account

        • On click

          • Display Account Details Page

      • Load More

        • Add 20 more transactions

  • FIO Handles

    • Display 20 handles sorted by handle ASC where handles → fk_owner_account_id == accounts → pk_account_id

    • Handle: handles → handle

    • Status: handles → status

    • Links

      • Paging

      • Handle

        • On click

          • Display Handle Details Page

  • FIO Domains

    • Display 20 domains sorted by domain ASC where domains → fk_owner_account_id == accounts → pk_account_id

    • Domain: domains → domain

    • Public: domains → is_public (true: Yes, false: No)

    • Registered Handles: count of handles where fk_domain_id == domains → pk_domain_id

    • Status: domains → status

    • Domain Expiration: domains → expiration_timestamp

    • Links

      • Paging

      • Domain / Registered handle count

        • On click

          • Display Domain Details Page

  • Voting

  • Keys/Permissions

    • /v1/chain/get_account and display permissions

Governance

Visual

Functionality

Visual

Functionality

Producers

image-20250313-191045.png

Proxies

FIO Relics Proxies.png

Contracts

Visual

Functionality

Visual

Functionality

FIO Relics Advanced - Contract Display - Pre Selection.png
FIO Relics Advanced - Contract Table Select.png

 

FIO Relics Advanced - Contract Display.png
  • URL: /state_data

  • Contracts

    • eosio

    • eosio.msig

    • fio.address

    • fio.escrow

    • fio.fee

    • fio.oracle

    • fio.perms

    • fio.reqobt

    • fio.staking

    • fio.token

    • fio.tpid

    • fio.treasury

  • Fetch tables for selected contract using get_table_scope and get_table_rows, see: https://github.com/pawmmm/fio-table-explorer

    • { "json": true, "code": "contract name", "scope": "see above", "table": "table name", "reverse": false }
    • When reverse is clicked resubmit with reverse = true

Multi-sigs

Visual

Functionality

Visual

Functionality

Multi-sigs List

FIO Relics Advanced - Multi-Signature.png
  • URL: /multi-sigs

  • Fetch using Hyperion: /v2/state/get_proposals

    • limit : 20

    • skip: 0 (number of results to skip for paging)

  • Display

    • Proposer: proposals → proposer

    • Proposal Name: proposals → proposal_name

    • Executed: proposals → executed

    • Request/Approval Status: count requested_approval / (count provided_approvals +

      count requested_approval)

    • Date: look-up date of block in Relic for proposals → block_num

    • Links

      • Proposal Name / Show Proposal

        • On click

          • Display Multi-sig Details Page

      • Proposer

        • On click

          • Show Account Details Page

      • Paging

Multi-sig Details

FIO Relics Advanced - Multi-Signature Details.png
  • URL: /multi-sig/proposal

  • Fetch using Hyperion: /v2/state/get_proposals

    • proposal : name of proposal

  • Display

    • Proposer: proposals → proposer

    • Proposal Name: proposals → proposal_name

    • Executed: proposals → executed

    • Request/Approval Status: count requested_approval / (count provided_approvals +

      count requested_approval)

    • Date: look-up date of block in Relic for proposals → block_num

    • Requested Approvals

      • requested_approvals → actor + provided_approvals + actor

      • Date signed

        • provided_approvals → time for actor

      • Status

        • If actor present in provided_approvals show Approved, else Pending

    • Links

      • Actor

        • On click

          • Show Account Details Page

Transaction Action Mapping

The following is a mapping of action_name in transactions table to human-readable name used to describe the transaction and details to elevate. Details are constructed from request_data. If mapping does not exist show defaults as follows:

  • description: action_name

  • details:

Action name

Description

Details

Action name

Description

Details

regproducer

Register Block Producer

fio_address

unregprod

Unregister Block Producer

fio_address

setfeevote

Submit Fee Ratios

 

setfeemult

Submit Fee Multiplier

multiplier

computefees

Compute Fees

 

bundlevote

Submit Bundled Count

 

bpclaim

Claim BP Reward

fio_address

tpidclaim

Pay TPID Rewards

 

burnexpired

Burn Expired Domains

 

burnnfts

Burn NFT Signatures

 

voteproducer

Vote on Block Producers

fio_address

voteproxy

Proxy Vote

proxy

regproxy

Register Proxy

fio_address

unregproxy

Unregister Proxy

fio_address

newfioacc

New FIO Chain Account

fio_public_key

shown as 123456…123456 (first 6 and last 6 with …)

addperm

Add Permission

 

remperm

Remove Permission

 

recordobt

Record FIO Data

From payer_fio_address to payee_fio_address

addaddress

Map Public Address

fio_address

remaddress

Unmap Public Address

fio_address

remalladdr

Unmap All Public Addresses

fio_address

regaddress

Register FIO Handle

fio_address

regdomadd

Register FIO Handle & Domain

fio_address

addbundles

Add Bundled Transactions

fio_address

xferaddress

Transfer FIO Handle

fio_address

renewaddress

Renew FIO Handle

fio_address

burnaddress

Burn FIO Handle

fio_address

regdomain

Register FIO Domain

fio_domain

renewdomain

Renew FIO Domain

fio_domain

xferdomain

Transfer FIO Domain

fio_domain

setdomainpub

Change Domain Setting

  • If is_public == 1

    • fio_domain set to public

  • If is_public == 0

    • fio_domain set to private

wrapdomain

Wrap FIO Domain

fio_domain

newfundsreq

New FIO Request

From payee_fio_address to payer_fio_address

cancelfndreq

Cancel FIO Request

 

updcryptkey

Update Encryption Key

fio_address

trnsfiopubky

Transfer FIO Tokens

amount / 1000000000 FIO to fio_public_key

shown as 123456…123456 (first 6 and last 6 with …)

trnsloctoks

Transfer and lock FIO Tokens

amount / 1000000000 FIO to fio_public_key

shown as 123456…123456 (first 6 and last 6 with …)

stakefio

Stake FIO Tokens

amount / 1000000000 FIO

unstakefio

Unstake FIO Tokens

amount / 1000000000 FIO

wraptokens

Wrap FIO Tokens

amount / 1000000000 FIO to chain_code

retire

Burn FIO Tokens

quantity / 1000000000 FIO

addnft

Sign NFTs

fio_address

remnft

Remove NFT Signatures

fio_address

remallnfts

Remove All NFT Signatures

fio_address

Related content