clay-v / joinMarketDocs

https://clay-v.github.io/joinMarketDocs/
4 stars 1 forks source link

Fastest way to coinjoin on Mac #2

Open clay-v opened 3 years ago

clay-v commented 3 years ago

Payout: 750k sats (0.0075 btc)

Guide file

We'd like a guide on the fastest way to make a first coinjoin on a desktop. We'd like to have the user to be able to go from zero to be able to make a payment in Joinmarket in the fastest way possible.

  1. Install Virtual Box 01 Ubuntu Node Box - Ubuntu Virtual Machine & Familiarisation

    • [ ] Optimize for minimum requirements necessary in terms of storage, ram and cpu
  2. Install Joininbox - it was brought to my attention by @openoms that Joininbox can do a lot of the hevy lifting and can work on Debian / Ubuntu Linux VM as well.

keblek commented 3 years ago

Hi I would like to take this, does it assume any prior knowledge from the user?

clay-v commented 3 years ago

Hello, @keblek. I think it's fair to assume that the user has btc and wants to spend them privately. So they may have coins on an exchange or other wallet and want to setup a private way to spend it. They have at least superficial knowledge of using btc. I've also updated the description to have Joininbox do most of the heavy lifting.

keblek commented 3 years ago

Ok great, what do you think about this as the fastest way to get Core and Tor running on a Mac? https://github.com/BlockchainCommons/GordianServer-macOS

keblek commented 3 years ago

you can also purchase it from the mac app store, which I know is not very cypherpunk but is a very easy way to get all that running on your mac

keblek commented 3 years ago

also can you change the denomination of the contract to btc?

clay-v commented 3 years ago

I've updated the description to have Joininbox do most of the heavy lifting (Tor, Bitcoin Core and Joinmarket). So please have that in mind.

I'm not familiar with the above project but I do think a watch-only wallet from where the user can generate invoices and monitor their funds may be necessary. For that I was thinking of Wasabi wallet because it comes packaged with Tor.

also can you change the denomination of the contract to btc?

Please clarify this.

keblek commented 3 years ago

oh ok so the user has to already have joinmarket, core and everything already running?

I thought the description implied starting from cold with no software running.

Running joininbox would need to be virtualized somehow which brings its own fun game with it. If possible I would say this would be made the best using a package manager, in this case brew, and running as much as possible on macOS.

The wasabi wallet is actually a really good idea as well.

With regards to the denomination, if number goes up I get less bitcoin. If the contract instead is in btc, then no matter what I always get the same amount of sats.

clay-v commented 3 years ago

oh ok so the user has to already have joinmarket, core and everything already running?

No. The user would need to:

  1. install a VirtualBox
  2. install Joininbox in the virtual machine (it bundles togetther Tor, Bitcoin Core and Joinmarket)

With regards to the denomination, if number goes up I get less bitcoin. If the contract instead is in btc, then no matter what I always get the same amount of sats.

Ok, I thought you were referring to denominations on the sofware. I'll commit to an exchange rate of 40k BTC/USD. So 750k sats (0.0075 btc)

keblek commented 3 years ago

nice!

keblek commented 3 years ago

yea so virtualbox is incredibly buggy on macs, would the guide be acceptable if we could use parallels (not FOSS)?

openoms commented 3 years ago

@keblek I would stay away from recommending any non-open source software for this purpose. VMware should work better maybe together with Vagrant.

keblek commented 3 years ago

I would stay away from recommending any non-open source software for this purpose

That's why I asked, I don't want to use it but every year year somebody is going to have to update the guide for how to work around these issues since they always come up after every update.

The scope of the guide is maybe too broad, maybe we can look into just showing how to get the taker to run which should be much simpler. I don't see the benefit in adding how to run maker since if you want to do that you should run it on a linux server.

That's just my opinion.

openoms commented 3 years ago

@keblek to get to running the Yield Generator from the command line have a look at https://www.keepitsimplebitcoin.com/joinmarket/

clay-v commented 3 years ago

I don't see the benefit in adding how to run maker since if you want to do that you should run it on a linux server.

Indeed, this guide is aimed only at makers.

keblek commented 3 years ago

oh that's good to know.

I am under the impression that JM lacks takers though, since fees are so low. Am I correct?

clay-v commented 3 years ago

I think that's a fair statement, but that isn't a negative.

keblek commented 3 years ago

alright so at this point I am pretty much done trying to get virtual box running - it doesn't work on the latest version of macos.

It crashes when I try to add a new ISO.

TBH vb has never been a stable or quality piece of software on macOS and I doubt anyone on mac would be willing to put up with all this trouble.

I tried using vagrant which does work but I can't get a GUI.

installing vagrant and virtualbox is something I could write up for a tutorial

Would this suffice to claim the bounty? terminal only (in a way that works quite reliably) with no GUI

clay-v commented 3 years ago

That's not great but get a working workflow and maybe later we other MacOS users can opine on how to fine tune it.