[WP-485] Key and Signing Wallet - Project Plan and Budget

The following is the proposed project plan and budget for acquiring a production-ready scalable wallet that can be used by Exchanges to manage FIO keys and sign FIO transactions. It describes a phased plan beginning with research into existing solutions and fully defining the feature set of the FIO Wallet. Based on the findings of the research, further development or integration work requiring additional project budget will be proposed. After each milestone it will be decided whether or not to continue the project.

Requirements

The following are requirements of a FIO Wallet solution:

  • Support for Ubuntu.

  • It must be possible to be installed with and run along side a FIO API node

  • Command line interface

  • API interface

The following are specifically NOT required by a FIO Wallet solution:

  • Support for FIO or other tokens or crypto currencies

  • Support for mobile devices

The following may or may not be required depending on discussions with exchanges and further research

  • Support for non-ubuntu operating systems

Plan & Budget

The following is a high level plan with decision milestones. Budget is proposed for the initial phase.

Phase

Tasks

Deliverables

Budget

Phase

Tasks

Deliverables

Budget

Identify top solutions for a FIO Key and Signing Wallet

  • Surveys/discussions with Exchanges to determine key storage practices

  • Discussions with EOSIO-based chains and applications and Block Producers community to identify existing solutions or best practices

  • Specific discussions with Binance to gauge their likelihood of adopting a new wallet solution (i.e., is it a source of pain or risk for them).

  • Project lead identified with timing of availability for phase 1

  • List of existing wallet solutions with pros and cons

  • Recommendation of which solution(s) should be considered for prototyping and/or development

  • Identify list of exchanges that would actually use a FIO Key and Signing wallet

  • A budget for the Prototype / Design phase.

Architect ~10 days = $8,000 USDT

Decision Point

  • Decide what needs to be offered to exchanges. If exchanges all handle keys differently, then it may simply be that FIO needs to offer different methods for signing FIO transactions and separate that from how keys are actually stored. After all, a wallet that is able to sign FIO transactions is basically using a FIO library. So, the focus should be at that level, not the wallet level. clio is just one type of signing solution, that happens to access key information from fio-wallet.

 

 

Prototype / Design

  • Depending on results from previous phase, this phase will focus on prototyping the top candidate wallets or scoping out a custom solutions (from existing libraries)

  • Any solution will be discussed with existing Exchanges to ensure it is acceptable

  • If an existing wallet is selected, initial scalability and performance testing will be performed

  • A working prototype if an existing wallet or robust library is available

  • A software design if development work will be required

  • A budget for the Development, QA, and Release phases

TBD

Development

  • Development and integration of FIO Wallet

  • A fully functional Key and Signing wallet

 

QA

  • Performance testing

  • Installation packaging

  • Documented performance metrics

  • A product ready for UAT

  • Beta testing with existing exchanges

 

Release

  • Final packaging and release to production

 

 

Rollout / Integration

  • Rollout of wallet to Exchanges