tyjvazum / arb

◉ Arbitrary Protocols on top of Bitcoin (Bitcoin NFTs/Ordinals, BRC-20, & Bitcoin Identities/Usernames)
GNU General Public License v3.0
22 stars 1 forks source link

Feature: A Companion Extension for Browsers #13

Open tyjvazum opened 1 year ago

tyjvazum commented 1 year ago

@sull tweeted a great point about centralized explorers being an issue for the space, along with a desire for a browser extension to help deal with it.

Ideally, this could be done with a trust-minimized light-client mode that could optionally be enhanced to a trustless full-node mode, if the user wants to run arb locally in addition to the browser extension, using native messaging.

@stet

stet commented 1 year ago

would be interesting to explore this.

tyjvazum commented 1 year ago

I'm working on preparing a repo with a minimal browser extension as a starting point. It can directly control the arb binary, which needs to be modified to add a feature that can set up the local files that are required to enable native messaging with the extension. It might require manually putting those files in the correct location at first, but at least we'll be able to start testing something quickly.

Here's a basic example from Mozilla in the meantime: https://github.com/mdn/webextensions-examples/tree/main/native-messaging

There's a lot of different functionality that it could provide, so we should probably try to list the most desirable features as well as how they can be implemented. Some things that otherwise seem simple, like comparing the hash of content, could actually be a bit challenging due to browser security restrictions.

I think an extension could even provide a nice desktop app (GUI) instead of using something like Electron, but that requires issue https://github.com/tyjvazum/arb/issues/11 to be completed before it can be done.