kristapsk/bitcoin-scripts

Using Wasabi RPC

Opened this issue ยท 5 comments

As I understand your scripts now, they rely on a Bitcoin Core hot wallet to build, sign and broadcast the transactions. My question is if you could make changes to the scripts so that they also work with Wasabi Wallet, which comes with bitcoind packaged, but uses Wasabi to build and sign the transactions. Wasabi has a recently merged RPC server that might be useful for such scripts, see the documentation here. It would be GREAT to have some of your post-mix tools available for Wasabikas!!

Maybe could be done in the future, but not right now. Current problems I see:

  • fake coinjoin tries to emulate JoinMarket, so it requires that all inputs are being sent before to either P2PKH or P2SH addresses; this may change in future when JoinMarket migrates to native segwit or there are some other similar CoinJoin implementation using native segwit;
  • ricochet scripts now prepare and sign all transactions in advance and then broadcasts them later (that way you don't need to keep wallet unlocked for a long periods of time); It looks Wasabi RPC currently only allows send, not creating and signing transaction without broadcasting it.

You are right, fake coinjoins make sense only for joinmarket, and not for zerolink, as there are simply too many inputs/outputs. However, it might still be nice to have something similar, though probably it's an edge case.

Regarding the missing functionality to independently sign || broadcast a transaction, I've opened a feature request, as this is indeed a missed opportunity.

Just an update on previously mentioned problems which are not problems anymore. JoinMarket has switched to native segwit by default and Wasabi RPC seems to have possibility to build transactions without broadcasting (WalletWasabi/WalletWasabi#3052).

Currently still not on my TODO list. Probably right way would be to do some kind of abstraction layer for blockchain RPCs, so that Electrum could be supported too.

Also, as I understand, there could be breaking API changes in Wasabi 2.0. https://twitter.com/HillebrandMax/status/1463982008842006528

For Electrum support, this might be interesting - https://github.com/cryptoadvance/spectrum.