[Beta] (Unofficial) Blockstack Extension - Release 2.3!

#1

Unofficial Blockstack Extension

previous thread here

This is a web extension to add Blockstack support to the Web Browser by
making it so a user can log into the browser and authenticate apps via
popup windows instead of through https://browser.blockstack.org/ or
having to run their own instance of the Blockstack Browser. This makes
the experience much more native and easy to use!

This browser does not quite have feature parity with the official browser,
as it is missing the ability to acquire usernames and does not have the
ability to do social verifications.

screenshot-1

Features

  • Creating/Recovering Accounts
  • Managing Multiple Identities (at any offset)
  • App Authentication
  • App lookup via app.co’s repo
  • Blockstack Wallet Management (BTC)
  • Blockstack Profile & Identity Management
  • API Settings Verification
  • Ability to set/change your account email

Known Issues

Using an account that has a name with a profile.json from a particular Gaia
Hub and switching to a different one in the settings will cause the extension
to error in ways that may make the extension unusable.

For now, make sure to use an account that has no names or stick with the
default Gaia Hub / the Gaia Hub that has the profile.json stored for that name.

Downloads (for Beta Version)

Wallet Transactions have not been tested yet – use at your own risk!

  • Firefox - Currently only the desktop version of the Blockstack-Browser works for Firefox due to a bug in blockstack.js
  • Chrome
  • Source

Story

Hey everyone!

For fun over this first part of the summer I’ve worked on translating the logic within the Blockstack Browser into a web extension, mostly because I found the Windows implementation of the Browser to be… a little disappointing and hard to work with. I also thought that such an implementation would be much more user friendly, kind of how MetaMask is for Eth.

You can see the preview of how it works here (or click to get higher-res gyfcat version):
bs-web-ext-test1

Thanks for reading, and if you have any comments or questions, leave them below!

soli deo gloria

1 Like
#2

Release 2.2

We’re actually ahead of the Blockstack (PBC) browser in one feature now! Association tokens have been implemented so now you can use private (whitelisted) Gaia Hubs!

Changelog

  • implemented <all_urls> checking - unfortunately the extension has to monitor all the urls/webpages you go to now because some of the requests to browser.blockstack.org/auth?authRequest=<> didn’t show up anymore. On the plus side, the extension works again (and if you don’t trust me – check my code).
  • updated deps & blockstack.js typings
  • Added association tokens to authentication - this now means you can use private Gaia Hubs now, yay! :tada:
  • (hidden change): your configuration for the core node is now passed to apps so they should prefer to use it too

Known issues:

Using an account with a name that has its profile.json in another Gaia Hub then the one you have configured will make it break. In simpler words: don’t use an account that has a pre-existing username on it.

Also note that if you change Gaia Hubs your data will be left on the old one – you won’t be able to access it from the new Gaia Hub and will have to “switch back” if you want to access it.


I had to create a new thread for the extension as the old one’s top-post is locked/archived.

You can download it using the links above, or directly from here: https://github.com/MichaelFedora/unofficial-blockstack-extension/releases/tag/2.2 . It should be propagating in the chrome web store soon.

Thank you for your support!

4 Likes
#3

Release 2.3

Version 2.3 has been released, fixing image hosting issues (unsecure domain whatnot) and reducing the number of apps listed to only those in the App Mining program – no more 20 thousand animal kingdom apps clogging up the screen, hooray!

It should be propagating in the Firefox store soon, but is already up on the Chrome store. Also, despite what the OP says, it should work in firefox again – let me know if it doesn’t.

You can also find the release here: https://github.com/MichaelFedora/unofficial-blockstack-extension/releases/tag/2.3

2 Likes
#4

Nice work! It installs also on Firefox for Android!

BTW, there are also some useful apps out there that don’t or can’t participate in the app mining program…

On Firefox on Mobile, I couldn’t manage my profile or search for apps.

1 Like
#6

@MichaelFedora

issue 1:

After I stalled it on firefox, when I open each site and click sign with blockstack,it would show this error window. How to fix it?

34

issue 2:

when I tried some sites ,like forum.blockstack.org or bitpatron, the official blockstack version would automatically launched and force me to the chrome brower, how to fix this, if I only wanna use firefox?

#7

That’s pretty wild that it does install on FF for Android – I didn’t check any boxes that said it could… never designed it to work on mobile either. Does authentication even work properly? I suppose I could download and figure it out myself…

Also, I had to switch to app-mining programs only because of the mass influx of “Animal Kingdom” apps that were clogging up the screen. I don’t know of any other (simple) way to have some sort of curated, quality app selection in the browser otherwise – unless maybe I just don’t show those that aren’t app-mining unless they are searched for? Something to think about.


@Yummyblock

I just tested it and I was able to sign in to Graphite flawlessly. What sites were you trying to log into? I see you tried to log into Travelstack, but I also just tested that and it worked fine.

Surprisingly I was able to log into the Forum as well, though it kept me in the popup window, unfortunately.

Are you sure you are using the latest extension (2.3.0)? If so, while you are in the auth popup, press control-shift-I and it should open up web inspector dashboard; click “Console” and show me the error in there. Odds are a promise didn’t fire correctly, and you might need to restart your browser or reinstall the extension.

#8

issue 1: When I use blockstack id like ID-1BNkF2PP4EagjsBgcxY8q61b2h75yLVmpY , this error window would popup. But when I use localgit.id.blockstack this format blockstack id. it works well and it can logins each blockstack apps.
26

issue 2: Show Recovery Key feature doesn’t work. Even you type the right password.

issue 3: Restore Existing Keychain feature doesn’t work, after I logout, and then input the right keychain and password. The errors shows as follows:

39

Issue 4:
users cannot register justtest.id.blockstack this kind of format id directly after they created a new identity. And they have to go to browser.blockstack.org to register it.

Bug 1: if you use moz-extension://452f6797-5b15-5346-b522-6d1665682a29/main.html#/profile/0 address to restore your keychain, it works well,

but when you try to use small popup windows as follows, you cannot restore your keychain.Issue 2 and issue 3 all based on this small popup windows as follows.

11

@MichaelFedora

#9

@Yummyblock

Does this happen after having the browser open for a long time or also from a fresh restart? I can’t seem to replicate the issues.

As for registering names, that isn’t available yet, sorry.

#10

Release 2.3.1

Updated more deps and fixed a (very odd!) issue that made it so the extension caught people doing something with blockstack: in the url, such as making pull requests on github. Whoops!

#11

@Yummyblock

I was able to replicate the “e.dispatch is not defined” recently. My extension works by syncing a Vuex (Flux) storage instance across each page, using window.getMessage and window.postMessage whatnot. It seems that sometimes Firefox doesn’t load the Auth popup correctly and it doesn’t connect to the storage backend in time, so it doesn’t load the “dispatch” command.

To fix it, turn off the extension and then turn it back on. For me to fix it permanently will take quite a bit of effort and a redesign, which I will probably end up doing for the next major revision / rebranding.

#12

Release 2.3.2

Another small-ish bugfix update, which seems to reduce the size of the extension a bit:

Fixes:

  • Some app images weren’t showing up (i.e. those that didn’t have an app.co entry)
  • Excess code has been trimmed from the background
  • Dependencies have been updated and typings have been fixed
  • In the auth popup, sometimes it would look for the identity default profile url if it didn’t come from the downloadProfile action – this would trigger an error because it was calling a non-existent action (getDefaultUrl (bad) vs getDefaultProfileUrl (good))

Additions:

  • You can now see your extension version at the bottom of the settings page.

Unfortunately I am unable to publish on Firefox currently as I’m locked out of my account – if you need it, manually load the “unpacked extension” from here.

Chrome should be updating fine.


Release 2.3.3

Had to release another update today because the recovery phrase wasn’t encrypting in a way that it could be unencrypted again – so I switched to non-deprecated crypto functions (createCipherIv/etc) and am now using AES-256 as well as actual IV’s. Yay!

This one has also already been published to the chrome store, but you can grab the source/build here.

1 Like
#13

Release 2.3.4

  • Updated deps
  • Fixed a null reference in the auth popup
  • Removed some debug logs
  • Added some debug logs (that aren’t enabled on release)
  • Fixed some typings
  • Fixed #14 : There was an update to the bip39 package that made mnemonicToSeed async, and I forgot to update some code for that

It has been published to the Chrome App Store and should be propagating within the next hour. I am still unable to get into my Firefox dev account, sorry!

1 Like