Bisq - The P2P Exchange Network

Sorry for the noob question but how do I apply this commit to my existing Whonix environment? Just by running the system updates? If so, do I need to updated form the development repository?

I applied the patch by updating my OS. Bisq is working now! My Whonix workstation is now complete.

1 Like

@Patrick I spoke too soon, it still doesn’t work yet. When trying to take a trade, I get: “You need to wait until you are fully connected to the network. That might take about 2 minutes at startup”. It’s been over an hour since startup but still no connection. The bottom right corner says “Initial data received. / P2P network peers: 8” The log looks clean but I don’t currently trace. Do you experience the same behavior?

No idea. Please consider getting in touch with Issues · bisq-network/bisq · GitHub too. Could be also general bisq and/or bisq general Tor issues.

I’m investigating the issue with them. Nothing helpful so far other than it’s a connection issue. At least one user experienced the identical behavior and fixed by deleting the tor folder contents: Can't fully connect to network? · Issue #2374 · bisq-network/bisq · GitHub. Is this worth trying? If so, how should I do it? I don’t know exactly what to delete between the Gateway and Workstation.

Can do.

No difference bisq inside vs outside of Whonix.

bisq running in Whonix-Workstation does not create/modify any files on Whonix-Gateway. (It only creates ephemeral Tor hidden services through Tor control protocol.) So no need to worry about selection of any files on Whonix-Gateway.

I reproduced the issue. I also manged to fully connect, fixing this issue but it is not in a secure state yet.

40_bisq.yml has a bug.

To debug this - which may not be save - information how your Tor circuit is constructions - will leak into Whonix-Workstation…

The issue is somewhere here:

  events:
    CIRC:
      suppress: true
    ORCONN:
      suppress: true
    INFO:
      suppress: true
    NOTICE:
      suppress: true
    WARN:
      suppress: true
    ERR:
      suppress: true
    HS_DESC:
      suppress: true
    HS_DESC_CONTENT:
      suppress: true

We can’t just suppress all of these events. For testing purposes, comment out all suppress: true. So it looks like this.

  events:
    CIRC:
      #suppress: true
    ORCONN:
      #suppress: true
    INFO:
      #suppress: true
    NOTICE:
      #suppress: true
    WARN:
      #suppress: true
    ERR:
      #suppress: true
    HS_DESC:
      #suppress: true
    HS_DESC_CONTENT:
      #suppress: true

The restart onion-grater on Whonix-Gateway.

sudo service onion-grater restart

So if you are able to use Bisq in this config. If yes, proceed with debugging below.

Comment in as many suppress: true as possible while Bisq is still fully connecting after Bisq restart, i.e. remove the # and sudo service onion-grater restart. As long as Bisq is saying “Synchronizing DAO” there is no need to proceed - that is the crux.

Once the essential non-supressable events are identified, I can try to write an onion-grater profile which allows using these and is secure at the same time.

Profile was updated.

onion-grater/40_bisq.yml at master · Whonix/onion-grater · GitHub

Should work now.

It works! Thank you so much! I disabled the DAO sync as I don’t need it for now.

The new bisq 15.0 doesn’t seem to work. Bisq can’t connect to bitcoin network.

I checked if you remove the line --daoActivated=false from the command to run the program - everything will work.

Please don’t duplicate everything on Bisq.

Hi!

I am trying to run without success the latest Bisq v1.6.4 on top of the latest Whonix version 15.0.1.7.2 for KVM with all the security patches applied. The application is extremely slow and laggy.

I followed the instructions of the wiki and in order to launch bisq I run the command: /opt/bisq/bin/Bisq --torControlPort=9051 --torControlPassword=notrequired --socks5ProxyBtcAddress=127.0.0.1:9050 --useTorForBtc=true --daoActivated=false

However, I see a lot of red lines such as:

May-16 14:56:22.437 [BlockingClient network thread for mbm6ffx6j5ygi2ck.onion/<unresolved>:8333] ERROR o.bitcoinj.net.BlockingClient: Error trying to open/read from connection: mbm6ffx6j5ygi2ck.onion/<unresolved>:8333: SOCKS: TTL expired
May-16 14:57:28.961 [InputHandler-devinsn2teu33efff62bnvwbxmfgbfjlgqsu3ad4b4fudx3a725eqnyd.onion:8000] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
May-16 14:57:30.845 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter. 
May-16 14:57:30.847 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter. 
May-16 14:57:30.851 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network and the creation date is newer than the filter we have already. We ignore the old filter.
May-16 14:57:34.674 [JavaFX Application Thread] WARN  b.n.p2p.peers.PeerManager: 
------------------------------------------------------------
All connections lost
------------------------------------------------------------ 

These error messages doesn’t appear if Bisq is launched out of Whonix.

Could you try please inside a Debian stable (currently: buster) VM?

I was able to create KVM Debian Buster virtual machine for Bisq. I use 4 vCPU and 6 GB RAM for the virtual machine because bisq appears to require 4GB of RAM.

I run /opt/bisq/bin/Bisq at 17:44:23 and I can see some errors (cat bisq.log | grep WAR):

may.-17 17:45:03.989 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
may.-17 17:45:03.991 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
may.-17 17:45:03.994 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network and the creation date is newer than the filter we have already. We ignore the old filter.
may.-17 17:45:04.024 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
may.-17 17:45:04.027 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
may.-17 17:45:04.030 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
may.-17 17:45:57.672 [InputHandler-4n3v6zevhjwt2uc7.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.673 [InputHandler-5quyxpxheyvzmb2d.onion:8000] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 19:45:57.673 [InputHandler-i542izpgojme3nct.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.673 [InputHandler-trvotsxb7uuierm7.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.673 [InputHandler-vda3zv75kteqt6kli35sgl3ve6lqn72pstonc2blowelniu6wnfmt3id.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.673 [InputHandler-sn5emzyvxuildv34n6jewfp2zeota4aq63fsl5yyilnvksezr3htveqd.onion:8000] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.674 [InputHandler-zhhrlltfzhpw44fg.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.674 [InputHandler-3j76bc62o6lfrcfrhf6yqncpc6vfmrlb6hqucjn4v7q6lam6ha6kkqqd.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.675 [InputHandler-ib3rxxwjiqg5zlzgr6uv6mxan45kujommyrgekv7ra3z74bftsk4ggid.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.675 [InputHandler-xgvtzcpnos7lr2kj.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:45:57.677 [InputHandler-sn2bisqad7ncazupgbd3dcedqh5ptirgwofw63djwpdtftwhddo75oid.onion:8000] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
may.-17 17:46:05.181 [JavaFX Application Thread] WARN  b.c.p.PersistenceManager: We have started the shut down routine already. We ignore that requestPersistence call.

However the applications launches quite quickly, I can use smoothly (click on sell, on buy, on market) and I close bisq at 17:46:08.

I do something similar with bisq inside the whonix workstation. Workstation and gateway is configured according to the wiki page (if i did no mistake). Whonix workstation is configured also with 4 vCPU and 6 GB of RAM.

I run /opt/bisq/bin/Bisq --torControlPort=9051 --torControlPassword=notrequired --socks5ProxyBtcAddress=127.0.0.1:9050 --useTorForBtc=true --daoActivated=false at 17:49:39 and I can see some errors (cat bisq-whonix.log | grep WAR):

May-17 17:50:10.145 [JavaFX Application Thread] WARN  b.c.p.price.PriceFeedService: We received an error: baseUrlOfCurrentRequest=http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/, baseUrlOfFaultyRequest=http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/, error=bisq.core.provider.price.PriceRequestException: java.io.IOException: Error at doRequestWithProxy with url http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/ and param getAllMarketPrices. Throwable=SOCKS server general failure
May-17 17:50:11.152 [JavaFX Application Thread] WARN  b.c.p.price.PriceFeedService: We received an error at the request from provider http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/. We select the new provider http://ro7nv73awqs3ga2qtqeqawrjpbxwarsazznszvr6whv7tes5ehffopid.onion/ and use that for a new request. retryDelay was 6 sec.
May-17 17:52:41.951 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
May-17 17:52:41.954 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
May-17 17:52:41.956 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network and the creation date is newer than the filter we have already. We ignore the old filter.
May-17 17:52:41.974 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
May-17 17:52:41.977 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
May-17 17:52:41.980 [JavaFX Application Thread] WARN  bisq.core.filter.FilterManager: We received a new filter from the network but the creation date is older than the filter we have already. We ignore the new filter.
May-17 17:52:42.171 [FeeRequest @ http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/] WARN  b.core.provider.fee.FeeService: Could not load fees. feeProvider=HttpClientProvider{
     httpClient=HttpClientImpl{
     socks5ProxyProvider=bisq.network.Socks5ProxyProvider@126e83f6,
     baseUrl='http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/',
     ignoreSocks5Proxy=false,
     uid='2983a3a5-7331-4c1f-ac11-1bb09d4ebf84',
     connection=null,
     httpclient=null
}
}, error=java.io.IOException: Error at doRequestWithProxy with url http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/ and param getFees. Throwable=SOCKS server general failure
May-17 17:53:11.038 [InputHandler-wizseedscybbttk4bmb2lzvbuk2jtect37lcpva4l3twktmkzemwbead.onion:8000] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
May-17 17:55:12.836 [JavaFX Application Thread] WARN  b.d.m.o.offerbook.OfferBook: We had an old offer in the list with the same Offer ID. We remove the old one. old offerBookListItem=bisq.desktop.main.offer.offerbook.OfferBookListItem@243df019, new offerBookListItem=bisq.desktop.main.offer.offerbook.OfferBookListItem@4d07a6ce
May-17 17:55:50.838 [InputHandler-ry4avvd3fr5onhefwuqljgzkyhjftbznsuhuvyqlr7e5aky2rqzewkyd.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
May-17 17:55:51.121 [InputHandler-727uhbwit6pxb6bdeqbwwq3hy27dehqbsz5byn7dzoaums6e7tffvrqd.onion:9999] WARN  b.n.p2p.network.Connection: proto is null because protoInputStream.read()=-1 (EOF). That is expected if client got stopped without proper shutdown.
May-17 17:57:52.102 [FeeRequest @ http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/] WARN  b.core.provider.fee.FeeService: Could not load fees. feeProvider=HttpClientProvider{
     httpClient=HttpClientImpl{
     socks5ProxyProvider=bisq.network.Socks5ProxyProvider@126e83f6,
     baseUrl='http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/',
     ignoreSocks5Proxy=false,
     uid='2983a3a5-7331-4c1f-ac11-1bb09d4ebf84',
     connection=null,
     httpclient=null
}
}, error=java.io.IOException: Error at doRequestWithProxy with url http://aprcndeiwdrkbf4fq7iozxbd27dl72oeo76n7zmjwdi4z34agdrnheyd.onion/ and param getFees. Throwable=SOCKS server general failure

As you can the initial error logs take much more time to appear, so the application launches very slow, it take several minutes to start. When it is started, I click on menu buttons (market, buy, sell…) and I get no response for second or minutes and suddenly it begins to work when I click, but suddenly it freezes again for seconds or minutes.

I can confirm a worse behaviour inside the whonix workstation. I don’t know if it is a issue of the bisq application or if it is a issue of the whonix configuration.

I reinstalled gateway and workstation and I followed again the wiki page for bisq to be sure that I did not make any mistake during the installation. I can confirm the issues I reported for version 1.6.4.

Please check the wiki text:

Verify the fingerprint. It should show.
Key fingerprint = 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6
The most important check is confirming the key fingerprint exactly matches the output below

It looks like fingerprint is not right in wiki. I’ve checked from different locations.

Fixed. See also:

Improve the Documentation / Edit the Whonix ™ Wiki

Hello,

i follow this guide installations:

Blockquote www. whonix. org/wiki/Bisq#cite_note-11

and after use that command to start it :

Blockquote /opt/bisq/bin/Bisq --torControlPort=9051 --torControlPassword=notrequired --socks5ProxyBtcAddress=127.0.0.1:9050 --useTorForBtc=true --daoActivated=false

have that error:

Blockquote Apr-17 19:26:57.336 [JavaFX Application Thread] WARN b.n.p.s.p.ProtectedStorageEntry: ProtectedStorageEntry::isSignatureValid() failed. ProtectedStorageEntry { Payload: Filter{ bannedOfferIds=,

Blockquote pr-17 19:42:35.995 [JavaFX Application Thread] WARN b.n.p.s.p.ProtectedStorageEntry: ProtectedStorageEntry::isSignatureValid() failed.
ProtectedStorageEntry {
Payload: Filter{
bannedOfferIds=,