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 ^^).
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
- 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.
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.
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!
We are peparing a SteemPlus landing page for better onboarding of new users. We aim to have it ready for the SteemFest.
@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.
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.