1 BTC (edit: now ~3.25 BTC) bounty for Bitsquare on raspberry pi

Many have put in great effort here and it would be nice if everyone who contributed to the final solution could be rewarded, however I will not alter the rules. And the terms states that the first person to post a fully working script will get the bounty. So yes, it’s winner takes all.

This means there’s a chance that someone who has put in a lot of work post the script, with a few typos that causes it to fail, then someone comes along to fix those and claim the bounty. Even though that wouldn’t be very fair, it would be according to the rules. Therefore I recommend that you test the code and make sure it’s working 100% before you post it. You can PM me the code if you want me to test it first.

If someone wants to work together and split the bounty, then they can decide so between themselves and let me know, and I’d be happy to split it. I am only answering for my bounty. I cannot vouch for the other contributors to the bounty and what they will do, so you’ll have to read their replies to judge. But from what I understand, they will reward the same person as I do.

Thank you all who has contributed so far.

edit: I see you’re asking about the partial bounty, the answer to that is if the script does not provide update, reward will be 0.75 BTC. Then someone else can provide update and get 0.25 BTC. But you cannot only provide the update, first the install must be provided.

I will do exactly like TheKoziTwo does. I will trust his testing since I don’t have a Raspberry Pi.

I leave responsibility to TheKoziTwo as well. Though I would find it cool if the winner will share fairly with other contributor if he has built on work of others. Its great to see such a good cooperation and fast progress. I beliefe cooperation leads to better results than competition and fits better with openness and transparency, though I am aware of the complexities to handle all that on the monetary level.

There is pobably a small issue in the tor java library. The system is not recognized and an extra check for RPi is needed. If the bounty hunter has problems to fix that ping me, so I can jump in.

I can’t test my script in a true Raspberry Pi but it’s works in my system (Ubuntu 16.04)so , it’s possible to test my script in your Raspberry?

Github

I added the checks for arm to Bitsquare and the Tor lib. It also logs out the uname, so if it still fails we know at least a bit more.
Its committed to master:

1 Like

I’ve just rerun my bitsquare.sh and it has picked up Manfred’s changes.

Can someone with a non-headless pi test it? I get an error:

Jun-12 16:42:49.215 [eatInputStream] ERROR c.m.t.t.OnionProxyManager: /home/pi/.local/share/Bitsquare/mainnet/tor/tor: 1: /home/pi/.local/share/Bitsquare/mainnet/tor/tor: Syntax error: word unexpected (expecting “)”)

which suggests that the tor java is still not right.

And re the post from TheKoziTwo - if I happen to get it right first I will be sharing with the others who contributed - teams have better synergy, that’s why open source works.

1 Like

Confirmed it’s still not working with the changes Manfred made, but it is better. It looks like Bitsquare is pulling in a 386 tor binary and libraries into:

~/.local/share/Bitsquare/mainnet/tor/

$ file tor
tor: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=ef4777952b1331f92737263ec9251a0854dfa2a4, stripped

Can someone else confirm? This might be due to a change I made. Going to try a fresh install.

Yes I get it too

$file tor
tor: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=ef4777952b1331f92737263ec9251a0854dfa2a4, stripped

Ah i don’t have the same output!

file tor
tor: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=cb66a6d877548792c249edb6b75ce4f1718e8d3b, stripped

I re-ran @pteron’s script, bitsquare launched, but same result basically. Screen freezes and mouse disappears. Then the message about being unable to connect to Tor. At that point completely stuck and requires a restart.

Just before bitsquare opens terminal outputs:
INFO: uname -m call results in:armv7l

I’m getting same error also:

Jun-12 17:01:40.565 [eatInputStream] ERROR c.m.t.t.OnionProxyManager: /home/pi/.local/share/Bitsquare/mainnet/tor/tor: 1: /home/pi/.local/share/Bitsquare/mainnet/tor/tor: Syntax error: word unexpected (expecting “)”)

bitsquare.log

$ file tor
tor: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=ef4777952b1331f92737263ec9251a0854dfa2a4, stripped

we need to get the TOR java to include the arm executable…

Manfred can you do that?

Yes the arm tor binary is missing. I did nto find a download link for an arm version. If anyone send a link to the binary I will add it.

Here? https://www.torproject.org/download/download.html.en

There are no arm binaries.

Maybe, I have an answer to this problem: http://tor.stackexchange.com/questions/242/how-to-run-tor-on-raspbian-on-the-raspberry-pi

I fear that takes to much of my time.
Any bounty hunter can fork master and add the binary he wants to test to a bitsquare/jtorproxy/src/main/resources/native/linux/arm directory. The code in OsData needs to be adotped as well:

Currently"
if (unameOutput.contains(“arm”))
return unameOutput.contains(“64”) || unameOutput.contains(“v8”) ? OsType.Linux64 : OsType.Linux32;

public enum OsType {Windows, Linux32, Linux64, Mac, Android}

So you need to add a enum for ARM. There might be a bit more of code to adopt, just check usage of the enum to see where it is used and if it needs adoption.

The tor version must fit as well so it works with the tor java libs.

Here is my submission, it includes a patch that utilizes the tor-binary that the o/s already supplies:

I think this patch should make it into Bitsquare, it should check /usr/bin before downloading a zip-file with binaries. Sometimes it seems to hang when starting (while ‘connecting to mainnet’), but let it run for ~ 5 minutes. The main interface will come up.

my btc address: 18zX2TVwqqs3awmrJV9kFSLG1r24Cr7PFV

My client has been running for a while now and seems to be working for the most part. I’m not sure the Pi is really the best platform for bitsquare though… it seems a little underpowered.

Same here. It starts up and I’m not getting any Tor errors. It’s super slow so I’ll have to leave it overnight to see if it will finish syncing and become usable. But, it’s looking very good, seems like you might have nailed it @sjon

I increased GPU memory to 768 MB, not sure what’s the ideal amount to use, but could maybe be tweaked to improve performance. Right now I have a popup saying “Warning: You lost the connection to all P2P network peers” and the mouse pointer / screen seems to be frozen. I’m just going to leave it like that to see where it’s at tomorrow. The sync reached 41% before screen froze.