Starting Steem Keychain integration on SteemPlus + SteemPlus at SF3

in #utopian-io5 years ago (edited)

We've made the first step to implementing Steem Keychain on SteemPlus for a safer way to use your private keys!

What is Steem Keychain?

Steem Keychain is a Chrome extension that allows you to securely store your private keys and can be used by dApps to request some transactions, it's the Steem Metamask!
Steem Keychain originates from an original idea of @yabapmatt and was funded by @aggroed and him, designed by @nateaguila and developed by myself, @stoodkev (I guess you can call me the Steem extension dude now ^^).

You can read @yabapmatt s announcement of the project here.

We have added a few features since this original release, and you can now do the following on the extension :

  • Store an unlimited number of Steem account keys, encrypted with AES
  • Easily view balances, transaction history, voting mana, and resource credits for all of your accounts
  • Send STEEM and SBD transfers right from the extension
  • Securely interact with Steem-based websites that have integrated with Steem Keychain
  • Manage transaction confirmation preferences by account and by website
  • Manage automatic lock settings to lock when the browser is closed, the device is locked, or after the - browser is idle for a specified period of time

Websites can currently request the Steem Keychain extension to perform the following functions / broadcast operations (note that by default, users will have to confirm any transactions requested by a website, but they have the option to turn off the confirmations for specific operations and websites as desired):

  • Send a handshake to make sure the extension is installed and running
  • Decrypt a message encrypted by a Steem account private key (commonly used for "logging in")
  • Post a comment (top level or reply) including a "comment_options" transaction for beneficiaries
  • Broadcast a vote
  • Broadcast a custom JSON operation
  • Send a transfer

New features

  • Extension compatibility
  • Possibility to chose an RPC node
  • Enforce which user should make a transfer

Another extension? Why not directly on SteemPlus?

First of all, it s a totally different project, funded by the Steem Monsters guys @yabapmatt and @aggroed; but mostly for safety reasons. SteemPlus performs lots of actions on the blockchain but we do not want to handle your private keys for this for obvious security reasons.
Therefore, Steem Keychain is a great way to authenticate in SteemPlus without having to use SteemConnect.

Some technicalities

Many dApps already use Steem Keychain, how come it's coming so late on SteemPlus?

That's true, Steem Keychain is already implemented on Steem Monsters, Minnow Booster and SteemPeak for example. However, the first version of the extension was not compatible to other extensions for the following reason :
Steem Keychain doesn't need websites to add a library but rather injects the functions that the websites can use to request transactions. The problem is that other transactions cannot access these functions directly, and it s even more complicate to receive callbacks from Keychain this way.

What has been done

I have updated the Steem Keychain content script to handle requests from extensions in a different manner ( see this commit). Basically we're using what is called cross-extension messaging to pass the Steem Keychain response to SteemPlus (or any other extension).

Since other extensions cannot use the injected code I had to create a new library for using Keychain on SteemPlus. Other extensions that want to use it can find it on this SteemPlus commit. Or simply check this file.

First integration on SteemPlus

Now that this new version of Steem Keychain is online and allows request from other extensions, we have implemented it for one of our features as a starter: the Steem Monsters market batch buy!
Later on, Steem Keychain will be integrated with all our features, but with the SF3 approaching, it will have to wait a few more weeks!

Here's how the new Batch Buy feature works :

  • Select the cards you want to buy as usual. (See initial release)
  • If Steem Keychain is installed, it is the default purchase method
  • If not or if the transaction fail, the SteemConnect purchase page will be opened in another tab.

skc.gif

We've also limited the number of cards by batch to a maximum of 45, otherwise the memos might get too long to be processed by the blockchain.

The code can be found on this commit.

SteemPlus at the SteemFest 3

I (@stoodkev) will be present at the SteemFest 3 and will pitch SteemPlus for 7 minutes on the first or second day. Feel free to come and have a chat with me anytime, we will have a SteemPlus booth so you can come find me there!

Coming soon


Landing Page


We are peparing a SteemPlus landing page for better onboarding of new users. We aim to have it ready for the SteemFest.

SPP stats

@steem-plus will soon start to publish daily SPP stats updates. In the meantime, you can check our API to see how you fare in terms of SPP compared to other SteemPlus users, see how the SPP are distributed and what is the total number distributed.

Repository:

https://github.com/stoodkev/steemplus-api

Installation and updates

You can download and install SteemPlus directly from the Chrome Store if you are using Chrome or Firefox(follow this link for Chrome, this one for Firefox ).
For installation procedures on Opera, please check our documentation.

Updates shouls occur automatically. If not, click right on the extension logo > Manage my extensions > Update.

Steem on!

@stoodkev and @cedricguillas for @steem-plus

Powered by @adsactly

Powered by @utopian-io

Like what I do? Vote @stoodkev for witness!

Sort:  
  • Great job on the animated gif to show how it works.
  • The link to the repository is not the link displayed. steemplus vs steemplus-api

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thank you for your review, @helo! Keep up the good work!

It's very good software steem-plus. Probably most us take it for granted without really appreciating the huge amount of work that makes it run so smoothly.

Cheers!

Posted using Partiko Android

Thank you, comments like this give us the energy to keep going :)

Awesome update, looking forward to checking out Steem Keychain! I've been looking to get into Steem Monsters but haven't figured out a way to use, easily, my Steem money although I didn't go nuts researching how. I'll hopefully now be able to.

Yes, you should check it out. And like Steemplus it's a work in progress, lots of awesome features will be added soon

Excellent progress. I am very pleased to have taken part in steem-plus. Nothing has indicated that this will not be a major success.

Thank you for the comprehensive breakdown of the keychain implementation.

Also, very happy with the ability to check SPP stats.

Keep up the great work. You have my support!

Thanks a lot for your support, you re now the second biggest SPP holder!
More updates will come after Steemfest :)

Have fun at Steemfest! So exciting! Thanks bro, will see you around :)

Upvoted an resteemed: thanks @stoodkev for your continuous effort to improve the steem-plus's functionality!

A huge hug from @amico!

Hey guys... I'm a bit frustrated here... I've uploaded a 38 minute video to dTube going through you guys, and it got to 100% but now for the last hour, it has been stuck:

Help, please! =) Thanks

Hi! Sadly nothing we can do to help. We use dTube servers to upload the videos and sometimes they have these network issues. For some reason it seems that not changing tab during the upload helps

Wieder mal eine sehr gute Arbeit.
Top

How secure our keys gonna be?

I didn't mention since it's discussed on the initial release article but basically all your keys are stored locally on your machine and encrypted by a master password. You can put an auto locker to automatically lock the wallet after x minutes of inactivity

Hi, @steem-plus!

You just got a 16.42% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

wow, I'm impressed.

great development!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64534.17
ETH 3150.15
USDT 1.00
SBD 4.01