Hive Keychain Proposal (DHF)

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

A lot has happened this past year and if you've followed @keychain account biweekly posts, you know that we've never stopped building features and improving our projects, both on our mobile Apps (available on Android and iOS) and extensions (available on Chrome, Firefox, Opera and Brave).

We've also attained some big milestones:

  • Hive Keychain extensions reached over 100k users
  • Our mobile Applications reached over 20k users
  • Used by 8 of the 10 biggest Hive dApps
  • Thanks to all of you, we are the most supported proposal on the DHF <3

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

Hive Keychain DHF 4

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

This proposal will mainly focus on two different axis :

  • Maintaining, improving and adding features to our extensions and mobile applications
  • Develop revenue streams to reduce Keychain reliance on the DHF

The past and upcoming work regarding our two main projects is discussed in detail in the paragraphs below.

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, we put a lot of work on the mobile side :

  • Apps size optimization.
  • Deep linking allows to open dApps directly in the Hive Keychain in-App browser.
  • Transformed the browser tab into a full-fledged browser experience : making the browser multi-tab, handling tabs management and favorites, allowing to browse in landscape mode for a better experience for gamers.
  • Created a homepage with a list of Hive dApps by categories.
  • Added whitelisting for posting authority operations.
  • Added recurrent transfers and conversions to our wallet.
  • Improved search bar algorithm.
  • Typescript refactor. This allows us to write code better, faster (stronger?).

The biggest task we tackled during this past proposal was the integration of @arcange's HiveAuth. HiveAuth lets you sign transactions with Keychain mobile, no matter if you are using a dApp on your laptop, or on your phone. It is similar to WalletConnect + Metamask integration on Ethereum. It has already been implemented into major dApps such as PeakD and Hive.blog.

  • Hive Keychain mobile's HiveAuth sessions can be initiated via QR Code or deep linking.
  • A status bar shows the current status of the HiveAuth connection.
  • Keychain will attempt to reconnect if the connection is lost.
  • Keychain handles session tokens, that can last from 1 hour to 30 days.
  • Keychain lets you whitelist some operations for a given session.
  • Keychain lets you revoke HiveAuth sessions.
  • There was a lot of learning and iterating between our team, @arcange's and dApps developers such as @asgarth and @quochuy.

Although we made a lot of progress, there is still much we want to do in the coming months:

  • Add missing features to the wallet (i.e. buying HIVE/HBD).
  • Add a governance tab (witness votes, proxy, proposals).
  • Add missing Hive Engine features (staking, delegations, etc.).
  • Implement App to App communication, allowing other mobile Apps to request transactions directly to Keychain without ever seeing the keys. This is currently doable via HiveAuth, but some developers may wish to perform operations using deep linking directly.
  • Write the SDKs that will allow other mobile Apps to make those requests to Hive Keychain.
  • Catch up with the extensions in term of features. We want to have a unified experience across devices.
  • Add unit and integration tests.

Hive Keychain Extension

Lots of time and energy was spent on refactoring the extensions:

  • Onboarded @cedricguillas, first part-time then full-time since this March.
  • Cedric's main task was to completely rewrite the extension using React.js and Typescript. A refactor was long overdue, Keychain started as a small project using vanilla Javascript, and as it grew the code started to become quite hard to handle. Google is also moving to enforce extensions change from Manifest v2 to v3, so this was the right time to rewrite our extensions. We are glad to take this occasion to announce that Keychain v2 is already being tested by a few dApps devs, will enter public Beta this week, and will be released to production early next month.
  • Keychain v2 looks sleeker =p
  • Future development will be faster using React.

We also used this occasion to add new features that will be released with v2:

  • Adding the possibility to work with testnet RPCs.
  • Dynamic handling of RPCs. If user chooses so, the RPC will change if not available.
  • Our wallet history used to only show transfers. It now shows transfers, power up/down, conversions, savings operations and interest, delegations and claim rewards operations.
  • Our wallet history is now filterable.
  • Hive Engine operations such as delegations and staking have been added.
  • Hive Engine history has been updated to also show these delegations and staking operations.
  • We updated our Import/Export settings features to encompass all Keychain settings rather than operation whitelist only.
  • We added proposals to our governance page.
  • We reorganized the settings.

Some changes were also implemented into the current Keychain (v1.x):

  • The requestRecurrentTransfer function was implemented ahead of HF25.
  • The same goes for requestConversion, that allows for conversions in both directions.
  • Added collateralized conversions to the conversion page.
  • Added recurrent transfers to the transfer page.
  • Added savings page.
  • Improved double-send protection.

There is still much that we would like to do :

  • NFT tab (ongoing development).
  • Keychain plugins (ongoing development). Keychain plugins will allow third-parties to add features to Keychain, without threatening the security of the extension. These plugins will be separated extensions running in the background, so that their code and Keychain code remain entirely separated. More on that in a future post.
  • Unit and integration tests. This will be the first task of the new developer we are currently onboarding.
  • Develop revenue streams (DeFi,etc.) to reduce our reliance on the DHF. This does NOT mean that any feature will be behind a paywall, merely that we will implement new features that generate small fees. Our priority will still be providing the community with the necessary tools for its growth.
  • Implementation of 2FA (would be an optional setting).
  • Go further with onboarding by letting users create accounts directly from Keychain using one of the onboarding services.
  • Create accounts with account tokens.
  • Ledger integration as soon as the Hive application is approved by Ledger. It is currently passing the final review. Kudos to @engrave for his work on the Ledger App.
  • Keychain API v2. A better set of API for Keychain integration, to be discussed and designed with dApp developers.
  • Preparation of new features ahead of time when introduced via a HF.
  • Maintaining extension across all supported browsers through future HFs.
  • Users / Devs support.

Additional work

Administration

We've setup a company, hired @cedricguillas full-time this March, and are in the process of onboarding another developer, who will start next month.

Landing page

We improved a bit Hive Keychain landing page, available here : https://hive-keychain.com

Backend

We are maintaining and occasionally adding some features to our backend. It is mostly used to perform HiveSQL requests, provide some global configuration (RPC nodes) and assets price (from Coingecko).

Some of the new features we are currently working on will necessitate more work on the backend side.

Support

We are always thriving to give a timely response to issues reported on our Discord and/or Github.

HiveFest

It was our privilege to present Hive Keychain at the second HiveFest. Big thanks to @roelandp for organizing the event!

Budget

For this new proposal, we are applying for a daily budget of 390 HBD for a period of 12 months.
This increase in daily budget reflects the growth of our team. I (@stoodkev) was the only developer working full-time on Keychain last year, we are now two, and will soon be three in the team.

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 write biweekly updates. We have held this promise all along the previous DHF and we hope you enjoyed following our development updates.

Downloads and Contact

You can find download information for the Apps and extensions, as well as links to Github and Discord on our landing page.

Team

@stoodkev : CEO - Witness
@cedricguillas : Fullstack Developer
@nateaguila : UI/UX
@yabapmatt : Advisor - Witness
@aggroed : Advisor - Witness


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

You can also help us by reblogging this proposal.

100% of the rewards of this post are going to the DHF

Sort:  

Hive-Keychain is my preferred way to interact with Hive. Thanks for working on it.
Since last year didn't seem to be many user experience changes besides your mobile app getting into HiveAuth but i'm not in the know and the post was hard to nail down what it is I may have missed. What would you say are the things that have changed since last year? Sounds like it was mostly a year for backend upgrades is that true? Is that how i should look at it?
Do you think this year will mostly be backend or will there be many front end?

Here are the goals from your proposal last year

image.png
Which of these did you finish and which ones are still to come?
I'm super interested to see what we can all we learn from successes or maybe miscalculations.

I know how it goes to not get nearly as far on something... On PeakD for example we have been super slow because of distractions from the success of Splinterlands and working on PeakMonsters. Wish we could find the right developers to put tons more hours into both projects.

Wishing you success this year in getting through lots of those goals.

Thanks for your comments and the parallel with PeakD (which is my preferred UI on Hive btw =) )!

We certainly spent more time that was originally planned on the refactor, but I think it was worth it. The refactor is not about backend at all, we rewrote the entire front-end with to be able to keep building with better code and faster development. Originally, Keychain was supposed to be a small project, and it was increasingly difficult to work on it, the refactor solves that.

We didn't have time to take care of the 2FA and improved onboarding, but will work on it soon.
The no-key extension has basically evolved on what became Hive Auth.
For Ledger, we are still waiting on the Ledger team update.

All the other items (refactor, HF updates, proposals, HE ops, reorganization of settings, and more) have already been coded and will be shipped with v2.

We're learning to prioritize tasks better and with the team growing and the refactor ready, things we'll speed up considerably.

Thanks for your wishes, same goes for you and the PeakD team!

Supported!

I'm also going that in a few weeks we can look seriously at making Hive Keychain full integrated with Lightning to send and receive Lightning payments.

Thanks for your support!
And yea, let's arrange a time to talk about this.

https://hive-keychain.com looks so clean and Keychain is still one of the most reliable ways to do many things on Hive. Never had an issue and it makes several functions so easy.

One of my favorite features is the ability to auto claim account creation tokens. Check under the "Automated Tasks" portion of settings if you are not already taking advantage of this.

Thanks for your support and sharing the word on Twitter!
Let us know if there are more automated tasks you'd like to see on Keychain!

I will always support Keychain 🤝
I would love to have an automatic function that transfers my HBD to savings each day.

I've convinced more people to use Hive purely because of the mobile app you guys developed than I had in a year prior. Supporting this is a no-brainer. Honestly, 390 per day is cheap considering that it's split between two-almost-three full-time devs.

Thanks for your support!
I'm glad to hear the App helped the onboarding! Which additional features would you like to see?

It's already in your roadmap! Better support for the internal market so I can buy and sell my HIVE/HBD as price fluctuates :D

Hive keychain is my preferred method of accessing Hive and its dapps. You have done a great and useful job and I approved DHF immediately. Thank you so much for creating Hive Keychain!
@tipu curate

It means a lot to us to read comments like this!
Thanks for your support!

Having a referral reward built in to your new account set up would be awesome! Great work!

Would be a bit hard to prevent abuse, and to have enough incentives if the account creation is free though. If you have any ideas on how this could be implemented, don't hesitate to contact me.

You'll never prevent abuse fully. People will always find a way... garbage in, garbage out. We're flawed, so code is manipulatable. My suggestion for a referral reward would be to mark the referrer as a 5% beneficiary with a time lock of 3 months. I would love to have a way where I could give someone a referral link where when they sign up, I automatically delegate 25-100HP to them and it simultaneously locks me in as beneficiary of a percentage with both locked for 1 month-3 months. This would benefit them to get my delegation where I can have a one time use referral link to prevent abuse of my delegations and the lock would cause me to be rewarded for referring them in the first place. Just some thoughts...

PeakD is my favorite front end, and I wouldn't use any other platform for publishing on hive, to be honest. It has everything I need as a writer.

I write as a freelancer outside of hive and often use Wordpress and other mediums for submitting web copy and the stats page on peaked is up there with the best of them.

I also use keychain, both on my phone and desktop so I'm going to vote for this updated proposal right now

You will always have my support on any DHF proposal @stoodkev 🙂

Much appreciated =)

The hive keychain is very helpful and easier to use with the nice features attached to it and this have attracted a lot of individuals to use the keychain

Glad you like it! Cheers!

A browser extension that has never had a problem and works perfectly!

It's great to have security like that! Congrats to the entire team! !PIZZA

Thanks for your kind words! =)

One of the best tool on Hive blockchain.
So far so good.
Good that Hive Keychain have some more developments coming around the corner.

We're only getting started ! 💪

Great..

Keychain from 1 developer to 3 this year, a yes vote from me & looking forward to future developments Mr. @stoodkev !1UP

Thanks for your long time support! =)

I love the application. Extremely helpful, works flawlessly. Thank You for your efforts.

!PIZZA

You're very welcome, glad you like it!

keychain is king!

The keychain is a very efficient way to interact with the Hive network. Keep up the good work!

Thanks! Will do!

I've just come back on Hive / CTP / and all the platforms after a very long gap, and wow how has it changed. It would take me some time to get acquainted with the present setup but I'm impressed and overwhelmed and how? Great Going, keep it up!

The ecosystem is evolving fast indeed and it can be overwhelming, but I'm sure you'll find help in the various Discord channels if needed.
Don't hesitate to join the Keychain server if you have any questions regarding our products.
Cheers!

I will take a look and will voting for this proposal. I appreciate your work very much and would like to support it.

Reblog and Greetings

Michael

!invest_vote

Thanks for your support!

Very pleased, absolutely well invested and well spent.

Greetings Michael

!invest_vote

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

Done.
Rehived and I have sent @pishio.

Thanks for your support =)

I love Hive Keychain. Thanks for the work.

Thank YOU!

What about scanning QR code to make transfer via app?

Yea, forgot to include it but it's in our backlog!

This is a really great tool, we can see all our balance and check it safely, we can transfer, I'm looking forward to the new update and the work you will do, I congratulate you for your work 👍🤗

PIZZA! PIZZA!

PIZZA Holders sent $PIZZA tips in this post's comments:
@ugochill(1/5) tipped @keychain (x1)
shiftrox tipped keychain (x1)

You can now send $PIZZA tips in Discord via tip.cc!

Don-1UP-Cheers-Cartel-250px.png

You have received a 1UP from @dynamicrypto!

The following @oneup-cartel family members will soon upvote your post:

And they will bring !PIZZA 🍕

Learn more about our delegation service to earn daily rewards. Join the family on Discord.


~~~ embed:1516829357616029701 twitter metadata:ZGFsdG9ub0hpdmV8fGh0dHBzOi8vdHdpdHRlci5jb20vZGFsdG9ub0hpdmUvc3RhdHVzLzE1MTY4MjkzNTc2MTYwMjk3MDF8 ~~~

The rewards earned on this comment will go directly to the person sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

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

$WINE


Hi @theguruasia, This Post Is Older Than 3 Days Days.
Please Try Another Post.
(We Will Not Send This Error Message In Next 24 Hrs).

wine_logo


Contact Us : WINEX Token Discord Channel
WINEX Current Market Price : 0.280


Swap Your Hive <=> Swap.Hive With Industry Lowest Fee (0.1%) : Click This Link
Read Latest Updates Or Contact Us

Hi Kev, great post I will vote on the proposal and reblog.
Just learning here and trying to install keychain, but I don't want to use Google play as I wish to reduce my support for organisation which are not for the people. Please where can I find the apk file to install keychain on android.
God bless🙏🏽

Cool beans!

#meme

I'm happy about your plans but I am sorry to say the latest update drives me nuts because the UI is perfect but the UX is nothing to write home about.

What's bothering you in the UX ?
Don't hesitate to join our Discord and leave messages in the feature requests or issues channels!

I just added my support, thanks for everything you do :)

I use this app on iOS all the time. However I'd prefer if you also made a Safari plugin. Giving that Safari can use Chrome extensions with a little recompiling there should be no reason why this can't be done.

The upgrade will bring great development to the keychain.
Great work boss @keychain