Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • InitiativesInitiative: https://fioprotocol.atlassian.net/browse/WP-

    332

    153

    https://fioprotocol.atlassian.net/browse/WP-153
  • Project Plan: Improve Integration Experience - Project plan

  • Devhub: https://developers.fioprotocol.io

  • Knowledgebase: https://kb.fioprotocol.io

Overview

We have received feedback from wallets and exchanges that the integration experience is somewhat complex. This initiative tracks discussions and suggestions regarding documentation and software updates that can be undertaken to improve the integration experience.

...

  • Reduce the complexity of the FIO actions available in the SDK

  • Reduce the number of upgrades required by integrators

Consolidate and Update Integration Documentation

...

The goal goals include:

  • Update devhub with more dev examples and information for the API, chain, and SDKs.

  • Focus on the integration process and create smaller, step-by-step examples

  • Link to or pull in development information from the knowledge base

  • Rearrange Devhub content to make some of it more “integration process centric”

  • General UX update to Devhub

  • For current list of other Devhub improvements refer to: https://github.com/fioprotocol/fio-devhub/issues

Project plan:

...

Item

...

Summary

...

Links

...

Status

...

Rework navigation and user flow

...

  • Currently, the site takes a “list information” approach and is not geared to a specific user (e.g., wallets, exchanges, etc.)

David Gold suggested we migrate to target specific integrators: Wallet Integration, Exchange Integration, etc. We would pull out common tasks into shared pages, but would gear the integration language to be specific to the different use cases.

...

We currently host technical documentation in several locations:

...

Status
colourGreen
titleIn Progress

...

Building an API node and upgrade process (for wallets and exchanges)

...

  • Create a document on the different paths to building an API node

...

...

...

...

Status
colourGreen
titleIn Progress

...

Integration guide

...

  • Fixes to new integration guide from Pawel

...

...

...

...

Status
colourGreen
titleIn Progress

...

Integration Checklist

...

  • Complete integration checklist page.

  • Include list of which integrations are done for which partners

...

https://github.com/fioprotocol/fio-devhub/issues/8

...

Certification

...

  • Complete certification pages. Include map all currencies and review on http://bloks.io

...

BP Voting and Proxying

...

  • Updating voting page to clean up and add intro on how to research BP activity

...

https://github.com/fioprotocol/fio-devhub/issues/112

https://github.com/fioprotocol/fio-devhub/issues/20

...

Support landing page

...

  • Create general support landing page

...

Pub/Priv Keys

...

  • Info on deriving and validating FIO Pub/Priv Keys

...

https://github.com/fioprotocol/fio-devhub/issues/11

...

EOSIO content

...

  • Use content similar to eosio

...

https://developers.eos.io/welcome/latest/introduction-to-eosio/index

https://developers.eos.io/manuals/eosjs/latest/how-to-guides/index

...

Devhub Readme

...

  • Create readme similar to eosio

...

https://github.com/eosdac/eosdacio-website/blob/master/docs/02-create-page.md

...

Ecommerce Integrators page

...

  • Home page link for ecommerce integrators - work with Pawel

...

FIO Dev Guide

...

  • Contributing to FIO dev page

...

Example: https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md
https://cryptowords.github.io/who-controls-bitcoin-core (not sure if that’s the post I was thinking of, but there are others that talk about this)

https://github.com/fioprotocol/fio-devhub/issues/92

...

Transactions

...

  • Transactions - document exact steps on devhub. Are there missing pieces for wallets and/or exchanges that we need to fix?

...

https://github.com/fioprotocol/fio-devhub/issues/50

...

Multicasting

...

  • Create document on accessing FIO nodes (multicasting)

...

https://github.com/fioprotocol/fio-devhub/issues/110

...

BP Fee setting

...

  • BP Fee setting - update with links to tools

...

https://github.com/fioprotocol/fio-devhub/issues/108

...

Address/Domain renewal

...

  • Add page on address/domain renewal

...

https://github.com/fioprotocol/fio-devhub/issues/103

...

API Error Codes

...

  • Clean up error codes (and make generic) some 403s look incorrect.

  • Add 202 response to all actions (make this generic). See old site

...

https://github.com/fioprotocol/fio-devhub/issues/91

...

History API

...

  • Add history API

...

https://github.com/fioprotocol/fio-devhub/issues/21

...

FIO Versioning

...

  • Port Versioning document from confluence

...

https://github.com/fioprotocol/fio-devhub/issues/22

...

OBT and Request auth checks

...

  • Writeup on authority checks with FIO Requests

...

https://github.com/fioprotocol/fio-devhub/issues/23

...

general BP info

...

  • Links to different BP resources

...

https://github.com/fioprotocol/fio-devhub/issues/27

...

Indexing transactions

...

  • Add more detail on indexing transactions

...

https://github.com/fioprotocol/fio-devhub/issues/50

...

FIO Contract development

...

  • FIO Contract development - Description of how to create actions and getters in contracts

...

https://github.com/fioprotocol/fio-devhub/issues/54

...

Mapping options

...

  • Document different mapping options

...

https://github.com/fioprotocol/fio-devhub/issues/1

...

Compatibility matrix

...

  • Matrix for different releases

...

https://github.com/fioprotocol/fio-devhub/issues/9

...

Known issues

...

  • Document the known issues and helpful hints with SDKs, APIs, and chain.

...

https://github.com/fioprotocol/fio-devhub/issues/10

...

FIO Chain Overview

...

  • Complete FIO Chain Overview

...

https://github.com/fioprotocol/fio-devhub/issues/12

...

FIO Glossary

...

  • Add a glossary of FIO terms

...

https://github.com/fioprotocol/fio-devhub/issues/13

...

Devnet setup

...

  • Add a section on devnet setup

...

https://github.com/fioprotocol/fio-devhub/issues/14

...

Devhub Upgrade (to an Integration dashboard)

The FIO Website is moving to user-centric messaging. I is generally agreed that the more integrator-centric messaging that gets included on the http://fioprotocol.io the more confusing it will be for users. In addition, it has been proposed that we “merge” in the dApp with http://fioprotocol.io into a “user dashboard” to enhance usability and create a single FIO experience for users.

So, what do we do with all of the technical content and where do we send integrators and developers?

One direction we may want to consider is to rework the devhub content to make it more of an “integrator dashboard.” Currently, there is a mix of block producer, FIO developer, and integrator content. This change would refocus on integrators, but would still support, secondarily, other technical content. This new site would:

  • Be primarily focused on integrators.

  • Have a very clear path for getting integrators up and running as quickly and painlessly as possible.

  • Clearly outline the ease of use and monetary benefits of integration.

  • Eventually have an integrators "dashboard" where they can view stats on how much they have earned, see their TPID, see who is registered, etc.

  • Note: one thing we may want to have on the http://fioprotocol.io “user dashboard” is the actual status of the integrations. This content seems more beneficial for users rather than integrators.

Update: This has been moved into development and is tracked in the Improve FIO Integration Project Plan: Improve Integration Experience - Project plan

Knowledgebase migration

KB: https://kb.fioprotocol.io

It was previously decided to migrate the Knowledgebase content from the KB to the Website, the Devhub, and the Atlassian wiki.

Update 5/6/21: This has evolved and the current thinking is that we will continue to keep some technical information on the Knowledgebase

Simplify FIO Integration

It also must be easier to integrate FIO using the SDKs and interact with the FIO API directly. Simplification of FIO integration can be broken down into 3 areas:

  • FIO API

  • SDKs and third-party libraries

  • Serialization and encryption

Project Plan

...

Item

...

Summary

...

Links

...

Status

...

FIO API

...

  • FIO chain code has diverged from EOSIO core code making it difficult to “plug and play” with existing EOSIO tools

...

  • Support for transaction-based API endpoints creates release overhead and could cause confusion

...

Details: Individual API endpoints versus single endpoint

Epic: https://fioprotocol.atlassian.net/browse/BD-2256

...

  • The need to update the chain code for every new getter adds release overhead.

...

Epic: https://fioprotocol.atlassian.net/browse/BD-2254

...

  • Change how max_fee works to include a buffer on the current fee set by the BPs

...

https://fioprotocol.atlassian.net/browse/WP-352

...

SDKs and third-party libraries

...

  • We would like to reduce the number of upgrades required by integrators

    • Integrators should be able to access all Mainnet features, including getters and contract actions, without having to upgrade.

    • SDK updates should only be required for bug fixes and when breaking changes in the API are introduced.

...

BD-2124 - SDK Refactor

...

  • A proliferation of getters and api endpoints increases the size and complexity of the SDK

...

BD-2124 - SDK Refactor

...

Serialization and encryption

...

fiojs

...

  • The encryption used in FIO Requests and OBT Record actions is non-standard

...

Update: This has been moved into development and is tracked in the Improve FIO Integration Project Plan: Improve Integration Experience - Project plan