Starting Steem Keychain integration on SteemPlus + SteemPlus at SF3
utopian-io·@steem-plus·
0.000 HBDStarting Steem Keychain integration on SteemPlus + SteemPlus at SF3
 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](https://steemit.com/steem/@yabapmatt/hate-putting-private-keys-into-websites-introducing-steem-keychain). 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](https://github.com/MattyIce/steem-keychain/commit/486e938bece62998ffc130a5417880d354271658)). 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](https://github.com/stoodkev/SteemPlus/blob/master/vendor/steem_keychain.js). ## 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](https://steemit.com/utopian-io/@steem-plus/steemplus-35--buy-cards-by-batch-on-steem-monsters-and-earn-spp)) - 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](https://github.com/stoodkev/SteemPlus/commit/997461db14386fef395b33d8653e9384f36b41d4). ## 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! <h2>Coming soon</h2> <h4>Landing Page</h4> We are peparing a SteemPlus landing page for better onboarding of new users. We aim to have it ready for the SteemFest. <h4>SPP stats</h4> <p><a href="/@steem-plus">@steem-plus</a> will soon start to publish daily SPP stats updates. In the meantime, you can check <a href="https://api.steemplus.app/get-spp-stats" rel="nofollow noopener" title="This link will take you away from steemit.com">our API</a> 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.</p> <h4>Repository:</h4> <p><a href="https://github.com/stoodkev/steemplus" rel="nofollow noopener" title="This link will take you away from steemit.com">https://github.com/stoodkev/steemplus-api</a></p> <p></p><h2>Installation and updates</h2><p></p> <p>You can download and install SteemPlus directly from the Chrome Store if you are using Chrome or Firefox(follow <a href="https://chrome.google.com/webstore/detail/steemplus/mjbkjgcplmaneajhcbegoffkedeankaj?hl=en" rel="nofollow noopener" title="This link will take you away from steemit.com">this link</a> for Chrome, <a href="https://addons.mozilla.org/en-US/firefox/addon/steem-plus/" rel="nofollow noopener" title="This link will take you away from steemit.com">this one</a> for Firefox ).<br> For installation procedures on Opera, please check our <a href="https://github.com/stoodkev/SteemPlus/blob/master/README.md" rel="nofollow noopener" title="This link will take you away from steemit.com">documentation</a>.</p> <p>Updates shouls occur automatically. If not, click right on the extension logo > Manage my extensions > Update.</p> <div class="pull-right"> <a href="https://discord.gg/7mqmx2M" rel="nofollow noopener" title="This link will take you away from steemit.com"> <img src="https://steemitimages.com/0x0/https://cdn.steemitimages.com/0x0/https://steemitimages.com/DQmd5CQG5zLjjm2z8289qcLU6eBHJpC5FmgtR3aC1eXnhsi/Adsactly-Logo-200px.png" alt="Go Adsactly"> </a> </div> <h2>Steem on!</h2> <p><a href="/@stoodkev">@stoodkev</a> and <a href="/@cedricguillas">@cedricguillas</a> for <a href="/@steem-plus">@steem-plus</a></p> <p></p><h4>Powered by <a href="/@adsactly">@adsactly</a></h4><p></p> <p></p><h4>Powered by <a href="/@utopian-io">@utopian-io</a></h4><p></p> <p></p><h4>Like what I do? <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=stoodkev&approve=1" rel="nofollow noopener" title="This link will take you away from steemit.com">Vote @stoodkev for witness!</a></h4><p></p> </div></div>
👍 shantamcbain, rawpostblog, pluggedskip, semenovyx83, makvol19, ico32, nfc, emrebeyler, onepercentbetter, angelinafx, merlion, acehero, bitok.xyz, jacekw.dev, gtpjoker, whitebot, kosheliuk, viktorpetro, submitchair, marina.yanalova, valentinapetrova, rubydetails, grindanalogue, springcounting, artyrsedakov, damiralanov, mvetrov88, thussidlaws, dancerant, merlin7, observedkey, ownaperture, piaristmonk, mvanyi, passion-fruit, holger80, fortune-master, jassennessaj, watchlist, amosbastian, therealwolf, shammi, lecongdoo3, steemtank, kstop1, neopch, ausbitbank, newhope, rayday, cmplxty, markkujantunen, luisreyes, alakadar, finanzasid, bitcoinkings, paulomits, acidyo, bluengel, aaronhawk, derasmo, davidcop, jpederson96, liberviarum, sagitta6, jemjewl, maryjohnson, dazzy, sobrietystuntin, sagitta, kylightning, loshcat, seanlloyd, sjennon, shenkie, jvhteach, mattclarke, nabilbouasla, revisesociology, maarnio, alfonzoasdrubal, ibez, argenisapaz, xxsamu, wstanley226, kaschi11, dominion01, argalf, perungaming, djlethalskillz, sampraise, scuzzy, dominicbaitan, berien, sircork, edlili24, electronicsworld, zyx066, shawkr13, crystalhuman, dieantwoord, multiplicity, magneticstorm, steempals, buymoremoney, crystalrobot, chrisppierre, musicvoter, avesa, realjohnaziz, wolfnworbeikood, thesiam, grizzle, operahoser, kryptoe, indiebandguru, theomgbrand, veckinon, starfinger13, elamental, tribedownsouth, laritheghost, classical-radio, volareo, bipolar, dinoromanelli, motorway, lillywilton, gentlefred, housechain, beats4change, digitalopus, grayarty, munkiioh, dabstars, esteliopadilla, dabstar, bozz, josevallera, smacommunity, tbnfl4sun, ascendedmonkey, futuremind, imaginary-friend, steevc, jonmagnusson, hhtb, tech-master, levycore, vallesleoruther, andestra, arcange, raphaelle, techslut, didic, city-of-berlin, xr-hammergaming, arjoona, jensvoigt, blocktrades, abock-chain, semasping, letstalksurvival, jakariya10f, hkabir62, zackyy, ewq, fabiyamada, katty-ta, blindjerobine, ubicaritas, gheghenrv, boykeren, sergey44, avirush2018, helo, nuthman, noisy, tomosan, spawnband, imealien, feelx, ozgurcinarli, thebigwhitevan, robertchr, yabapmatt, grzesiekb, adsactly, msooi, bobadilla, christianytony, igel2017, lindal, geekorner, salimon, lefthouse, lovemetouchme2, kakoly, natha93, ederaleng, jeffandhisguitar, cathynsons, fragmentarion, primersion, steem-plus, newsnownorthwest, detlev, jhsung2002, iramshehzadi, jeenger, qnick, stoodkev, me-atif, riyasoudia, artjom13, akarantain, solarphasing, gladbacher1900, voteminer, ana-maria, campusgistars1, tattoodjay, sm-trainer, cryptovisitor, amico, easyimagination, lonik-olsawn, ron-pimplebut, steem-ua, therealkev, klumpkatt, talhatariq, utopian-io, yownini, cremisi, truthly, avicrypto4, criptoavi, negolasz, marianomariano, masoom, maxxyb, aalagenesis, evildeathcore, hasenmann, anka, titusfrost, mib-coin-usa, szaza, invariable.muse, heskayknows,