FIO Release 3.0 Explained
It has been a while since we have posted out a development update. The reason: we have been heads down working on our next v3.0 chain release! Version 3.0 provides a number of enhancements requested in FIO Improvement Proposals and includes some blockchain-level performance improvements to make it easier for wallets to access FIO transaction data.
A few statistics on the FIO v3.0 release:
- Includes features for 11 FIPs (https://github.com/fioprotocol/fips) including: FIP-1.b (xfer address), FIP-6 (xfer locked tokens), FIP-7 (Burn FIO Address), FIP-9 (Vote and proxy without FIO Address), FIP-10 (Redesign fee computations), FIP-11.a (Add bundled transactions), FIP-13 (Retrieve all pub addresses), FIP-16 (clio enhancements), FIP-18 (Chain level public addresses), FIP-19 (Retrieve all received FIO Requests), and FIP-25 (Return bundle transaction count in get_fio_names), 8 new API endpoints and modifications to 14 API endpoints
For more technical information refer to the Version 3.0 Release Notes.
FIP-1(b) — Enable users to transfer FIO Addresses
Both FIO Domains and FIO Addresses are non-fungible tokens (NFTs) that are owned by a FIO Public Key. FIP-1(b) enables users to transfer their FIO Address (e.g., myname@mydomain) to a new owner.
FIP-6 — Enable the locking of FIO tokens
Previously, there was no way for individuals to lock tokens for themselves as savings or for security reasons. In addition, there are certain cases where groups or individuals may want to grant or sell locked tokens. FIP-6 enables users to lock tokens for a specified period of time. When a transfer of locked tokens is initiated, the target account is created, the specified amount of FIO Tokens are transferred to the account, and the tokens are locked for a specified amount of time. The account can function normally–funds may be transferred in and out of the account–except that the original amount of locked tokens remain locked until the unlock periods are reached.
FIP-7 — Provide the ability to burn a FIO Address
An owner should be able to burn their FIO Address ahead of expiration if they no longer wish to use it and want to purge all associated data. There are many reasons why someone would want to burn their FIO Address including business/personal requirements, cost effectiveness, or spam prevention. FIP-7 gives users the ability to burn their FIO Address.
FIP-9 — Vote for block producers and proxy votes without a FIO Address
Currently voting for a block producer or assigning your votes to a proxy requires that you have a FIO Address. FIP-9 makes voting and proxying votes easier for FIO users by allowing voting and proxying even when the token holder does not have a FIO Address.
FIP-10 — Make it easier for Block Producers to update FIO transaction fees
It is critical that fees associated with transactions on the FIO blockchain are set appropriately. Fee setting can be difficult for FIO Block Producers, who are in charge of fee setting for the protocol, due to fluctuations in the price of the FIO Token. FIP-10 updates the FIO fee voting functionality and enables Block Producers to set fee ratios (the relative cost of different transactions on the FIO blockchain) and fee multipliers (a single number that can be adjusted to track the price of the FIO Token). Subsequently, the multiplier can be adjusted in response to FIO Token price fluctuations.
FIP-11(a) — Enable users to purchase FIO transaction bundles
Bundled transactions make it easier for everyday users to interact with the FIO Protocol. Users pay a single annual fee for the FIO Address and get with it enough bundled transactions to cover an average amount of annual interactions with the FIO chain. Currently, users who want to process more transactions can either pay a per transaction fee for all additional transactions or renew their FIO Address early, which adds a new bundle of transactions and extends the FIO Address expiration date. However, this requires that heavy users of FIO Protocol have to run multiple Address renewals in sequence to increase their bundle count. FIP-11 enables users to purchase multiple sets of bundles with a single transaction.
FIP-13 — Retrieve all public addresses for a FIO Address
Wallets that have integrated FIO must be able to quickly retrieve the crypto public addresses that users have mapped to their FIO Addresses. This address lookup is necessary when a user wants to send crypto using a FIO Address and is also useful when users want to know which crypto public addresses they have mapped to their FIO Address. Currently it is only possible to retrieve a single public address for specific chain and token code. This works great for a look-up of a specific token code, but it’s not practical for a wallet wanting to fetch and display all public address mappings to the owner of a FIO Address. FIP-13 enables wallets to get, in a single call, all mapped public addresses for a specified FIO Address.
FIP-16 — CLIO enhancements for Block Producers and developers
CLIO is a command-line interface designed to make a developer’s life easier by providing the basic tools for interaction with the FIO blockchain, both for reading data from the blockchain history and for sending new transactions to the blockchain. FIP-16 adds several enhancements to CLIO including the creation of additional subcommands to support FIO actions, the cleanup and repair of existing subcommands, and an expansion of FIO error codes to improve debugging.
FIP-18 — More easily map ERC-20 tokens to your FIO Address
Previously, mapping other crypto public addresses to a FIO Address required a unique chain code and token code for every key. This created unnecessary overhead in cases where multiple tokens on a particular chain share a single crypto public address (e.g., ERC-20 tokens). FIP-18 enables users to map to a “generic” token code that indicates all tokens for that chain are mapped to the same blockchain public address.
FIP-19 — Enable wallets to efficiently retrieve FIO Request data
Currently it is possible for wallets to retrieve all received FIO Requests in the pending status and all sent FIO Requests, but there is no way to fetch all received FIO Requests irrespective of status. This limits a wallet’s ability to properly display all of a user’s FIO Requests and their respective status. FIP-19 improves the performance and usability of wallets by enabling them to retrieve all received FIO Requests, irrespective of status, with a single call.
FIP-25 — Access bundled transaction count
It is currently difficult to obtain the remaining bundled transaction count for a FIO Address. Users want to see their bundled transaction count to see how many FIO transactions they have left, and to know when they will need to renew their FIO Address or purchase more bundles. FIP-25 makes it easier for wallets to display to users their remaining bundled transaction count.
FIO performance improvements
One of the underlying performance issues for blockchains is the need to reduce the size of individual transactions in order to support the processing of a greater number of user interactions. As a result, most chains limit the number of records that can be returned for a single query. This impacts wallets when they attempt to retrieve large amounts of data from a blockchain and can affect the amount and quality of data wallets are able to show to their users. The v3.0 release updates how FIO Requests and FIO Data are stored with the goal of improving query response time. This optimization will enable wallets to retrieve more data with a single query and will also enable wallets to more efficiently filter the data returned from FIO.