-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Browser based Agoric wallet using SwingSet #3180
Comments
hmm... at first glance it looks like purely browser based would require that the wallet bridge iframe whatchacallit handle captp messages instead of going through a websocket. But I have to investigate websockets and service workers. |
@warner here is the issue you're looking for. |
My plan for this is to use Wallet Connect #2962, for which the dapp can name a WS forwarding address+shared secret and then that string is communicated out-of-band to the wallet. Then both sides connect to the WS server, negotiate a shared channel, and use a shared secret for encryption so the WS server doesn't see the transactions.
That's a difficult issue. Service workers + websocket is even less portable. |
I have investigated the service worker and websocket route. I thought one might be able to intercept websocket connection requests with service worker like http requests are. Turns out it is not possible, so that is out for purely browser based wallets. This Wallet Connect looks promising but it does not sit right with me that dapp<->wallet traffic would have to go out into the Internet and back. |
Goal:
Allow users and wallet providers to run the Agoric wallet without needing a separate ag-solo process.
Notes on approach:
Generalising Swingset controller support so that it can run on the browser (or in other non-Node.js environments) is the best way forward, to maximally leverage our existing code.
controller.js
, which is pure code that only uses capabilities from the outer halfcontroller.js
in SwingSet is the default Node.js implementation@agoric/web-solo
controller.js
using Web techyarn build
to create a tree of files representing generic kernel state and bundle/index pageThe text was updated successfully, but these errors were encountered: