-
Notifications
You must be signed in to change notification settings - Fork 179
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
BOUNTY: Build Web UI #978
Comments
There are two people actively working on an extension to #670, which distinct from the existing proof of concept repo https://github.com/Joinmarket-Org/jmcontrolcenter , is using react rather than Angular. That should appear on github shortly. |
If anyone wants to collaborate on this I am willing to tackle this bounty. |
Would be it helpful to work out a design a figma interactive prototype to discuss the interface and experience before committing to code? |
That's a fair question. UX is an area where joinmarket can definitely be improved. Furthermore, defining a minimum feature set for the Web UI would be helpful, especially wrt bounties. I guess wallet and taker functionality is a must (basically what Qt can do right now). What about maker functionality? |
Many points of reference may be helpful. First, w.r.t. the idea of a feature set, that's a great idea, if someone does that you might find the list 1-10 in this gist a useful starting point(?): https://gist.githubusercontent.com/AdamISZ/f062c7453c6973a8287897fe506b9d19/raw/0569de16cecf455fdf0fc2006c6c25e1e68cc1cd/API-Joinmarket Second, #670, which implemented a rudimentary JSON-RPC API, but didn't yet have any session management, shouldn't be a blocker to anyone nor the existing repo https://github.com/Joinmarket-Org/jmcontrolcenter, in which there was a working implementiontation of unlock-view wallet-start and stop maker service and a couple other things. People can feel free to reuse them, build on them, ignore them, whatever works. Third I want to shoutout at this point the "Summer of Bitcoin" participants @shobhitaa and @abhishek0405 who have started working on a new PoC implementation in React (they already have session management with JWT), using essentially the same backend as in #670. (I've been mentoring them). See https://github.com/shobhitaa/Joinmarket-SOB and https://github.com/abhishek0405/joinmarket-clientserver/tree/rpc-api-2 . |
If anyone is interested in gory details, one thing that I think is tricky: implemented taker-side coinjoin (or indeed tumbler) seems a little bit trickier than any other feature to add, because of the server needing to "push" the outcome of the first round of communication with participants (the On the more positive side, my original experiments suggest to me that pretty much everything else is not tricky (because the heavy lifting is already assumed to exist in the backend). |
See #996 |
The Human Rights Foundation is providing an additional 25M sats to this bounty. We have setup a multisig address to hold bounty funds with myself, Ben Carman, and HRF holding a key. https://blockstream.info/address/bc1q84n390t8eg70gxfnpz5kk7gg7njs7d95900hhd30ll28jw3q0h3sz2t3h3
|
[deleted as duplicate, see above] |
Here is my PGP signature of the address:
|
Incredible. From those of us who have no clue how to build this: Thank you! |
to be clear this is not an umbrel specific bounty, the result should be FOSS so other node projects can implement it as well |
further clarification, result should have full functionality of joinmarket, including yield generation and payjoin |
Sounds very useful. I'd also recommend to flesh this out first in a design tool and then code, as @pedromvpg suggested. |
Aded 3M sat bounty. Small request if possible: would be awesome if the webserver would be accesible through TOR. |
As of b527bbb there is a documented OpenAPI/swagger API definition and auto-generated docs for it (mentioning here in case anyone was thinking of starting work on a client). |
Merged #996 which should provide what is needed for a client-side developer, as per above, see OpenAPI spec in this yaml file, and read this for a summary of what is provided and how to use it. As you can see from the latter, this is giving all the basic wallet, taker and maker functions. There are a number of extra functions not yet implemented, but, walk before run etc. etc. |
Thank you. |
2.5m sats added to the bounty. If someone starts working on this please let me know, myself and another developer want to help. |
I'm trying a build a GUI for this but simple Python GET/POST requests is throwing 405 errors. Am I missing something silly? |
Are you adding |
You're right, I was missing |
First working version of my GUI is ready: https://github.com/manasgandy/joinmarket-gui It's built using Python Flask and Bootstrap and has the following features:
There's a lot of work left, but this minimal GUI can get you started with generating yield. PS: Thanks for fixing the timelockaddress() API @AdamISZ |
Nice one @manasgandy! FYI there are some people working on concepts and designs for the Web UI, as well as an implementation. For more information have a look at the JoinMarket Web UI Wiki. The current plan is to build up on this prototype and package a first version of the Web UI for the RaspiBlitz, which is in the final testing phase now. See this PR: raspiblitz/raspiblitz#2747 It's an open group, so feel free to join us if you want to bounce around some ideas or combine forces! 😊 |
Thanks @dergigi
|
Quick update: what started as the "JoinMarket Web UI" project above is now known as Jam and is live on Umbrel, Citadel, and Raspiblitz. |
@modl21 and other supporter from the past In behalf of, the still active, core team of JAM (Gigi is also part of) I would love to claim the blounty for the team so that we can discuss how to split or (hopefully) reinvest to develop further (as there is enough in the pipeline) please get in touch with us or me (hope it’s ok, first claim) |
@editwentyone what is the best way to talk? |
@benthecarman thanks, you can find me here: nostr npub1llcej3uyrjzv2e6qruh72u5trxnk6lx963ksu0xs980n0leq230q2mjgwq |
UPDATE: the team (@theborakompanioni, me and others) decided to donate the 0.5 BTC directly to www.opensats.org and we hope that @dergigi can pick this up and talk directly to @benthecarman and @modl21 but also Alex from HRF. we hope that this money can be of good use :) |
cheers, we will proceed with that |
Can this be closed? No more comments expected. |
I'd like to offer up a bounty for someone to build a Web UI. See below for bounty amount, currently over .4btc.
This enhancement will allow JoinMarket to be included as an application for the more user friendly node packages such as Umbrel. As these node deployments are used by many convicted, but less technical bitcoiners, this enhancement should, in theory, increase the market size for CJ yield generation & raise the floor of privacy preservation across the network.
The text was updated successfully, but these errors were encountered: