Station Wallet Module Work Plan
Name of Project: Station Wallet Module in Desktop App
Proposal Category: app-dev
Proposer: @Patrick Woodhead @Julian Gruber
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT, APACHE2, or GPL licenses?: Yes
Project Description
Each Desktop app is a peer in Filecoin’s p2p network.
As of October 2022, a Station operator can link an external Filecoin wallet address to their Station app during their onboarding flow in order to earn for participating in network activities.
This work plan focusses on creating a Filecoin Wallet module wholly inside the Station app for the following reasons.
Value
Benefits
- A much smoother onboarding flow for new Station users. Namely, they do not need to go to another service to possess a Filecoin wallet address.
- Station becomes a more independent product. It does not need to rely on other apps that can create FIL addresses for its success. Rewards and payments will be made directly to each Station, not to some remote account. This means folks will have immediate custody of their own rewards.
- A more decentralised and self-sovereign offering. Without this, folks are most likely going to use a FIL address from a CEX when onboarding into Station, which is contrary to the Web3 ethos. Your keys, your crypto etc.
- A more anonymous offering. As mentioned above, folks are most likely going to use a FIL address from a CEX when onboarding into Station. They will likely need to go through KYC and reveal their identity to get a FIL address.
Risks
- Building a wallet will always mean security risks as Station will be managing private keys.
- We will also be managing recovery phrases etc so must follow best practices.
Deliverables
- UX flows for how to set up the Wallet Module
- UX flows for how to interact with the Wallet Module once it has been set up. This includes the ability to transfer funds out to another FIL account.
- UI designs for the wallet module, both onboarding and interactions
- Desktop app development and deployment of the wallet module UI and its setup flow. N.B. The backend engineering and security of the wallet will be managed by Protocol Labs’ engineers.
- Maintenance and improvements to the existing application, based on user feedback and bug finding.
User Stories
Onboarding
- As a Station operator, when I configure my wallet, I am able to set up a FIL wallet
- As a Station operator, when I set up my wallet, I am able to view, download and save a recovery phrase.
- As a Station operator, when I set up my wallet, I need to confirm that I know my recovery phrase.
Normal usage
- As a Station operator, when I look at the Wallet module UI, I am able to see how much FIL I have in the account.
- As a Station operator, I am able to transfer funds from the wallet module to another external FIL address. The recommended approach for an operator is to transfer funds out of Station to a more secure account on a semi-regular basis.
- As a Station operator, when I transfer funds to another address, I am able to set the amount and target address.
- As a Station operator, after I have transferred funds to another address, I’m able to see if the transfer is in progress, completed or failed.
Development Roadmap
- UX Design of onboarding flow and wallet module interactions. (3 weeks for 1. and 2.)
- UI Design of onboarding flow and wallet module. (3 weeks for 1. and 2.)
- UI development and integration with backend engineering. (4-6 weeks, blocked by PL engineering)
- QA and Testing (2 weeks)
Some of the above work items can overlap.
Start date: October 10th 2022
End date: December 16th 2022.
References
- https://github.com/application-research/wallet (Application research)
- Metamask onboarding
- Anytype onboarding
- Any web3 app onboarding
Total Budget Requested
TBD