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://www.figma.com/file/n33HwJfIuwy068A7G0Bdpg/FIO-Website?type=design&node-id=576-5607

Section Content

FIO Chain Live!

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"
}
POST

GET https://bpmonitor.fio.

blockpane.com

net/

v1

api/

chain/get_table_rows

Always same

Code Block
{
    "json": true,
    "code": "eosio",
    "scope": "eosio",
    "table": "producers"
}

GET BASE URL /bp.json

N/A

Use:

org

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

  • url as Base URL to use in next step

  • Code Block
    {
        "rows": [
            {
                "id": 0,
                "owner": "dacobcm2lnnc",
                "fio_address": "bp@thedac",
                "addresshash": "0x44ddade5cd4acba595ea2a42c23414b2",
                "total_votes": "298659819248324224.00000000000000000",
                "producer_public_key": "FIO8UxsfvX6QpjukrFqbaUMtT7WfeiXZRE26F4ATAwYjwZacUACNw",
                "is_active": 1,
                "url": "https://eosdac.io",
                "unpaid_blocks": 0,
                "last_claim_time": "2023-04-24T18:27:32.500",
                "last_bpclaim": 1682433093,
                "location": 10
            },
        ]
    }
      1. website as Website URL

    org
      1. brandinglogo_svg as Logo

        • If not present use logo_256

          • If

    image fails to load
          • not present use generic “block” icon same as next to Last Block

    orglocationcountry
      1. location_name as as Country

    orgsocial
      1. flagIconUrl as flag image url

      2. socialstwitter as Twitter URL

      3. socialstelegram as Telegram URL

        1. Do not show icon if not present

    org
      1. socials

    socialtelegram
      1. twitter as

    Telegram
      1. Twitter URL

        1. Do not show icon if not present

    Code Block
    languagejson
    { "producer_account_name": "bp@blockpane", "org": { "candidate_name": "Block Pane", "website": "https://blockpane.com", "code_of_conduct":"https://blockpane.com/conduct/index.html", "ownership_disclosure":"https://blockpane.com/about/index.html", "email":"security@blockpane.com", "github_user":"blockpane", "chain_resources": "", "other_resources": [], "branding":{ "logo_256":"https://blockpane.com/images/bp-256.png", "logo_1024":"https://blockpane.com/images/bp-1024.png", "logo_svg":"https://blockpane.com/images/blockpane.svg" }, "location": { "name": "Colorado", "country": "USA", "latitude": 39.739235, "longitude": -104.990250 }, "social": { "keybase": "blockpane", "telegram": "blockpane", "github":"blockpane" } }, "nodes": [] }

    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