We’ve completed the R&D and have a design for trustlessly creating and storing private FIL keys in the browser using Webnative.
The System Diagram and Flows document this work, as well as the UCAN write up which accompanies the Nov 26th presentation – slides and recorded video available.
This completes Phase 1.
The Co-signer server which is required to do the BLS signing (so that no one holds user keys) has been started:
It’s designed to be run very simply – initially with a Deploy to Heroku model, which means it can also be run locally.
Will talk to Textile / Powergate about how to run it alongside that as part of the stack.
The backup app is being built on Svelte and we have a repo created:
We have some early user flows and diagrams that we’ll share soon.
Learnings and Feedback
Lotus core functionality is accessed directly over RPC methods, and messages are signed with the internal keystore, rather than passing through signed transactions as we are used to from our Ethereum experience.
We’re going to set things up so we create a key in the browser, where the user can then transfer funds to the Lotus / Powergate key in order to pay for storage deals directly.
This gateway service can be run simply and can be a source of revenue for app developers and/or miners – directly to the layer of a web app.
We’re going to work on the main slice of linking a FIL address with webnative in the browser as the first end to end “slice” demo, to show that we can:
- create keys in the browser
- link them to our secure webnative stack
- possibly some co-signer interaction just to confirm the cryptographic signing
Phase 3 will be the end to end experience of the entire backup.