InitiativesInitiative: https://fioprotocol.atlassian.net/browse/WP-
332https://fioprotocol.atlassian.net/browse/WP-153Project Plan: Improve Integration Experience - Project plan
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:
Web site: https://
...
Status | ||||
---|---|---|---|---|
|
...
Building an API node and upgrade process (for wallets and exchanges)
...
Create a document on the different paths to building an API node
...
...
Dev Hub: https://
...
...
Status | ||||
---|---|---|---|---|
|
...
Integration guide
...
Fixes to new integration guide from Pawel
...
...
...
...
Status | ||||
---|---|---|---|---|
|
...
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
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.
...
...
A proliferation of getters and api endpoints increases the size and complexity of the SDK
...
...
Serialization and encryption
...
...
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