FIO Handle
Overview
Most FIO Protocol functionality requires a user to have a FIO Handle. An integrator may choose to enable their users to register and manage their FIO Handles natively in their application or via a link off.
Native Integration
For wallets desiring full control over the registration user experience, the best strategy is to execute registration actions directly to the FIO Chain.
Get Free FIO Handles for your users
The FIO Foundation may be able to fund new FIO Handle registrations for qualified partners. Please reach out to the FIO Foundation's Partnerships Team for further information.
Getters
Integrating these actions do not require the integrator to have access to user's FIO Private Key.
Available FIO Handle Getters
Endpoint | Description |
---|---|
/get_fio_addresses | Returns FIO Handles owned by the supplied FIO Public Key. |
/get_fio_addresses | Returns FIO Handles owned by the supplied FIO Public Key. |
/avail_check | Checks if a FIO Handle or FIO Domain is available for registration. |
To understand how to fetch FIO Handle mappings, see FIO Handle Mapping Guide.
Available FIO Domain Getters
Endpoint | Description |
---|---|
/get_fio_domains | Returns FIO Domains owned by the supplied FIO Public Key. |
Write Transactions
Integrating these actions require the integrator to have access to user's Private key and properly serialize and sign each transaction. For additional information, see Write Transaction.
Available FIO Handle Actions
Action | Description | Can be paid with bundled tx? |
---|---|---|
regaddress | This action registers a new FIO Handle. | No |
regadddom | This action registers a new FIO Handle and a new FIO Domain in single transaction. | No |
addbundles | This action adds 100 bundled transactions to the supplied FIO Handle. | Yes |
xferaddress | This action transfers ownership of the supplied FIO Handle to a new owner. | No |
burnaddress | This action burns (deletes) supplied FIO Handle. | No |
To understand how to manage FIO Handle mappings, see FIO Handle Mapping Guide.
Available FIO Domain Actions
FIO Domains can be used to customize the FIO Handles.
Action | Description | Can be paid with bundled tx? |
---|---|---|
regdomain | This action registers a new FIO Domain. | No |
renewdomain | This action renews a FIO Domain and adds 365 days to its current expiration date. | No |
xferdomain | This action transfers ownership of the supplied FIO Domain to a new owner. | No |
setdomainpub | This action sets the is_public switch on the supplied FIO Domain. By default all FIO Domains are non-public, meaning only the owner can register FIO Handles on that domain. Setting them to public allows anyone to register a FIO Handle on that domain. | No |
wrapdomain | This action wraps FIO Domain to another chain. | No |
FIO Handles on Private Domains
When a FIO Domain is first registered, it is set to be private, meaning only the account which owns the domain, can register FIO Handles on it. When integrating, this means that regaddress action has to be signed by the FIO Private key associated to the account, which owns the FIO Domain.
Alternatively, you can:
- Use Permissions to let the registering account register FIO Handles on private domains.
- Use regdomadd action to register FIO Handle and FIO Domain in the same transaction.
FIO Handle and Domain Formats
FIO Handle
Minimum characters (including domain) | Maximum characters (including domain) | Characters allowed | Regex |
---|---|---|---|
3 | 64 | ASCII a-z 0-9 - (dash) with single @ (at sign) / Cannot start or end with a dash | ^(?=.{3,64}$)(?!-)[a-zA-Z0-9-]+(?\<!-)@(?!-)[a-zA-Z0-9-]+(?\<!-)$ |
Examples
- vitalik@safu
- a@b
- 1@2
- a-z@0-9
FIO Domain
Minimum characters | Maximum characters | Characters allowed | Regex |
---|---|---|---|
1 | 62 | ASCII a-z 0-9 - (dash) | ^(?!-)[a-zA-Z0-9-]{1,62}(?\<!-)$ |
Examples
- safu
- b
- 2
- a-z
- 0-9
Regex
UX/UI Considerations
The UX/UI best practice is to allow the user to register a FIO Handle during on-boarding.
Example
Link to FIO App
Alternatively to Native Integration, the application may link the user to to the FIO App, a comprehensive website to register and manage FIO Handles and many other functionality related to FIO Protocol.
For additional information, see FIO App.
Use FIO App API
Alternatively to Native Integration, the application may connect to the FIO App via an API. This is a great compromise between Native Integration and linking off. The integrator still has full control over the UI, but does not need to implement all the overhead of supporting Write Transactions to the FIO Chain. The registration in this option can also occur in such a way that the registered FIO Handle is assigned to the FIO Public Key controlled by user in the linking application. If the application does not support FIO Private Key, this option is not viable.
For additional information, see FIO App API.
Updated 5 months ago