JoinMarket-Org / joinmarket-clientserver

Bitcoin CoinJoin implementation with incentive structure to convince people to take part
GNU General Public License v3.0
725 stars 177 forks source link

Cannot mix signet coins using sendpayment.py #1404

Closed BestQualityVacuum closed 1 year ago

BestQualityVacuum commented 1 year ago

I'm trying to mix 0.001 sBTC, but it fails. It says that there isn't enough liquidity in the order books. Can I somehow take a look in the orderbooks? Is there any maker for signet mixing at all?

(jmvenv) joinmarket@raspibolt:~/joinmarket/scripts $ python sendpayment.py signet_wallet2.jmdat 100000 tb1qe3f9mz6s6de2mcu6k6wrdk7drf3wvarkar8utj
User data location: /home/joinmarket/.joinmarket/
Joinmarket will choose market makers randomly as long as their
fees are below a certain maximum value, or fraction. The suggested maximums are:

X = 0.004
Y = 32783 satoshis

Those values were chosen randomly for you (unless you already set one of them
in your joinmarket.cfg or via a CLI option).

Since you are using N counterparties, if you agree to these values, your
**maximum** coinjoin fee will be either N*Y satoshis or N*X percent of your
coinjoin amount, depending on which is larger. The actual fee is likely to be
significantly less; perhaps half that amount, depending on which
counterparties are selected.

If you want to keep this relative limit, enter 'y';
otherwise choose your own fraction (between 1 and 0): υ
Bad answer, try again.

If you want to keep this relative limit, enter 'y';
otherwise choose your own fraction (between 1 and 0): y
Success! Using relative fee limit of 0.400000%

If you want to keep this absolute limit, enter 'y';
otherwise choose your own limit in satoshi: y
Success! Using absolute fee limit of 32783

If you don't want to see this message again, make an entry like
this in the POLICY section of joinmarket.cfg:

max_cj_fee_abs = 32783
max_cj_fee_rel = 0.004

2022-11-29 15:52:51,088 [INFO]  Using maximum coinjoin fee limits per maker of 0.4000%, 0.00032783 BTC (32783 sat) 
2022-11-29 15:52:51,088 [INFO]  starting sendpayment
Enter passphrase to decrypt wallet: 
2022-11-29 15:53:04,513 [WARNING]  Connection had broken pipe, attempting reconnect.
2022-11-29 15:53:28,762 [INFO]  Using this mempool min fee as tx feerate: 1000 sat/vkB (1.0 sat/vB).
2022-11-29 15:53:28,763 [INFO]  Estimated miner/tx fees for this coinjoin amount: 2.3%
2022-11-29 15:53:28,765 [INFO]  Joinmarket daemon listening on port 27183
2022-11-29 15:53:28,767 [INFO]  Starting transaction monitor in walletservice
2022-11-29 15:53:28,841 [INFO]  Trying to connect to node: y2ruswmdbsfl4hhwwiqz4m3sx6si5fr6l3pf62d4pms2b53wmagq3eqd.onion:5222
2022-11-29 15:53:28,843 [INFO]  Trying to connect to node: rr6f6qtleiiwic45bby4zwmiwjrj3jsbmcvutwpqxjziaydjydkk5iad.onion:5222
2022-11-29 15:53:28,845 [INFO]  Trying to connect to node: k74oyetjqgcamsyhlym2vgbjtvhcrbxr4iowd4nv4zk5sehw4v665jad.onion:5222
2022-11-29 15:53:48,847 [ERROR]  We failed to connect and handshake with ANY directories; onion messaging is not functioning.
2022-11-29 15:53:50,439 [INFO]  Updating status to connected for peer y2ruswmdbsfl4hhwwiqz4m3sx6si5fr6l3pf62d4pms2b53wmagq3eqd.onion:5222.
2022-11-29 15:53:50,439 [INFO]  We, NOT-SERVING-ONION, are calling the handshake callback as client.
2022-11-29 15:53:50,440 [INFO]  Sending this handshake: {"app-name": "joinmarket", "directory": false, "location-string": "NOT-SERVING-ONION", "proto-ver": 5, "features": {}, "nick": "J57D5afZvwdKKo3L", "network": "signet"} to peer y2ruswmdbsfl4hhwwiqz4m3sx6si5fr6l3pf62d4pms2b53wmagq3eqd.onion:5222
2022-11-29 15:53:54,932 [INFO]  joined: #joinmarket-pit-sig irc-eu-2.darkscience.net
2022-11-29 15:53:54,933 [INFO]  Could not connect to *ALL* servers yet, waiting up to 60 more seconds.
2022-11-29 15:53:56,982 [INFO]  Updating status to connected for peer rr6f6qtleiiwic45bby4zwmiwjrj3jsbmcvutwpqxjziaydjydkk5iad.onion:5222.
2022-11-29 15:53:56,984 [INFO]  We, NOT-SERVING-ONION, are calling the handshake callback as client.
2022-11-29 15:53:56,984 [INFO]  Sending this handshake: {"app-name": "joinmarket", "directory": false, "location-string": "NOT-SERVING-ONION", "proto-ver": 5, "features": {}, "nick": "J57D5afZvwdKKo3L", "network": "signet"} to peer rr6f6qtleiiwic45bby4zwmiwjrj3jsbmcvutwpqxjziaydjydkk5iad.onion:5222
2022-11-29 15:53:57,256 [INFO]  Updating status to connected for peer k74oyetjqgcamsyhlym2vgbjtvhcrbxr4iowd4nv4zk5sehw4v665jad.onion:5222.
2022-11-29 15:53:57,257 [INFO]  We, NOT-SERVING-ONION, are calling the handshake callback as client.
2022-11-29 15:53:57,257 [INFO]  Sending this handshake: {"app-name": "joinmarket", "directory": false, "location-string": "NOT-SERVING-ONION", "proto-ver": 5, "features": {}, "nick": "J57D5afZvwdKKo3L", "network": "signet"} to peer k74oyetjqgcamsyhlym2vgbjtvhcrbxr4iowd4nv4zk5sehw4v665jad.onion:5222
2022-11-29 15:54:54,950 [INFO]  JM daemon setup complete
2022-11-29 15:55:54,957 [INFO]  INFO:Received offers from joinmarket pit
2022-11-29 15:55:55,305 [WARNING]  ERROR not enough liquidity in the orderbook n=9 suitable-counterparties=8 amount=100000 totalorders=8
2022-11-29 15:55:55,307 [INFO]  Taker not continuing after receipt of orderbook
2022-11-29 15:55:55,307 [INFO]  Did not complete successfully, shutting down
2022-11-29 15:55:55,315 [INFO]  Lost IRC connection to: irc-eu-2.darkscience.net . Should reconnect automatically soon.
done

JoinMarket version: 0.9.8 Bitcoin Core version: 23.0

kristapsk commented 1 year ago

n=9 suitable-counterparties=8 amount=100000 totalorders=8

This is the problem. You want to coinjoin with 9 counterparties, but there are only 8 orders available. Not much people run signet yield generators all the time, try lowering number of counterparties using -N argument of sendpayment.py.

AdamISZ commented 1 year ago

Yes, additionally don't hesitate to run your own yg-s on signet, or alternatively for testing use regtest, in which you can control everything; see docs/TESTING.md in this repo for details on how you can set up that environment, easily.

kristapsk commented 1 year ago

Closing, as I don't see anything to do here from code perspective.