sparrowwallet / sparrow

Desktop Bitcoin Wallet focused on security and privacy. Free and open source.
https://sparrowwallet.com/
Apache License 2.0
1.35k stars 190 forks source link

[Feature Request] Leverage Bisq API inside Sparrow #539

Open RequestPrivacy opened 2 years ago

RequestPrivacy commented 2 years ago

Description

Bisq is the closest form to a decentralized platform to acquire and sell non-KYC coins the bitcoin space has produced in its over 10 years of existence. It lacks liquidity though, as only power users seem to leverage the platform.

With release of its version v1.9.1 the developers have implemented an API. It is documented here and here. According to the docs the API allows you to

"...access local Bisq daemon API endpoints, which provide a subset of the Bisq Desktop application's feature set: check balances, transfer BTC and BSQ, create payment accounts, view offers, create and take offers, and execute trades."

Sparrow and Bisq are both written in Java. There are already example snippets for the implementation of the capabilities in the second documentation reference provided above. It would be amazing to see Sparrow implement these features in a nice and less resource intensive way than the current Bisq GUI. This would be a big step for Sparrow but I feel it needs some discussion as it somewhat shifts the focus from a sole wallet to a more holistic piece of bitcoin software. Some thoughts below.

Discussion

Positive Aspects:

  1. Helps to introduce people to Bisq, the only somewhat censorship resistant way to trade bitcoin p2p (really important in the future imho)
  2. Liquidity growth for all Bisq users
  3. Unique feature for Sparrow Wallet, confirming its lead in the space and could be the next "big thing" for Sparrow to aim for
  4. Holistic approach: buy/sell, store, and coinjoin bitcoin in one single wallet

Problematic Aspects:

  1. Adds complexity to Sparrows codebase (?) and the wallet UX/UI-flow
  2. Imports problems of Bisq into Sparrow (think unhappy users that don't understand how the Bisq trading system works and blame Sparrow for it)
  3. Increases the hardware demand for running Sparrow (?)
  4. Draws attention from potential "wallet" features which can't be implemented bc of the shifted focus

What else? Would appreciate a good discussion if this is something worthwhile to consider. Maybe you could levereage your reach on Twitter @craigraw if you're not completely against such a direction for your project.

zonklift commented 2 years ago

I like the concept of course, as I am a power user of both software tools. A good start could be integrating the bisq wallet with sparrow's implementation of whirlpool. Instead of using the wallet integrated into the bisq platform, you could instead import the seed into sparrow and use the whirlpool features when signing deposits, etc. One can do this now, but with a separate wallet (the external wallet option for funding a trade). Perhaps we could do this today by simply copying the seed and derivation for the bisq wallet into sparrow and doing all the work in the sparrow wallet. It should reflect on the bisq application in parallel. I'll have to play with that. Coinjoining into and out of a trade sessions is best practice, and this could make it a smoother process.

verlib commented 2 years ago

Bisq is a temporary proxy between fiat and bitcoin until bitcoin is established as The New World Monetary Standard. With that in mind, in the future we won't need BISQ, but will need coinjoin.

RequestPrivacy commented 2 years ago

Since this isn't twitter I will not argue with you and let you in the believe that this just somehow materialized out of nowhere.

bobderbobs commented 2 years ago

i think it takes a long time until other currencys are extinct. i think with most cryptocurrencys one can use htlc's to trade with no need of an escrow. one could "hide" bisq behind some options where a warning appears tthat you should read about bisq first. or hide it like whirlpool behind "add acounts"