moocowmoo / dashman

DASH wallet/daemon management utilities
MIT License
52 stars 38 forks source link

ARM support #2

Closed ashmoran closed 8 years ago

ashmoran commented 8 years ago

I just came across this script it's great on Ubuntu Server 14.04/x64, so I thought I'd test on a Raspberry Pi with the same OS, but it fails with this:

install not supported yet on this platform

… which I assume is because of the architecture. What would be needed for it to work on ARM boards? Is it simply lack of prebuilt binaries?

moocowmoo commented 8 years ago

Thanks ashmoran!

At the time there was no official rpi build available to download. Now that there is, I'll patch it in and test it. If it works, I'll close this issue.

Thanks for the reminder! :)

ashmoran commented 8 years ago

Ah that's great! I won't bother with installing dashd manually then, I'll see if you get this working first and try your script again.

Thanks for the quick reply too!

moocowmoo commented 8 years ago

You're welcome.

I've pushed https://github.com/moocowmoo/dashman/commit/affab92f62663c85e5bbd3fd9a27095bffdcb77b do dashman sync to pull it in. Then: dashman install should work.

I've built the patch to require an rpi2 because it's specified in the download link. (Also, the extra horsepower is needed to do all the budget (metadata) sync. Even then it takes almost an hour!) Let me know if you're on a different platform and I'll patch for it (but you'll have to test it for me!) :)

ashmoran commented 8 years ago

Thanks, this works great! :D

I had no trouble installing dashd on my RPi2 with this. Just need to let the blockchain sync now to test I can query it etc. All looks good though.

moocowmoo commented 8 years ago

Glad to hear it!

You should bootstrap (download the chain manually). pi takes /forever/ to pull down all the blocks.

Here's some code from https://github.com/moocowmoo/dashvend/blob/master/bin/_install_dashd.sh that you can run to snag the latest copy from UdjinM6 (a core dash dev) repo

You should be able to just paste each line in succession.

cd ~/.dash
./dash-cli stop
wget https://raw.githubusercontent.com/UdjinM6/dash-bootstrap/master/links.md -O links.md
MAINNET_BOOTSTRAP_FILE=$(head -1 links.md | awk '{print $11}' | sed 's/.*\(http.*\.zip\).*/\1/')
wget $MAINNET_BOOTSTRAP_FILE
unzip ${MAINNET_BOOTSTRAP_FILE##*/}
rm links.md bootstrap.dat*.zip
./dashd

Also, another pi tip: if you mount a usb drive and symlink .dash to it it'll run about 3x faster than a class 10 sd card.

ashmoran commented 8 years ago

Thanks! I've started it with that bootstrap file. I didn't see anything about bootstrapping on the wiki, may not have been paying attention though.

I actually have a CuBox-i 4x4 and sat under my TV, which I bought to run a Bitcoin node at home to poke around with. I eventually decided against that due to the volume of traffic it can cause, but it sounds like the extra CPU power might be useful for a Dash node. I haven't tried configuring it yet though as it's a far less common piece of kit than an RPi 2, reading the forums I'm not sure it'll be as straightforward to get Ubuntu Server running reliably, but I think I'll give it a go next… looks like it might be a good match.

moocowmoo commented 8 years ago

pushed default bootstrapping https://github.com/moocowmoo/dashman/commit/1ceead7b180dff2239915ca0ec5d2a5a63028e1c :)

I built it for dashvend because the rpi2 took too long to sync, no reason not to include it in dashman I think.

The rpi2 runs dashd fine (about 30% cpu on average) once started up. It's just the startup sync time that's painful (when you're waiting for it, like on dashvend) -- A 2 amp power supply and overclocking helps, but there's a lot of crypto to process all the budget and masternode metadata.

As far as volume goes, a dash masternode uses in between 65 and 250 Gigs per month. I don't have numbers for regular (wallet) nodes.

That cubox looks interesting. I wonder if it would be any faster though. My rpi2 is overclocked to 1100. (And it still takes forever to sync. I think dashd just needs more horsepower.)