Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Page Spec

Item

Content

Page URL

/fio-chain/overview

Page Title

FIO Protocol - FIO Chain Overview

Design

https://

overflow

www.figma.

io

com/

s

file/

063FS4KU

n33HwJfIuwy068A7G0Bdpg/FIO-Website?type=design&node

=4543c74a&prototype

-id=576-5607

Section Content

FIO Chain Live

...

  • Current block: 202,826,624

  • Produced by: Detroit Ledger Technologies

  • Block transactions

    • Register FIO Crypto Handle: test@test

Actions

  • Search for transactions

L1 Chain purpose-built for usability

FIO Chain is a fully decentralized public Delegated Proof of Stake (DPoS) blockchain that is designed specifically to support the the unique usability requirements of the FIO Protocol.

Benefits and Innovations

Fast, Scalable and Open-source

Powered by Industry-leading open-source Antelope tech stack, built for speed and scale.

Learn More

Fully Decentralized

FIO Chain is a public blockchain ran by many independent Block Producers around the world, focused on the FIO Protocol’s usability mission.

Learn More

Properly Incentivized

The FIO Chain and its native FIO Token, enabled the creation of an innovative incentive system, which rewards ecosystem participants for acting in the best interest of the protocol.

Learn More

Gas-free for Most, Stable Fees for All

Every FIO Handle comes bundled with gas-free transactions, ensuring most users can interact with the FIO Chain without the complexities of gas fees. Fees for premium transactions are pegged to the rate of exchange of FIO Token to ensure price predictability.

Learn More

Auto-proxy

If users don’t participate in governance, their tokens are automatically proxied to the wallet creator, so that they can vote to best represent their users.

Learn More

Encrypted Data

Although the FIO Chain is public, details of user transactions are encrypted to ensure privacy.

Learn More

Security Audits

Multiple FIO Chain audits performed by:

https://cryptolions.io

https://www.sentnl.io/

https://www.halborn.com/

Continuously improving

...

!

When user clicks Search or hits enter redirect to the following url (same tab) based on content in this order:

Content format

Redirect Url

String longer than 64 characters

https://fio.bloks.io/transaction/STRING

Regex: ^FIO[A-HJ-NP-Za-km-z1-9]{50}$

https://fio.bloks.io/key/STRING

Regex: ^(?:(?=.{3,64}$)[a-zA-Z0-9]{1}(?:(?!-{2,}))[a-zA-Z0-9-]*(?:(?<!-))@[a-zA-Z0-9]{1}(?:(?!-{2,}))[a-zA-Z0-9-]*(?:(?<!-))$)

https://fio.bloks.io/address/STRING

Regex: ^(?=.{1,62}$)[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]$

https://fio.bloks.io/domain/STRING

Dynamic Content

  • On initial load show “Waiting for data” (see Figma) before data is populated from APIs

  • This content needs to refresh every 3 seconds

  • Show max 5 transactions and then start replacing the older ones

Content element

Endpoint

Request

Response

Latest Block Producer

GET https://fio.blockpane.com/v1/chain/get_info

N/A

Use head_block_producer to get Latest Block Producer account name

Code Block
{
    "server_version": "533ed469",
    "chain_id": "21dcae42c0182200e93f954a074011f9048a7624c6fe81d3c9541a614a88bd1c",
    "head_block_num": 208004440,
    "last_irreversible_block_num": 208004104,
    "last_irreversible_block_id": "0c65e40850aef57864d6ee3621b71cb90f40101628afa07a9b6dffc9ee124a41",
    "head_block_id": "0c65e5584c7f8b5901d1c3b54cd8a76afc27eb650bc21428b1a6a58dc7b8319b",
    "head_block_time": "2023-07-12T19:18:17.500",
    "head_block_producer": "hislmnfx13ya",
    "virtual_block_cpu_limit": 200000000,
    "virtual_block_net_limit": 1048576000,
    "block_cpu_limit": 199900,
    "block_net_limit": 1048576,
    "server_version_string": "v3.3.0",
    "fork_db_head_block_num": 208004440,
    "fork_db_head_block_id": "0c65e5584c7f8b5901d1c3b54cd8a76afc27eb650bc21428b1a6a58dc7b8319b"
}

GET https://bpmonitor.fio.net/api/producers

N/A

  1. Iterate through rows until you find owner which matches Last Block Producer account name from step above

  2. Use:

    1. fio_address as Block Producer Name

    2. website as Website URL

    3. brandinglogo_svg as Logo

      • If not present use logo_256

        • If not present use generic “block” icon same as next to Last Block

    4. location_name as as Country

    5. flagIconUrl as flag image url

    6. socialstwitter as Twitter URL

    7. socialstelegram as Telegram URL

      1. Do not show icon if not present

    8. socialstwitter as Twitter URL

      1. Do not show icon if not present

Latest Block

GET https://fio.blockpane.com/v1/chain/get_info

N/A

Use head_block_num

Code Block
{
    "server_version": "533ed469",
    "chain_id": "21dcae42c0182200e93f954a074011f9048a7624c6fe81d3c9541a614a88bd1c",
    "head_block_num": 208004440,
    "last_irreversible_block_num": 208004104,
    "last_irreversible_block_id": "0c65e40850aef57864d6ee3621b71cb90f40101628afa07a9b6dffc9ee124a41",
    "head_block_id": "0c65e5584c7f8b5901d1c3b54cd8a76afc27eb650bc21428b1a6a58dc7b8319b",
    "head_block_time": "2023-07-12T19:18:17.500",
    "head_block_producer": "hislmnfx13ya",
    "virtual_block_cpu_limit": 200000000,
    "virtual_block_net_limit": 1048576000,
    "block_cpu_limit": 199900,
    "block_net_limit": 1048576,
    "server_version_string": "v3.3.0",
    "fork_db_head_block_num": 208004440,
    "fork_db_head_block_id": "0c65e5584c7f8b5901d1c3b54cd8a76afc27eb650bc21428b1a6a58dc7b8319b"
}

Transactions

POST https://fio.blockpane.com/v1/chain/get_block

Use head_block_num from previous call

Code Block
languagejson
{
    "block_num_or_id":211471729
}

Iterate through transactions and use:

  • trxid as Transaction ID

  • trxtransactionactionsaccount as Contract

  • trxtransactionactionsname as Action

  • trxtransactionactionsdata as Data for overlay JSON prettifed

Make entire transaction id in list and overlay link to: https://fio.bloks.io/transaction/Transaction ID

Code Block
{
    "timestamp": "2023-08-01T20:54:21.500",
    "producer": "hkzfdcxe11us",
    "confirmed": 0,
    "previous": "0c9acd700209ed7c07db7ffafb5d33f573dc5cc86da32b50ae9bfd529a13a229",
    "transaction_mroot": "fdbacf566dd051a4bb0585ff93a9ddc539fe238475df9c0e2178430b3d953f13",
    "action_mroot": "73d52b411115f553b93871926105f3b0c7c02b2ffc5db2e5c6e48ba7572143f6",
    "schedule_version": 344,
    "new_producers": null,
    "header_extensions": [],
    "producer_signature": "SIG_K1_KfzzrwZVE4ZRToxKCd4YJ4ULnNXmXeUc5RxPs6rDid5hqT1ecEJU56ZdofDZJd6qXLE3edvKfRJuF6apxHXsoJtA9RubKP",
    "transactions": [
        {
            "status": "executed",
            "cpu_usage_us": 11248,
            "net_usage_words": 25,
            "trx": {
                "id": "cdfd9053f804e5b57037802a9f406723ff92a177f5c92b355fdaf9ed04537544",
                "signatures": [
                    "SIG_K1_Kb8W4hLnEQ1xBf1mXz8VD44dC18De91APEGk5fuMW8szYrpHhq4Hf7T9Ke27iK9favSRYj141UJRPz47GH4cyTpiWhAbVf"
                ],
                "compression": "none",
                "packed_context_free_data": "",
                "context_free_data": [],
                "packed_trx": "ae71c96419cc84a6bf7b0000000001003056372503a85b0000c6eaa66498ba01f0d08101d981e4da0000c6eaa66498ba6a156a6b7434386164656c6c696f6e40747769747465723546494f383552763376726432713273514d35487378544852745162565a4c573744626841706b515567594772415a6f4475425754380098f73e5d010000f0d08101d981e4da0d64617368626f6172644066696f00",
                "transaction": {
                    "expiration": "2023-08-01T20:57:18",
                    "ref_block_num": 52249,
                    "ref_block_prefix": 2076157572,
                    "max_net_usage_words": 0,
                    "max_cpu_usage_ms": 0,
                    "delay_sec": 0,
                    "context_free_actions": [],
                    "actions": [
                        {
                            "account": "fio.address",
                            "name": "regaddress",
                            "authorization": [
                                {
                                    "actor": "vfmc3qc1kbcj",
                                    "permission": "regaddress"
                                }
                            ],
                            "data": {
                                "fio_address": "jkt48adellion@twitter",
                                "owner_fio_public_key": "FIO85Rv3vrd2q2sQM5HsxTHRtQbVZLW7DbhApkQUgYGrAZoDuBWT8",
                                "max_fee": 1500000000000,
                                "actor": "vfmc3qc1kbcj",
                                "tpid": "dashboard@fio"
                            },
                            "hex_data": "156a6b7434386164656c6c696f6e40747769747465723546494f383552763376726432713273514d35487378544852745162565a4c573744626841706b515567594772415a6f4475425754380098f73e5d010000f0d08101d981e4da0d64617368626f6172644066696f"
                        }
                    ],
                    "transaction_extensions": []
                }
            }
        }
    ],
    "block_extensions": [],
    "id": "0c9acd71926300f1c0aaaf185744a76b3dbf6f964da11b2ed520ec4dab087100",
    "block_num": 211471729,
    "ref_block_prefix": 414165696
}

Benefits and Innovations

Links will be added later