Hive Keychain Proposal

in #hive15 days ago (edited)
Authored by @stoodkev

Proposal material.png

A lot has happened this past year and if you've followed @keychain account 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 all Chromium browsers and Firefox).

Let's start with some numbers to put Hive Keychain in perspective:

Proposal material.png

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

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

This proposal will mainly focus on three different goals:

  • Development: Maintaining, improving, and adding features to our extensions, mobile Apps and other products, based on the ecosystem needs and popular user demands. This will always be our first priority.
  • Cooperation with services and dApps, inside and outside the Hive ecosystem
  • Bridging Hive to the broader ecosystem with multichain integration

1. Development

Developing new features for our Hive products is and always will be our core objective. Here is an overview of what has been achieved in the past 12 months, and what we want to do next.
From a single extension a few years ago, we are now working on the nine projects described below, plus a few minor ones.

Keychain Extension

Our extensions (available on all Chromium and Firefox browsers) are at the forefront of our development efforts, and as such, are the first to come with new features. Here's a brief summary of what we've worked on this year:

  • Keychain v3: we've spent quite some time refactoring the whole extension to bring you Keychain v3, coming with a new sleek design, a better user experience, and dark and light themes.
  • Added the Swaps feature (more on this in the Keychain Swap section)
  • Added multisig detection and handling using Hive Multisig. Keychain automatically detects if a key has sufficient authority to sign and broadcast directly, or if other signatures are needed, in which case it is sent in encrypted form to Hive Multisig.
  • Following the successful implementation of Hive Multisig, we implemented their 2FA system, and are currently testing it internally. It should come to Beta in the coming weeks.
  • Added keys protection / vesting route protection: two new features that improve your account security by detecting unwanted changes
  • Added a My witness page
  • Accounts can now be reordered for better ease of use. Convenient for those of you who have many Hive accounts!
  • The account value display can now be switched between USD, HIVE, and hidden modes
  • Added a Portfolio page, in which you can see the breakdown of all your accounts and token values
  • Added an Ecosystem page in which you can discover all the Hive dApps useable through Keychain
  • Added an Export Transactions feature that helps you with your accounting by exporting all your transactions of monetary value between two dates
  • Implemented Open Peak Notifications system (currently in Beta), a new feature that lets you personalize which notifications you wish to receive
  • Created an onboarding tutorial (currently in Beta, see more in the Tutorial section)

Here's a non-exhaustive list of what we plan to work on, on the extension side:

  • Finish the 2FA integration (as mentioned above, we are currently testing it internally)
  • Enable to buy HIVE from fiat in a few clicks, after comparing and finding the provider offering the best rate
  • Enable to swap HIVE with other major cryptocurrencies. Here as well, we will compare different providers to make sure you get the best deal possible
  • VSC support: we're thrilled to have smart contracts coming to Hive and looking forward to enabling it in Keychain
  • Hardware wallets integration: we are still waiting for Ledger to complete the Hive App update review, after which we will be able to allow Ledger operations on the posting key. Similarly, if other hardware wallets become Hive compatible, we will do our best to implement them in a timely manner
  • Hive Engine automated tasks (auto-staking for instance): we recently started working on this. We welcome more user feedback on what would be the most useful actions to be performed automatically
  • Adding HiveAuth to the extension for desktop app communication. This would also allow to use a keyless version of the extension, where all the transactions are relayed to Keychain Mobile to be signed. This can be particularly useful when using a public/unsafe computer
  • Depending on the needs of the community, we could also tweak our React Native version (from the mobile Apps) to create Windows and Mac Apps.
  • Implement a Keychain Swap iframe that can be imported into dApps, with a revenue-sharing system
  • Most dApps on Hive use Keychain but they should be able to work seamlessly with any Hive wallet provider. @vaultec is working on creating a standardized way to communicate with wallets. We will assist in creating the Keychain provider that will be the link between the standard methods and Keychain methods
  • Export several accounts at once with a dynamic QR Code
  • Handle hive-uri standard links
  • Allow Keychain to be opened as a detached screen. Convenient if you have many transactions to make and don't want Keychain to close when switching tabs
  • We've been asked for more control over the tokens appearing in the portfolio and will also work on this
  • Keeping up with new features introduced by Hard Forks
  • Users / Devs support

Keychain Mobile

Since our mobile userbase keeps growing, there are a lot 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 this year :

  • Keychain mobile v2: like for the extension, we've refactored the whole App to integrate our new design. We had to make sure it integrated nicely we the different OS and different screen sizes but thanks to our Beta testers' feedback, we now have a great new version, with a design matching the extension.
  • We also added the swap feature on mobile
  • Accounts can now be created on mobile, paid for with either HIVE or account creation tickets
  • Added a Buy Hive page in which the different exchanges and swap services that support HIVE or HBD are listed
  • Added pending withdrawals to the accounts display
  • In-App browser improvements: since most Keychain Mobile users mostly use it for the in-app browser, we took the feedback seriously and brought the following changes: added a way to reset the cache, clear the history, switch to desktop mode and open links in new tabs
  • Improved the account value display by adding Hive Engine value, and giving the ability to switch between USD, Hive, and hidden modes
  • Added two Android widgets, that allow you to see the current HIVE/HBD prices and your portfolio, from your Android device's home screen
  • Added a My witness page
  • Added background tasks that work like on the extension and automatically claim rewards, claim account creation tickets, and/or claim savings interests
  • We improved the use of our QR code scanner. It can now, from a single place: import an account, start HiveAuth, initiate a transaction, or open an URL in the browser.
  • You can now export your accounts to other devices via QR Code (it was only possible on the extension in the past)
  • RPC nodes can now be set to change dynamically
  • Added a username autocomplete for easier transactions
  • Added an onboarding tutorial (currently in Beta, see more in the Tutorial section)
  • Apps size optimization

Because the same code can be partly reused in the extension and on mobile, we generally develop new features on the extension first and then port it to mobile later on when it's ready and stable. To take it further, we've decided to move the mobile repository to a monorepo alongside the extension, so that they can directly share some code (see Monorepo paragraph)
The following features will be ported after these changes:

  • Multisig and 2FA
  • Notifications: it was supposed to be a mobile-first feature but a push notification system was just implemented on Open Peak Notification system, giving us much more flexibility to implement it on mobile
  • Export transactions
  • Key/vesting routes change detection
  • Hive Engine automated tasks
  • Buy HIVE with fiat or other cryptos
  • VSC support

We also plan to work on other features that are specific to the mobile Apps:

  • Peer-to-peer onboarding: new users will be able to choose a username, generate their keys, and create a QR Code. Their friend or the person who onboarded them can then scan the QR Code and pay for their account creation with either HIVE or an account creation ticket. Thanks to @starkerz and @theycallmedan for brainstorming this idea with us!
  • Increase support of the hive-uri scheme
  • Refactor our QR code scanner to allow scanning dynamic QR codes (gif), thus allowing to import all accounts at once
  • Keep improving upon the in-App browser as it is the most used feature of the App
  • Improve existing Android widgets to match the Apps in terms of design
  • Keeping up with new features introduced by Hard Forks
  • Users / Devs support.

Keychain Store

Last summer, we introduced Keychain Store, an Android and iOS mobile App for store owners who want to accept payments in HIVE and HBD.
Thanks to the incredible work of the community, most noticeably @hivesucre, we've grown to at least 65 stores accepting our native tokens for payments! We've created a map displaying the different stores participating in our chain's economy.

Screenshot 2024-04-24 at 2.49.23 PM.png

Most of these stores are in Venezuela, but we're glad to see that it has already reached 3 continents! We are happy to connect with other communities who want to push for our tokens adoption!

Here's an example of a Hiver who went to shop for medicine using HBD in @holasupercenter, a big supermarket that uses Keychain Store for checkout.

Our objectives for Keychain Store this year are to improve the design to have it more in line with our other products and collect feedback from store owners to improve its ease of use.

Keychain Swaps

image.png

We've worked hard developing Keychain Swap, a one-step swap between HIVE, HBD, and all Hive Engine tokens. Keychain Swap compares different providers to ensure the best rate possible and performs all the steps needed to realize the swap.

We've processed over 18,600 swaps so far, with a combined value of over $1,000,000. The most swapped tokens are HIVE and HBD, followed by SWAP.HIVE, SPS, DEC, and LEO.

Our next step for Keychain Swap will be creating a widget that dApps can easily integrate, along with a revenue-sharing mechanism for the dApps that implement it. We will also add providers if possible, to always find the cheapest route to swap a token.

Keychain SDK & Playground

We've added new features to our Keychain SDK, most noticeably functions to interface with Keychain Swap and Multisig abilities.
These functions are also available for testing on our playground

Keychain Commons -> Monorepo

We've been moving some code to a separate repository that can be accessed by both the mobile Apps and extensions, to get the exact same code running on both sides.
To take things further, we plan a refactor to use a monorepository. This will take some time to implement but should save us a significant amount of time in the future when porting features from the extensions to mobile Apps and maintaining the two projects concurrently.
Keychain commons are available on Github and npm

Landing page

We've improved a tiny bit our Hive Keychain landing page, available here. We plan to refactor it this year to add more information about our products and easily link to all our different projects.

Tutorial

We've created a tutorial page hosted here, that will be shown to new users on both the extensions and mobile Apps, to ease them in our Hive ecosystem.
These features are currently in Beta on Chromium, Android, and iOS (pending review). We are welcoming user feedback to improve the tutorial content.
The corresponding repository can be found here.

Keychain Backend

We've improved our price and ecosystems APIs, added some new APIs needed for our new design, and created a private dashboard that allows us to quickly set up our "What's new?" popup content and new dApps in the ecosystem page.
The corresponding repository can be found here.

2. Cooperation

On Hive

To improve the usability of our chain, we've started getting more and more involved with the ecosystem. A few examples :

  • As mentioned above, our recently released (in Beta) notification feature, was developed using Open Peak Notification, and we worked with the Open Peak team to improve its use.
  • We are working with the @hivesucre community to bring HBD payments to Venezuela through the Keychain Store App.
  • We have future development plans that involve cooperation with @vsc.network which is bringing smart contracts to Hive, with the @spknetwork team to improve onboarding, and are discussing potential cooperation with the @leofinance team.

Outside of Hive

Because Hive shouldn't be an island, we are also working on connecting with more outside parties. I can't give too much specific before everything is ready on our partners' side but we are working on the following:

  • Cooperation with an on-ramp service to add HIVE to their offered tokens.
  • Integration of other token swap services that support HIVE.
  • Additionally, we try our best to support Web2 services who want to make the move to Hive, when they are referred to us by @valueplan or other community members.

3. Multichain

Since last year, and following a great majority of users support, we've started putting a small portion of our time and resources towards making Keychain multichain, by first working on EVM chains integration.
Since our priority will always be Hive development and some features took more time than first anticipated, we are running a bit behind schedule but still made some pretty good progress and are confident we will be able to release a Beta version of the multichain extension within a few months.

In the meantime, here are a few teasers:

image.pngimage.pngScreenshot 2024-04-26 at 07.11.11.pngScreenshot 2024-04-26 at 07.12.30.pngScreenshot 2024-04-26 at 07.13.31.pngScreenshot 2024-04-26 at 3.21.04 PM.png

4. Additional work

Support

We are always thriving to give a timely response to issues reported on our Discord and/or Github.
Big thanks to @thekittygirl for her commitment to helping users on our channel and others!

Community management

@manuphotos is doing an amazing job growing our X/Twitter presence and promoting both Keychain and the whole Hive ecosystem through his daily tweets.
Thanks to his work, we went from 2,000 to nearly 4,000 followers this year.
Additionally, we are regularly holding giveaway events to push forward Hive presence on X, with over 80,000 HP delegated in the past few months.

Translation

Translations have been updated in Spanish, French, and Mandarin Chinese on the extension side. We are ready to add more languages based on user demands.
We already have Spanish and English versions for our new onboarding tutorial and will add other languages as well.
Finally, the mobile Apps code has been refactored to allow several languages as well, and we will start working on it with translators soon.

Infrastructure

We are maintaining several auto-scaling servers for our API backend, Keychain Swap, and our other services.

5. Budget

For this new proposal, we are applying for the same daily budget of 600 HBD for 12 months.
Although our administrative, payroll, and infrastructure costs are increasing, we will have lower costs this year regarding graphic design after finishing our design refactors, and we've started generating a small revenue through our Keychain Swap service (~ $1k/month).

6. Commitments

7. Downloads and Contact

You can find download information for the Apps and extensions, as well as links to different resources on our landing page.
As mentioned above, we can be reached on our Discord server

8. Team

@stoodkev : CEO - Witness
@cedricguillas : CTO
@theghost1980 : Front-end Developer
@manuphotos : Community Manager
@yabapmatt : 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:  

Excellent project that they have been able to carry out as a team. Thank you very much for your great work and support that allows us to make our own within this platform. We keep growing 👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏🎉🎉

Nice work.
Hive Keychain Development Proposal
Proposal #306 supported 🚀

Thanks for doing the wonderful work and roadmap has got so many things. I am happy to support. Keep up the great work

Sin dudar el mejor proyecto de todos 🚀🚀🚀

I think it is one of the best tools that the Hive ecosystem has. You have my full support 🙏

Love the Hive keychain! 🙏🏾🔥🔥

being the user of #keychain since years, lastest updation is fabulous... your teams is really hard to Bring the best for us.. lastest roadmap feature is fabulous...

A constant evolution, always giving us the best it has to offer! I hope there will be more and more developments from now on! Cheers.

thank you. been using keychain since i came on hive love u guys ; ;

I love the continuous improvements to Keychain in its various forms.

Their friend or the person who onboarded them can then scan the QR Code and pay for their account creation with either HIVE or an account creation ticket.

Will payment for the account with Lightning be possible with V4V.App, maybe, as a future collaboration to help with this? Brian mentioned he created the possibility of creating Hive accounts for Lightning via V4V.app already.

Sounds like you have plenty to do. That onboarding feature looks really useful.

Keep it up!

excelente proyecto.Gracias por todo.

one of the best projects on Hive, you guys have my support! :)

Done! All strength to you guys!

Amazing project, you have my support

Great work, team! Go Hive 🏁

👍 !PGM

Excellent project and you are doing a truly great work. I support it with great pleasure.

Voted and rehived. Great app.

Very detailed proposal and great testimonial of impact and value added to Hive. It's worth the support.

Cheers!

Great work 👌

Cool. I love the team work 🤗🤗

This is an impressive project and I didn't know this application had so many capabilities. I will definitely spend more time studying it.