Proposal KeepKey Client (v2)

  • As a KeepKey user I find it cumbersome to keep track of all my configurations and settings for my keepkeys. CLI’s are cumbersome and slow. I propose a new desktop client designed to provide all available (offline) features to administrate a KeepKey (including advanced development features).

    initialize

  • Restore from seed
  • verify seed
  • View policies
  • enable/disable policies
  • Update firmware
  • export pubkey csv’s
  • (keepkey bridge) a REST api based on the HWI
  • GitHub - bitcoin-core/HWI: Bitcoin Hardware Wallet Interface

I would like to lead a small dedicated team and start a new opensource standalone project; leveraging quasar/electron as its stack. The team should include at least one more full time keepkey expert; and one full time designer/ux developer.

(milestone 1) functional PoC

(milestone 2) Multi-Platform release (windows/linux/osx) and Mac store app admission

I like this idea and would support this type of development, what chains would this support/could you list a full list of features that would be expected in Milestones (1) and (2)?

Also how much FOX would you be requesting from the DAO for this development work?

the idea is this would be (offline). Meaning this client will not mange assets or transactions. But simply let you mange features on your KeepKey. the only main exception to this would be the clients ability to go online to lookup/download firmware versions (including beta/development firmwares). However, long term. The bridge will allow other wallets and services to interact with the client. Hopefully this bridge can address device claiming and other UX pain points wallets currently have interacting with the KeepKey.

my off the cuff is 2 weeks full time work for a team of 3 for each milestone. But after I get volunteers would be more appropriate to spike as a group and go from there.

Okay I see, not sure I fully understood now that you explained further. I would still support this proposal but would like to see more info about who will be working on it, what features of this are expected when, and how much FOX is proposed to fund this development.

Look forward to learning more!

+1 on this from me. I regularly have to do a lot of this from the CLI, from bootloader/fw updates to seed recovery to just pulling addresses or signing raw TXes. Having to use the platform for that sort of thing sucks particularly bad for me because I mostly use Firefox (no WebUSB) and mostly use Linux (where there’s no Chromium with WebUSB either).

A bridge has been on my wishlist for a while just for Firefox support, though I’ve been thinking more along the lines of something Trezor-style that hdwallet-keepkey-tcp could plug into. No reason the same software couldn’t do both, though – or maybe hdwallet could have HWI support added or something.

I totally want to contribute to this effort, too, though I’m beginning to realize that there are so many cool things I want to do that are possible in this exciting DAO future that I’m gonna have to be careful not to overcommit!

Also, I know @greatwolf has been doing something adjacent to this. IMO he’s done a great job, and starting with the legacy Chrome app base is perfectly understandable given what he had to work with. While that’s not ideal going forward, it does provide a good benchmark for what sorts of things the community finds needful in a standalone client.

Curious, why limit it to just KeepKey and not all the wallets supported by the web app platform? Or any wallet, really

This sounds awesome. I would potentially be interested in working on the client side. Looks like Quasar uses vue.js so that would require some ramp up for me, but love the idea of having a specialized tool for KeepKey management.

Very very excited about this effort! One feature I would need out of the gate is the ability to view derived pubkeys/accounts for the various coins. Specifically, the public keys for yet unused ethereum accounts based on the default HD derivation scheme. Presently this is done by “adding an account” - I would like a much simpler way to view these without all the rigor and blocking more than one “new” address at a time.

Also although it would be offline, adding signing capabilities is really important. https://www.myetherwallet.com/ enables this kind of functionality out of the box for keykey, and it could be used as a Vue based reference to be inspired by: GitHub - MyEtherWallet/MyEtherWallet: MyEtherWallet (our friends call us MEW) is a free, client-si . Specifically I am able to manually copy in transaction details about interacting with a contract and can generate a fully valid transaction to publish wherever I like on places like etherscan and other supporting online wallets.

Extra credit: a QR code integration to scan the accounts and transactions for easy transfer to online devices.

I like this very much and support it 100%.