Hive Keychain Development Proposal #2

in #hive4 years ago (edited)
Authored by @stoodkev

A lot has happened on Hive these past 6 months and I you followed the @keychain account weekly posts, you know that we've never stop building features, on our extension (now available for Chrome, Firefox, Opera and Brave) and on our mobile App (built for Android and iOS).

The current proposal is coming to an end soon but there's still so much we want to do to help the Hive ecosystem thrive, hence this new proposal.

Hive Keychain DHF 2

This new proposal will start on November 15th, date at which the current one will expire, there will be no overlap between the two proposals.

Just as the past proposal, this one will mainly focus on two different axis :

  • Maintain and improve the existing browser extension
  • Continue developing the Keychain mobile App

The upcoming work regarding these two projects will be discussed on the paragraphs below.

Hive Keychain Extension

A lot has been done on the extension side. You can check our weekly updates to see the complete list of updates but here are some noticeable changes:

  • Improved onboarding through a new requestAddAccount that let Keychain import keys from an external request
  • Buy HIVE/HBD options
  • Update to Keychainify to let dApp owners integrate more Keychain features via a Hivesigner link
  • Improved documentation and automating it using documentation.js
  • Improved nodes management, failover, and keeping the RPC nodes list up to date
  • HBD conversion (with automatic id)
  • New requests usable by dApps such as requestSendToken and changes with existing ones (requestEncodeMemo now works with posting and active keys)
  • Protection against phishing/blacklisted accounts during transfers, and against sending transfers to exchanges without memos
  • Updated our APIs to v2 with some new features (i.e. more detailed token price info)
  • Automatic rewards claiming
  • Automatic free account claiming
  • Updated the code to work through and after the Eclipse HF
  • Export accounts to mobile via QR Code
  • Several UI adjustments
  • Code refactoring
  • Brave browser support
  • Users and dApp developers support

Towards the end of the current proposal, and on the upcoming one, we are switching to spend more time on the mobile side since the extension is now pretty mature. That being said, there are still some features we want to work on such as :

  • Go further with onboarding by letting users create accounts directly from Keychain using one of the onboarding services
  • No-key extension. We want to make it possible to use the extension without any key if you are on an unsafe computer. This will be implemented when the mobile App is mature enough and will allow to link the extension to the mobile phone via QR code and send the requests to that phone, on which they can be confirmed
  • Include settings to the export files, to really make it seamless to import keychain to a new device using a .kc file
  • Ledger integration as soon as the Hive application is approved by Ledger
  • HE tokens operations integration (only transfers are supported so far)
  • Information about proposals
  • Reorganization of the settings
  • Preparation of new features integration ahead of time when introduced via a HF
  • Maintaining extension across all supported browsers through future HFs
  • Users / Devs support

Hive Keychain Mobile

There is a ton of features we want to provide to make Keychain a great mobile App that would help the whole Hive mobile ecosystem thrive. As such, our focus shifted more and more to work on this project.

The first part of this mobile App is the wallet and its currently undergoing tests before an Alpha release this month. Here is what we've done so far:

  • Secure key storage via biometrics using react-native-keychain package
  • Accounts import via private key or master key (not saved)
  • Accounts import via QR code (from extension)
  • Account balances
  • Account value
  • Voting Power and RC indicators
  • Transaction history
  • Wallet operations : Transfers, Power Up, Power Down, Delegations
  • Incoming and outgoing delegations information
  • Hive Engine balances, value and transactions history
  • Hive balance operations : Transfers only (so far)
  • Key and accounts management

Here are some screenshots that I hope will make you excited about what's to come :

What we plan to do during the future 6 months :

  • Iterate on the wallet part according to the issues received by the Alpha users. We are expecting the main challenge will be coming from the biometrics authentication, as it is a device-dependent and OS-dependent matter. User reports will help us make sure it's working correctly independently on the devices.
  • Add features to the wallet (i.e. HBD conversion, Buying HIVE/HBD, witness votes, proposals)
  • In-App browser bridging your favorite dApps with your keys securely stored in mobile Keychain. All the Keychain requests currently working on dApps using the extension will be implemented.
  • Launch the Open Beta
  • Start working on App to App communication, allowing other mobile Apps to request transactions directly to Keychain without ever seeing the keys.

Budget

As for the previous proposal, we will keep working on a daily budget of 200 HBD for a period of 6 months.

Commitments

  • We commit to keep all the code produced through this funding opensource. You can find Hive Keychain and Keychain mobile on their respective Github repositories.
  • We commit to post weekly on the progress made during the previous week. We have held this promise all along the first DHF and we hope you enjoyed following our development updates.

Team

@stoodkev : Lead Developer - Witness
@nateaguila : UI/UX
@yabapmatt : Founder - Witness
@aggroed : Founder - Witness


Support Hive Keychain development by voting for this proposal on PeakD, or with HiveSigner.

100% of payout is redirected to the DHF

Sort:  

I love the works of Keychain that are doing, you guys made it so simple to access the blockchain. I am so bullish on Hive because of great and amazing developers like you. Keep up the great job

Thanks for your support and kind words =)

Didn't even know there was a mobile version...will download it asap. I can handle a shit ton of things via keychain. Let alone security. Good job guys.

PS. There seems to be a ~ 10% difference at my VP between what is displayed on hiveblocks and what on Keychain. Is it lagging behind? Switched all available nodes btw and the result is the same. Not that it mattes much...just saying

The mobile App is not available yet, but I'm doing my best to get the Alpha out by the end of the month.

About the VP, I've checked your account and I think the discrepancy is caused by the power down.

EDIT : Fixed it already, it will be pushed in the next update

Sweet bud. Thanks. Cuz I am pretty sure that it looked this way before I initiate the power down

I forgot to substract vesting_withdraw_rate to accounts vesting shares, that's why only accounts doing power down were affected and I didn't see it. My bad

Great work.
Already voted for it.

Thank you for your support!

Amazing work, I am very excited for the app. Voting the proposal

Thanks for your support!

Let me say first that I love keychain and use it almost exclusively. I will go from this comment to support the proposal.

That being said I do have a question: Do you have a long term plan for monetizing the app? To take it off the DHF and maybe (gasp) even pay the fund back? Asking for a friend :)

Let me say first that I love keychain and use it almost exclusively. I will go from this comment to support the proposal.

Thanks for your support!

That being said I do have a question: Do you have a long term plan for monetizing the app? To take it off the DHF and maybe (gasp) even pay the fund back? Asking for a friend :)

Yes the plan is to ultimately monetize the mobile APP and I have a plan for this. I won't go into too much details for now, but the plan is to bring outside money in a shared revenue model where part of the revenue would be used to buy HIVE and burn it (rather than sending it back to the DHF).
I hope your friend will like the answer x)

My friend loves the answer! My friend isn't big on details just wanted to know that there was a plan. Truth is, my friend isn't bright enough to know the difference but I like the idea of burning.

Thanks man! Once again: Great product that works!

looks great!

Perfect work.

What I would love to see in the future is some QR-Code scanning feature for this Mobile Version for payments. Would be an awesome swiss knife then :)

Edit: What is if you loss your smartphone? How save are the funds?

Will be on-chain Tokens (SMT/HMT) later added too if there are implemented?

Thanks!

What I would love to see in the future is some QR-Code scanning feature for this Mobile Version for payments. Would be an awesome swiss knife then :)

Yea that's definitely something we could implement. Good idea!

What is if you loss your smartphone? How save are the funds?

The App is pretty secure, for using your wallet, a thief would have to first unlock your phone, then know the PIN you use in App, and somehow have access to your biometrics.
TL;DR : FUNDS ARE SAFU

Will be on-chain Tokens (SMT/HMT) later added too if there are implemented?

Yes, we will always make it a priority on both the extension and the mobile App to implement new features from Hard Forks, especially this one.

Very cool.

Really love the evolution of keychain to the ultimate hive management/connection tool.

Supported!

Great features and progress so far.
As far as security is concerned, I have some doubts about safety for keys through QR codes. Exactly, how safe are QR codes in your opinion?

Thanks!
The QR code is password protected (only available when the Keychain extension is unlocked). Then it is scanned directly by the Keychain mobile APP and encrypted in there using your PIN and biometrics, it's a direct Keychain to Keychain transfer of data.

Good Work!

LG Michael

!jeenger
!invest_vote

Voted for this proposal right away. Keep up the good work! :)

This is easily one of the most essential services in the entire Hive ecosystem. You did a great job coding and implementing it. I'm proud to be associated with this and grateful for your work here!

Thanks, man! Appreciate your support!

You have been doing a great job, I was not actually using it much until HIVE happened. But now, I am hooked. Still a problem in using it inside some organizations due to the Google trusting mechanism. Maybe something to think about later (I don't really care for now).

You have been doing a great job, I was not actually using it much until HIVE happened. But now, I am hooked.

Glad to hear that!

Still a problem in using it inside some organizations due to the Google trusting mechanism.

I'm not sure I get what you mean, can you elaborate?

Some organizations trust a rating mechanism (more like a paid corrupted scheme, but hey... it's business) to "trust" apps. There is a review process (but because that is not public, I highly doubt about its authenticity).

This is aggravated by corporate firewalls that base their "trust" on other entities. Making the scheme very complicated to be transparent.

But onto simple words, when trying to install the extension, the organizations can decide that the extension is "not trusted", not because they had a bad report about it, but because they don't have the right rating.

The same thing with all those binaries that Microsoft does not know about and you need to click on the "unblock" thing.

A couple of quick question, How will I know when I need to update my Keychain extension, do I get a message it needs updating?

With the advent of Microsoft once again removing and blocking an individual from GitHub, do you have alternate sites that the code is stored as a back-up? A couple of other large companies have been in the news also for getting extension band or blocked on some web browsers, is there an alternate site to obtain the extension from just in case?

Just concerned because I like the ease of use of it.

How will I know when I need to update my Keychain extension, do I get a message it needs updating?

If you got the extension from the Chrome Store (works for Chrome, Opera and Brave) or on Firefox Add-Ons, your extension will update automatically.
If you installed it manually from Github you can follow @keychain for news about updates and update it manually.

With the advent of Microsoft once again removing and blocking an individual from GitHub, do you have alternate sites that the code is stored as a back-up?

If it gets banned on Github, we can host it on Gitlab or other similar service, so there's nothing to worry about, Keychain source code will always be available online.

A couple of other large companies have been in the news also for getting extension band or blocked on some web browsers, is there an alternate site to obtain the extension from just in case?

If that were to happen, it would still be possible to install the extension manually as explained above.

Thank you, yes I got it from the chrome store, so auto updates, thanks.

Glad to hear that the manual install will be there just in case, and that there are other open source locations for the code.

@mima2606 denkt du hast ein Vote durch @investinthefutur verdient!
@mima2606 thinks you have earned a vote of @investinthefutur !

Your contribution was curated manually by @mima2606
Keep up the good work!

$tangent


Congratulations, @asimo You Successfully Trended The Post Shared By @keychain.
You Utilized 3/3 Daily Summon Bot Calls.

TAN Current Market Price : 0.250 HIVE

Can't wait for the wallet!!!


Congratulations @keychain, You Earned 0.521 TAN & Curators Made 0.521 TAN.

tangent.token


Join CORE / VAULT Token Discord Channel or Trade TANGENT Token
TAN Current Market Price : 0.300 HIVE

!invest_vote

I just voted on this.. good job @stoodkev @nateaguila @yabapmatt @aggroed!

P.S. Why does it say "100% of payout is redirected to the DHF"?

Thanks!
The DHF account is set as 100% beneficiary for this post.

Ahh, for the post but not for the proposal, right @stoodkev?

Posted via D.Buzz

Yea exactly, this is not a return proposal ^^

@stoodkev
I think there is a new bug in keychain preventing multiple transfers:

  • open tokens menu
  • transfer tokens to some account [SEND NULL] [CONFIRM] this works
  • return to menu for tokens
  • transfer tokens to some account [SEND NULL] ... ???????

the transfer confirmation button is missing on 2nd send
(using firefox, btw)

Hi! I've just fixed the issue and the update (v1.10.5.1) is already available on FF.
It might take a few days to be accepted on the Chrome Store for those using other browsers.
EDIT : I ll check why it says Send NULL on FF although it says Send on every other browser..
EDIT2 : Fixed that as well

hey, you work fast ^_^
it reminds me I needed to vote for the proposal.
also to confirm I just tested and both are fixed from my view.
This saves me some frustration in transfers each day, so thanks!

No problem =)

If you can me include me on alpha, I would appreciate @stoodkev.

Didn't really read this post, so, sorry for bothering you on the current stream... probably could be avoided as you would be crossing those I pointed on Github along the journey of what you guys have planned above.

Great stuff as well. Eager to test the mobile version too.

Sure, I ll make an announcement when the Alpha is ready, hopefully next week for Android.

Thanks. I will be more interested in the iPhone zone, but I can give it a go on an Android device too.

Everything they do is extraordinary and this is really something wonderful since they save a lot of stress in transactions that sometimes is somewhat cumbersome manually but this system is quite easy to use and well the idea is that many people know about their great work . As for me, I will spread the word of this great work friends.

Thanks a lot!

!ASH

Command accepted!

Aeneas is a blockchain project under development and a decentralized blogging platform based on Hive spesialized on the #social #politics #economics #indiejournalizm and all the #cryptocurrency related threads
Join Aeneas.Blog to earn more ASH for your unique content!
Dear, @keychain, you have received ASH tokens!
Join our Discord Server for further updates!

If you develop and publish it will it matter to those not on $HIVE? NOPE.

You're absolutely right, Keychain is primarily a wallet and a tool to ease the use of keys on the Hive blockchain. Although onboarding is important, I do not believe it is our role to do that. Rather than onboarding, we tackle the retention problem, by giving users a safer and better experience using their keys.
To make a parallel with Ethereum,Metamask is not an onboarding tool either, it doesn't mean it has not an important place in the ecosystem.

Steem Hive Keychain is an excellent work and idea. I think Steemfiles.com will be working and accepting Hive dollars with Hive Keychain next week.

I have been getting "Incomplete" errors trying to do a requestTransfer.
The parameters I am passing are:

'leprechaun'. 'videogeek', 0.2, '5c15cd09ef6c08e1', 'HBD', ƒ (answer) {
        console.log(answer);
        if (! answer['success']) {
            // It didn't work.
            console.log("HERE");
            enablePayWithHiveKeyChain();
            set_error(answer['message'], 2500);
        } else {...

Perhaps some examples would help to set aside misunderstandings of the documentation and ambiguities.

Hi! The blockchain expects a string representing a 3 decimals number, and we follow the same convention. Change 0.2 to "0.200", that should do it.
For reference : https://github.com/stoodkev/hive-keychain#requesttransfer

@keychain, love what you do and just voted to support your proposal! (* I did not even realize you had a new proposal up, so please excuse the delay in voting for it). Please keep developing for HIVE and helping our community grow.

Musch support and love. !

No problem :) Thanks a lot for your support !

Hey bro!
Any news on the alpha?

Hi! Yes, I was about to post about it.
I've already uploaded a candidate for internal test on the Play Store, it's been more than two days but still not available. The internal test will allow me to check that everything is fine after what I will move it to Open Alpha. I know lots of users care about their privacy so I won't be doing a closed test that requires emails.

Already voted

Very cool,great work...!

I clicked the heart but my vote is not yet reflected, so I think I don't have the ability to vote yet. But I support your proposal.