rupy (OP)
|
|
April 30, 2013, 02:11:11 PM Last edit: May 22, 2013, 10:38:23 AM by rupy |
|
Has anyone compiled bitcoind on the RPi already? Does it work well?
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
|
|
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
grue
Legendary
Offline
Activity: 2058
Merit: 1431
|
|
April 30, 2013, 03:39:21 PM |
|
|
|
|
|
rupy (OP)
|
|
May 02, 2013, 12:00:32 PM Last edit: May 02, 2013, 10:06:56 PM by rupy |
|
Howto compile bitcoind on raspberry pi: > sudo apt-get install libboost1.50-dev libboost-filesystem1.50-dev libboost-system1.50-dev libboost-program-options1.50-dev libboost-thread1.50-dev libcurl4-openssl-dev libdb5.3++-dev libminiupnpc-dev > wget https://github.com/bitcoin/bitcoin/archive/master.zip> unzip master.zip > cd bitcoin-master/src > make -f makefile.unix bitcoind Compilation takes about 1 hour, downloading the blockchain about 20 hours and the bitcoind executable is 43MB! Other than that it runs really well compared to AWS micro instance, and since RPi colocation is free and AWS micro would be atleast 20$/month with horrible CPU IO wait; this is a nobrainer! Goodbye AWS!
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
rupy (OP)
|
|
May 03, 2013, 06:10:44 AM Last edit: May 23, 2013, 12:06:34 AM by rupy |
|
Ok, so bitcoin is terminated after 5 hours by the raspberry OS because of memory: May 2 22:19:17 raspberrypi kernel: [46311.694148] net_ratelimit: 422920 callbacks suppressed May 2 22:19:19 raspberrypi kernel: [46312.180357] kworker/0:0 invoked oom-killer: gfp_mask=0x102d0, order=3, oom_adj=0, oom_score_adj=0 May 2 22:19:19 raspberrypi kernel: [46312.180439] [<c0013a7c>] (unwind_backtrace+0x0/0xf0) from [<c0395134>] (dump_header.isra.15+0x74/0x1a0) May 2 22:19:19 raspberrypi kernel: [46312.180490] [<c0395134>] (dump_header.isra.15+0x74/0x1a0) from [<c0091364>] (oom_kill_process+0x294/0x418) May 2 22:19:19 raspberrypi kernel: [46312.180520] [<c0091364>] (oom_kill_process+0x294/0x418) from [<c00918cc>] (out_of_memory+0x1cc/0x29c) May 2 22:19:19 raspberrypi kernel: [46312.180547] [<c00918cc>] (out_of_memory+0x1cc/0x29c) from [<c0094c98>] (__alloc_pages_nodemask+0x608/0x63c) May 2 22:19:19 raspberrypi kernel: [46312.180581] [<c0094c98>] (__alloc_pages_nodemask+0x608/0x63c) from [<c00bc7f8>] (cache_alloc_refill+0x338/0x6a0) May 2 22:19:19 raspberrypi kernel: [46312.180605] [<c00bc7f8>] (cache_alloc_refill+0x338/0x6a0) from [<c00bcc24>] (__kmalloc+0xc4/0x11c) May 2 22:19:19 raspberrypi kernel: [46312.180636] [<c00bcc24>] (__kmalloc+0xc4/0x11c) from [<c02e6db8>] (__kmalloc_reserve+0x1c/0x64) May 2 22:19:19 raspberrypi kernel: [46312.180661] [<c02e6db8>] (__kmalloc_reserve+0x1c/0x64) from [<c02e7740>] (__alloc_skb+0x74/0x158) May 2 22:19:19 raspberrypi kernel: [46312.180683] [<c02e7740>] (__alloc_skb+0x74/0x158) from [<c02e89b0>] (__netdev_alloc_skb+0x98/0xd0) May 2 22:19:20 raspberrypi kernel: [46312.180712] [<c02e89b0>] (__netdev_alloc_skb+0x98/0xd0) from [<c026aacc>] (rx_submit+0x1c/0x1f8) May 2 22:19:20 raspberrypi kernel: [46312.180736] [<c026aacc>] (rx_submit+0x1c/0x1f8) from [<c026b184>] (kevent+0x210/0x27c) May 2 22:19:20 raspberrypi kernel: [46312.180761] [<c026b184>] (kevent+0x210/0x27c) from [<c0035024>] (process_one_work+0x150/0x40c) May 2 22:19:20 raspberrypi kernel: [46312.180784] [<c0035024>] (process_one_work+0x150/0x40c) from [<c0035604>] (worker_thread+0x150/0x498) May 2 22:19:20 raspberrypi kernel: [46312.180815] [<c0035604>] (worker_thread+0x150/0x498) from [<c003a7c8>] (kthread+0x88/0x94) May 2 22:19:20 raspberrypi kernel: [46312.180850] [<c003a7c8>] (kthread+0x88/0x94) from [<c000e9fc>] (kernel_thread_exit+0x0/0x8) May 2 22:19:20 raspberrypi kernel: [46312.180861] Mem-info: May 2 22:19:20 raspberrypi kernel: [46312.180869] Normal per-cpu: May 2 22:19:20 raspberrypi kernel: [46312.180879] CPU 0: hi: 186, btch: 31 usd: 0 May 2 22:19:20 raspberrypi kernel: [46312.180903] active_anon:41475 inactive_anon:41483 isolated_anon:0 May 2 22:19:20 raspberrypi kernel: [46312.180903] active_file:112 inactive_file:181 isolated_file:0 May 2 22:19:20 raspberrypi kernel: [46312.180903] unevictable:12 dirty:0 writeback:7317 unstable:0 May 2 22:19:20 raspberrypi kernel: [46312.180903] free:30314 slab_reclaimable:457 slab_unreclaimable:4189 May 2 22:19:20 raspberrypi kernel: [46312.180903] mapped:100 shmem:0 pagetables:415 bounce:0 May 2 22:19:20 raspberrypi kernel: [46312.180954] Normal free:121256kB min:8192kB low:10240kB high:12288kB active_anon:165900kB inactive_anon:165932kB active_file:448kB inactive_file:724kB unevictable:48kB isolated(anon):0kB isolated(file):0kB present:487680kB mlocked:48kB dirty:0kB writeback:29268kB mapped:400kB shmem:0kB slab_reclaimable:1828kB slab_unreclaimable:16756kB kernel_stack:1288kB pagetables:1660kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:8387 all_unreclaimable? yes May 2 22:19:20 raspberrypi kernel: [46312.180968] lowmem_reserve[]: 0 0 May 2 22:19:20 raspberrypi kernel: [46312.180985] Normal: 11514*4kB 6410*8kB 1461*16kB 1*32kB 0*64kB 0*128kB 0*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 121256kB May 2 22:19:20 raspberrypi kernel: [46312.181029] 7639 total pagecache pages May 2 22:19:20 raspberrypi kernel: [46312.181037] 7346 pages in swap cache May 2 22:19:20 raspberrypi kernel: [46312.181046] Swap cache stats: add 43265, delete 35919, find 2742/2832 May 2 22:19:20 raspberrypi kernel: [46312.181052] Free swap = 0kB May 2 22:19:20 raspberrypi kernel: [46312.181059] Total swap = 102396kB May 2 22:19:20 raspberrypi kernel: [46312.208849] 122880 pages of RAM May 2 22:19:20 raspberrypi kernel: [46312.208874] 30560 free pages May 2 22:19:20 raspberrypi kernel: [46312.208882] 2558 reserved pages May 2 22:19:20 raspberrypi kernel: [46312.208888] 4654 slab pages May 2 22:19:20 raspberrypi kernel: [46312.208894] 221 pages shared May 2 22:19:20 raspberrypi kernel: [46312.208900] 7346 pages swap cached May 2 22:19:20 raspberrypi kernel: [46312.208909] [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name May 2 22:19:20 raspberrypi kernel: [46312.208963] [ 142] 0 142 720 2 5 133 -1000 udevd May 2 22:19:20 raspberrypi kernel: [46312.208983] [ 248] 0 248 719 2 5 137 -1000 udevd May 2 22:19:20 raspberrypi kernel: [46312.209003] [ 270] 0 270 719 2 5 135 -1000 udevd May 2 22:19:20 raspberrypi kernel: [46312.209020] [ 1411] 0 1411 436 12 4 16 -1000 ifplugd May 2 22:19:20 raspberrypi kernel: [46312.209037] [ 1440] 0 1440 436 12 5 16 -1000 ifplugd May 2 22:19:20 raspberrypi kernel: [46312.209055] [ 1684] 0 1684 6992 64 7 49 0 rsyslogd May 2 22:19:20 raspberrypi kernel: [46312.209071] [ 1716] 0 1716 1223 39 7 391 -1000 dhclient May 2 22:19:20 raspberrypi kernel: [46312.209088] [ 1764] 0 1764 948 11 5 31 0 cron May 2 22:19:20 raspberrypi kernel: [46312.209105] [ 1806] 104 1806 794 39 5 34 0 dbus-daemon May 2 22:19:20 raspberrypi kernel: [46312.209123] [ 1843] 102 1843 1377 29 6 70 0 ntpd May 2 22:19:20 raspberrypi kernel: [46312.209140] [ 1872] 0 1872 1552 20 6 88 -1000 sshd May 2 22:19:20 raspberrypi kernel: [46312.209157] [ 1900] 65534 1900 503 6 6 26 0 thd May 2 22:19:20 raspberrypi kernel: [46312.209173] [ 1911] 0 1911 935 1 6 32 0 getty May 2 22:19:20 raspberrypi kernel: [46312.209190] [ 1912] 0 1912 935 1 6 32 0 getty May 2 22:19:20 raspberrypi kernel: [46312.209207] [ 1913] 0 1913 935 1 5 32 0 getty May 2 22:19:20 raspberrypi kernel: [46312.209223] [ 1914] 0 1914 935 1 5 32 0 getty May 2 22:19:20 raspberrypi kernel: [46312.209240] [ 1915] 0 1915 935 1 6 32 0 getty May 2 22:19:20 raspberrypi kernel: [46312.209257] [ 1916] 0 1916 935 1 5 32 0 getty May 2 22:19:20 raspberrypi kernel: [46312.209286] [ 1917] 0 1917 515 1 4 31 0 getty May 2 22:19:20 raspberrypi kernel: [46312.209306] [ 1923] 0 1923 6886 80 11 199 0 console-kit-dae May 2 22:19:20 raspberrypi kernel: [46312.209323] [ 1990] 0 1990 5836 82 9 44 0 polkitd May 2 22:19:20 raspberrypi kernel: [46312.209342] [ 7086] 0 7086 438 1 6 25 0 mysqld_safe May 2 22:19:20 raspberrypi kernel: [46312.209359] [ 7437] 107 7437 81073 245 42 6951 0 mysqld May 2 22:19:20 raspberrypi kernel: [46312.209377] [ 7438] 0 7438 836 1 5 20 0 logger May 2 22:19:20 raspberrypi kernel: [46312.209394] [ 7810] 0 7810 2451 43 8 118 0 sshd May 2 22:19:20 raspberrypi kernel: [46312.209410] [ 7817] 1000 7817 2451 75 8 106 0 sshd May 2 22:19:20 raspberrypi kernel: [46312.209427] [ 7818] 1000 7818 1421 190 6 139 0 bash May 2 22:19:20 raspberrypi kernel: [46312.209456] [13583] 0 13583 420 18 4 3 0 minissdpd May 2 22:19:20 raspberrypi kernel: [46312.209476] [14084] 1000 14084 124336 74874 209 16776 0 bitcoind
Is there something one can do to work around this?
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4158
Merit: 8382
|
|
May 03, 2013, 08:11:42 AM |
|
Add more swap, run bitcoind from git.
|
|
|
|
|
behindtext
|
|
May 04, 2013, 12:35:52 AM |
|
Add more swap, run bitcoind from git.
good point in the other thread about faster arm SoCs. A semi-ontopic aside: If you were thinking about getting a rpi to run bitcoin you will be infinitely happier with a odroid u2: http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G135341370451 it's much faster than an rpi, _far_ more than just the clockspeed and core count implies. Failing that, a beaglebone: http://beagleboard.org/Products/BeagleBone%20Black is still close in price and should be more than twice the speed of an rpi while drawing a lot less power. The rpi is a really handicapped arm, and Bitcoind/bitcoin-qt is designed to be a _full_ participant in the bitcoin network, it's not really meant for small systems. You don't really want to skimp on the cpu power if you don't have to. due to the hw constraints, maybe try copying the db files, etc, to the rpi from a more powerful machine. that way your disk won't get beat up as badly.
|
|
|
|
rupy (OP)
|
|
May 04, 2013, 12:48:12 PM Last edit: June 24, 2016, 05:14:51 AM by rupy |
|
I'm just adding tutorials on how to build stuff for the RPi here:
Here's BFGMiner for ASICMiner/BFL:
> sudo apt-get install autoconf libtool libncurses-dev yasm curl libcurl4-openssl-dev pkg-config git libjansson-dev uthash-dev libevent-dev > git clone git://github.com/luke-jr/bfgminer.git bfgminer > cd bfgminer > ./autogen.sh > ./configure > make
> ./bfgminer -o stratum+tcp://stratum.bitcoin.cz:3333 -O user:pass -S icarus:/dev/ttyUSB0
I'm going to try and run both my SC 60GH on one RPi, will be interesting to see if it works!
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
bukaj
Newbie
Offline
Activity: 28
Merit: 0
|
|
May 04, 2013, 10:38:08 PM |
|
Try archlinux on RPi, but AFAIK don't expect spectacular hashrates.
|
|
|
|
rupy (OP)
|
|
May 06, 2013, 09:31:33 PM Last edit: June 08, 2013, 05:59:36 PM by rupy |
|
Just FYI, since picocoin is not ready for prime time (and I think most projects will never be ready for prime time except the satoshi client; because nobody, and I mean NOBODY, wants to be responsible of erasing real money)...
This is insane though, individuals will probably never run this thing... I mean 10GB and lots of CPU/memory...
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 250
1. Collect underpants 2. ? 3. Profit
|
|
May 09, 2013, 12:23:19 AM |
|
Howto compile bitcoind on raspberry pi: > sudo apt-get install libboost1.50-dev libboost-filesystem1.50-dev libboost-system1.50-dev libboost-program-options1.50-dev libboost-thread1.50-dev libcurl4-openssl-dev libdb5.3++-dev libminiupnpc-dev > wget https://github.com/bitcoin/bitcoin/archive/master.zip> unzip master.zip > cd bitcoin-master/src > make -f makefile.unix bitcoind Compilation takes about 1 hour, downloading the blockchain about 20 hours and the bitcoind executable is 43MB! The strip command may help reduce the size of the bitcoind executable. Here's my procedure for building bitcoind on a Raspberry pi: root@pi:/var/tmp/bitcoin-0.8.1-linux/src/src# ls -lh bitcoind -rwxr-xr-x 1 root root 42M May 8 23:19 bitcoind root@pi:/var/tmp/bitcoin-0.8.1-linux/src/src# strip bitcoind root@pi:/var/tmp/bitcoin-0.8.1-linux/src/src# ls -lh bitcoind -rwxr-xr-x 1 root root 2.5M May 8 23:38 bitcoind You can see that the strip command reduced the binary from 42MB to 2.5MB Also to reduce SD card wear I use the -printtoconsole option to stop constant writing to the debug.log file. I may also link some of the other log files to /dev/null
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
rupy (OP)
|
|
May 09, 2013, 12:50:32 AM |
|
Ok, but what about RAM memory running out? How do you "fix" that, reboot every 12 hours?
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 250
1. Collect underpants 2. ? 3. Profit
|
|
May 09, 2013, 10:35:42 AM Last edit: May 09, 2013, 02:53:51 PM by Aido |
|
Ok, but what about RAM memory running out?
I have removed all unnecessary packages (e.g. ALL graphical stuff as my pi is headless). Although I have added a few others like tor and clamav. I have one of the newer 512MB pi's. Shortly after a reboot it has about 68MB free memory. KiB Mem: 448776 total, 378504 used, 70272 free, 28172 buffers KiB Swap: 102396 total, 0 used, 102396 free, 264292 cachedThis reduces over time and settles between 10MB and 20MB free. Analysis of memory management is a bit of a black art. I currently have 64MB allocated to GPU. Given my headless setup this is excessive and I can reduce it if necessary making more memory available to CPU.
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
rupy (OP)
|
|
May 09, 2013, 06:33:11 PM |
|
No I meant with bitcoind, it runs out of memory after 4-5 hours... no matter what you do.
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
rupy (OP)
|
|
May 22, 2013, 10:37:43 AM |
|
FYI: If you wan't to recursively both power the RPi with the hub and control the hub with your RPi at the same time just cut the red wire in the uplink cable. -P +-------+ | | | | c | | | | +-------+ | | hub | | < SOLUTION: Cut the red wire here! +-------+ | | | | | | p o o o | | | | +-----+ | +-| RPi |-+ +-----+
o = other "power hungry" devices P = PSU power p = USB power c = hub controller
For my part o = 1xBE USB and 2x50GH BFL, I hope the RPi will be able to run them!
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
qualalol
Newbie
Offline
Activity: 57
Merit: 0
|
|
May 22, 2013, 02:17:42 PM |
|
FYI: If you wan't to recursively both power the RPi with the hub and control the hub with your RPi at the same time just cut the red wire in the uplink cable. -P +-------+ | | | | c | | | | +-------+ | | hub | | < SOLUTION: Cut the red wire here! +-------+ | | | | | | p o o o | | | | +-----+ | +-| RPi |-+ +-----+
o = other "power hungry" devices P = PSU power p = USB power c = hub controller
For my part o = 1xBE USB and 2x50GH BFL, I hope the RPi will be able to run them! That shouldn't be necessary -- both my RPIs are powered from the hub they control without any issues so far. (Although that might depend on the hub...) I've never heard of anyone having to cut wires for this sort of thing to work.
|
|
|
|
maqifrnswa
|
|
May 22, 2013, 02:19:50 PM |
|
No I meant with bitcoind, it runs out of memory after 4-5 hours... no matter what you do.
I got a pi up and running as a bitcoind node just to try it out once, and it was working with the old leveldb and only 256 MB memory. I bootstrapped the blockchain: -loadblock=<file> from http://eu2.bitcoincharts.com/blockchain/and set -checkblocks=<n> How many blocks to check at startup (default: 288, 0 = all) -checklevel=<n> How thorough the block verification is (0-4, default: 3) to smaller numbers (don't remember what, specifically)
|
|
|
|
rupy (OP)
|
|
May 22, 2013, 02:59:29 PM Last edit: May 22, 2013, 04:33:34 PM by rupy |
|
That shouldn't be necessary -- both my RPIs are powered from the hub they control without any issues so far. (Although that might depend on the hub...) I've never heard of anyone having to cut wires for this sort of thing to work.
Hm, interesting! I just feel a bit uneasy about feeding the routers "own" power back into it. Feels like it might work fine until there is a spike in the grid and then: poof your hub/pi is toast, and if you're unlucky your house burns down with it... Do you know what the USB spec. says about this? Edit: Please see this quote from a moderator on the raspberry forum: If you leave the red wire intact, (and are thus "back-feeding" the PI, as its commonly called) you are in fact bypassing the PI's F3 polyfuse.
There is one single case I am aware of where this caused trouble when that user also used a badly designed power supply to feed the hub. The power supply wasn't properly regulated, and unloaded it outputted more than six volt! When he plugged it in it triggered the over-voltage protection diode of the PI (which triggers at about six volt) the resulting short circuit current though the diode, unimpeded by any fuse, overheated the diode so much that it melted a hole in the enclosure of his PI!
Its thus much better to "cut the red wire", and not to back-feed the PI!
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
rupy (OP)
|
|
May 22, 2013, 03:14:24 PM |
|
No I meant with bitcoind, it runs out of memory after 4-5 hours... no matter what you do.
I got a pi up and running as a bitcoind node just to try it out once, and it was working with the old leveldb and only 256 MB memory. Ok, but I need it to run 24/7 stable...
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
Deafboy
|
|
May 22, 2013, 03:44:52 PM |
|
Just make it restart every hour, or put it in the loop so it will start up right after the crash. I have solved my electrum server stability issues with that and I was never woken up by alert from monitoring again.
|
|
|
|
rupy (OP)
|
|
May 22, 2013, 03:48:55 PM |
|
Yeah, but you can't run anything professional with a bitcoind that is restarted every hour.
I think the bitcoin community really needs to move out of the garage; if we're ever going to get this thing going.
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
Aido
Sr. Member
Offline
Activity: 248
Merit: 250
1. Collect underpants 2. ? 3. Profit
|
|
May 22, 2013, 04:42:08 PM Last edit: January 09, 2014, 09:19:55 PM by Aido |
|
I had bitcoind 0.8.1 running on a Raspberry Pi and performance was terrible.....very high CPU usage and too many r/w operations. Jeff Garzik, one of the core bitcoin developers, is writing a lightweight C library called libccoin and a client called picocoin. When finished this should be suitable for running on low powered devices like a Raspberry Pi. Although I am concerned about running any client that will store the entire blockchain on an SDCard as it would significantly reduce the cards lifespan.
|
Interesting Bash command line, try it : bitcoin-cli sendtoaddress 1Aidan4r4rqoCBprfp2dVZeYosZ5ryVqH6 `bitcoin-cli getbalance`
|
|
|
qualalol
Newbie
Offline
Activity: 57
Merit: 0
|
|
May 22, 2013, 04:48:28 PM |
|
Yeah, but you can't run anything professional with a bitcoind that is restarted every hour.
I think the bitcoin community really needs to move out of the garage; if we're ever going to get this thing going.
You can't go professional running anything on a Raspberry Pi. It's not designed as a professional piece of equipment. Especially something as memory/storage intensive as bitcoin. Ps. you should probably look at http://binerry.de/post/28263824530/raspberry-pi-watchdog-timer for making sure you can deal with your Pi locking up (never happened to me, but I don't push mine very hard) if you are using it for something important. Hm, interesting! I just feel a bit uneasy about feeding the routers "own" power back into it. Feels like it might work fine until there is a spike in the grid and then: poof your hub is toast, and if you're unlucky your house burns down with it... Do you know what the USB spec. says about this? Edit: Please see this quote from a user on the raspberry forum: If you leave the red wire intact, (and are thus "back-feeding" the PI, as its commonly called) you are in fact bypassing the PI's F3 polyfuse.
There is one single case I am aware of where this caused trouble when that user also used a badly designed power supply to feed the hub. The power supply wasn't properly regulated, and unloaded it outputted more than six volt! When he plugged it in it triggered the over-voltage protection diode of the PI (which triggers at about six volt) the resulting short circuit current though the diode, unimpeded by any fuse, overheated the diode so much that it melted a hole in the enclosure of his PI!
Its thus much better to "cut the red wire", and not to back-feed the PI!
http://raspberrypi.stackexchange.com/questions/4880/powered-hubs-backfeeding-and-safety has some more useful info. But basically unless you've cheaped out on an unregulated USB hub you won't cause damage, and in most cases things will just work without problems. Neither of my PIs has failed yet, the one which I have always-on hasn't crashed once. (48 days uptime ATM, i.e. since the last time I was rearranging cabling and had to unplug it.) If you're really interested I reccomend looking at some USB hub circuits online... // Edit: and for some more detail look at http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&t=17560
|
|
|
|
rupy (OP)
|
|
May 22, 2013, 09:25:40 PM |
|
You can't go professional running anything on a Raspberry Pi. It's not designed as a professional piece of equipment.
I'm building a PaaS on a cluster of RPi's, so I obviously think you are wrong here. I'm going to modify one of these, I mean why risk it?
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
razorfishsl
|
|
May 22, 2013, 11:16:17 PM Last edit: May 22, 2013, 11:27:05 PM by razorfishsl |
|
Ok, but what about RAM memory running out? How do you "fix" that, reboot every 12 hours?
Don't try and run such software on shitty little cutter CPU's, go HERE: http://www.hardkernel.com/renewal_2011/main.phpGet a U2.... 4 CPU & 2GB FAST memory, I've had one on line since Jan......7/24 More importantly the 10/100 & the 'other' USB ports are split out onto SEPARATE USB channels back to the chip, so... no bottle neck. But as with ANY small Flash card based system you really need to watch your write caches. Only had one issue , where I shorted the power and had to pull the SDcard to FSchk it on a 'real' computer. (two if you count the PSU of the shitty china telicom ADSL blowing up..) Just wish they were a bit cheaper...... but they ARE worth the money..... Really am happy with my purchase.
|
|
|
|
rupy (OP)
|
|
May 23, 2013, 12:01:21 AM Last edit: June 08, 2013, 05:58:47 PM by rupy |
|
There is no free hosting for these afaik, and the linux on RPi is stable because the community is huge.
And as I said, I now run the bitcoind on another server, so I already solved this problem.
I will use battery backup and RUT-500 redundant 3G to handle fiber/power failures for uptime at home.
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
ct1aic
|
|
May 23, 2013, 07:02:07 PM |
|
Greetings. Did you tried minepeon? I have it running in 3 Raspberry Pi's and they are stable for many days, 24/7. Site: http://minepeon.com/index.php/Main_PageBest regards.
|
Rui Costa, Portugal - BTC : 1ct1aicGoUVpZeovsw3cCcPJZJHV5JXtW
|
|
|
|
Chaoskampf
Full Member
Offline
Activity: 182
Merit: 100
order in numbers
|
|
June 25, 2013, 05:37:37 PM |
|
Does anyone know the status of picocoin? I can't wait for a stable version. It would help my project immensely.
|
|
|
|
peapodamus
Newbie
Offline
Activity: 43
Merit: 0
|
|
June 26, 2013, 11:28:53 PM |
|
Add more swap, run bitcoind from git.
Doesen't swap wear the SD card? (snip) If you are concerned about swap wearing the SD card, just use a USB thumb drive or something to hold a swapfile instead.
|
|
|
|
qualalol
Newbie
Offline
Activity: 57
Merit: 0
|
|
June 27, 2013, 06:49:24 AM |
|
Add more swap, run bitcoind from git.
Doesen't swap wear the SD card? (snip) If you are concerned about swap wearing the SD card, just use a USB thumb drive or something to hold a swapfile instead. I've worn out a few thumb-drives doing that back in the days when I used Knoppix (but those were fairly cheap thumb drives), better bet is a hard drive or ssd (not sure how good an idea the latter is) -- not as fast, but the RPi isn't that fast either.
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
June 27, 2013, 10:56:28 PM |
|
No I meant with bitcoind, it runs out of memory after 4-5 hours... no matter what you do.
I've had bitcoind running for 19 days straight on my Raspberry Pi. I had to add a swapfile for it to not run out of memory, but version 0.8.2 uses a lot less memory than previous versions (like 500MB vs 1.5GB), so use the newest version you can. The bitcoin data directory is on a 16 GB USB stick, along with the swap file. I don't know how long it will last until it wears out, but these sticks are cheap as hell anyways, even the ones with good random read performance like the Corsair Flash Voyager. bitcoind is currently using 71.7% of the 512 MB of memory (less the 16MB allocated for the GPU) on my Pi, so it's not like it has to use the swap file all the time, only occasionally. I have nginx, php5, varnish and mysqld running as well, serving a Wordpress blog (runeks.dk), and it's fairly responsive.
|
|
|
|
rupy (OP)
|
|
June 27, 2013, 11:05:05 PM Last edit: June 28, 2013, 07:30:07 AM by rupy |
|
ok, but 16GB is only going to last you a couple of months at this rate, the block chain grows roughly 1 GB per month. I got a 56GB ssd for the blockchain, if they haven't added proper pruning to the satoshi client by when that runs out; I'm selling all my BTC and ejecting.
btw, bitcoind 0.8.2 uses 1.1 GB RAM on my atom server, so still memory hog, that's not a problem when you have 4GB though...
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
MWNinja
|
|
June 27, 2013, 11:37:58 PM |
|
It will eat SD cards like there is no tomorrow; the Pi really isn't a very good target for running bitcoind. The Cubieboard is in this same class of hardware (uses an Allwinner A10 ARM) and has a sata connector to allow for better storage options. It's much better suited for running bitcoind.
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
June 27, 2013, 11:40:17 PM |
|
ok, but 16GB is only going to last you a couple of months at this rate, the block chain grows roughly 1 GB per month. I got a 56GB ssd for the blockchain, if they haven't added proper pruning to the satoshi client by when that runs out; I'm selling all my BTC and ejecting.
Yeah, I'll need to upgrade to a 32 GB stick in a while. But it's like $25 so no problem. I can even add those 32 GB to my 16 GB, if I use RAID 0. It will eat SD cards like there is no tomorrow; the Pi really isn't a very good target for running bitcoind. The Cubieboard is in this same class of hardware (uses an Allwinner A10 ARM) and has a sata connector to allow for better storage options. It's much better suited for running bitcoind.
Use something disposable then, and cheap. $25 for a 32 GB USB stick isn't much if it'll last you a year at least. And by then, you can probably get 64 GB for the same price as 32 GB costs now. According to this data, storage space per dollar doubles every 14 months. So you can probably get by just by buying for $25 worth of storage every year or two.
|
|
|
|
Oliverdjob
Newbie
Offline
Activity: 25
Merit: 0
|
|
June 28, 2013, 12:59:45 AM |
|
Ive seen it run before. Someone a while back posted a picture of them running a Jalapeño with a Pi and it had extremely low power usage to maximize the income of the miner. Its a pretty neat little gadget and would love to get my hands on one soon!
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
June 28, 2013, 01:19:08 AM |
|
Ive seen it run before. Someone a while back posted a picture of them running a Jalapeño with a Pi and it had extremely low power usage to maximize the income of the miner. Its a pretty neat little gadget and would love to get my hands on one soon!
Beware that the Pi is slow. And just just slow, but slow slow. As I mentioned, it took roughly a week for it to build the transaction database from a complete blockchain that was already on disk. I'd say the CPU is probably 10 times slower than a single core of my Core 2 Quad 2.83 GHz CPU in my PC. Also, it has problems with USB. I can't get a SATA-to-USB device to work with it, even though it works fine with my PC.
|
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
June 29, 2013, 04:27:46 AM |
|
The Pi can't power an external hard drive. So you'll have to get a powered USB hub. But otherwise, it should work, although it won't necessarily, because the Pi has problems with its USB interface, for some reason (as demonstrated by my SATA-to-USB HDD enclosure not working).
Also, as per my calculations above, it might even be cheaper to just go for the USB stick, and upgrade as necessary.
|
|
|
|
asc366
Newbie
Offline
Activity: 36
Merit: 0
|
|
July 02, 2013, 12:09:42 PM |
|
I'm just finished compiling bitcoind 0.8.3 on my RPi, running pidora (instead of, what most people seem to run, raspbian). I too feared the SD card wearing out pretty quickly so I expored a little iSCSI LUN from my Synology NAS to the Pi and put the whole bitcoin datadir on that LUN. This can also be done using NFS or Samba of course, YMMV.
You can even put your swap on the exported LUN. I'm not sure which is faster, but it at least doesn't wear my SD card out this way!
I'm now downloading the bootstrap.dat to see if I can use that as a "kickstarter".
|
|
|
|
anonymous_acc
|
|
July 05, 2013, 05:37:37 AM |
|
|
BTC: 1HRcwjxG2H5vSnNo5ZbGqMxRPFWJk6dwW9
|
|
|
super3
Legendary
Offline
Activity: 1094
Merit: 1006
|
|
July 11, 2013, 01:56:27 AM |
|
I've seen a few people with electrum running on their Pi's. Bitcoind is just not going to cut it for a Pi.
|
|
|
|
buyer99
|
|
September 24, 2013, 06:09:11 PM |
|
I still don't understand..... Why not just store the datadir and swap on a thumb drive or on an external usb drive (w powered hub)? Isn't the solution really that simple?
|
|
|
|
super3
Legendary
Offline
Activity: 1094
Merit: 1006
|
|
September 24, 2013, 10:24:12 PM |
|
I still don't understand..... Why not just store the datadir and swap on a thumb drive or on an external usb drive (w powered hub)? Isn't the solution really that simple?
Sure you could, but that would require a few days to sync and a dozen steps to get working. Would probably run pretty poorly too.
|
|
|
|
rini17
|
|
November 19, 2013, 02:09:44 AM |
|
Can confirm Electrum works fine, although slowly - creating a transaction may take tens of seconds depending on number of inputs. What's interesting, under PyPy interpreter it runs even slower (commandline only, PyQt won't work with PyPy).
Swap is not necessary, but I'm using zram (swapping to compressed memory). Aside from saving sd card also prevents accidental write of sensitive data there. To enable it, you have to keep original raspbian kernel, not install from rpi-update.
|
|
|
|
crazy_rabbit
Legendary
Offline
Activity: 1204
Merit: 1001
RUM AND CARROTS: A PIRATE LIFE FOR ME
|
|
January 07, 2014, 09:19:51 AM |
|
I'm thinking about running a full node on Raspberry Pi with a web interface that looks like blockchain or Coinbase so that you could have a 'home server' that was secure and that supported the network. With so many thin clients running we're really losing a lot of Nodes.
|
more or less retired.
|
|
|
rini17
|
|
January 18, 2014, 12:49:07 PM Last edit: January 18, 2014, 01:00:24 PM by rini17 |
|
I'm thinking about running a full node on Raspberry Pi with a web interface that looks like blockchain or Coinbase so that you could have a 'home server' that was secure and that supported the network. With so many thin clients running we're really losing a lot of Nodes.
It plainly won't work on Pi. Even if it would sync eventually, it would be so slow that it'd provide no added value to your nor to the network. Just stop dreaming and build yourself $150 celeron miniitx system + some > 100GB HDD from drawer. It would also easily support additional p2p goodies you'll want to try some other day. For example I'm using this one as all-in-one bitcoind, electrum server, litecoind, freenet, home router, print server, anything: http://www.mini-itx.com/store/~GA-C847N
|
|
|
|
Zelek Uther
|
|
January 19, 2014, 07:40:56 PM |
|
Are there updated instructions on how to run bitcoind on a Raspberry Pi? I'm trying to get the latest bitcoind working (0.86), and it requires different installation steps to what is in this thread.
I've fudged my way through, and now need to install Berkeley DB 4.8... unsure how to proceed.
Also, how do you store the blockchain on a different directory to the default?
|
Run a Bitcoin node, support the network.
|
|
|
Michail1
Legendary
Offline
Activity: 1498
Merit: 1164
|
|
January 31, 2014, 02:04:37 AM |
|
Are there updated instructions on how to run bitcoind on a Raspberry Pi? I'm trying to get the latest bitcoind working (0.86), and it requires different installation steps to what is in this thread.
I've fudged my way through, and now need to install Berkeley DB 4.8... unsure how to proceed.
Also, how do you store the blockchain on a different directory to the default?
The issue is that the master doesn't have the .unix file in src anymore. So, download the 0.8.6.zip file. > sudo apt-get install libboost1.50-dev libboost-filesystem1.50-dev libboost-system1.50-dev libboost-program-options1.50-dev libboost-thread1.50-dev libcurl4-openssl-dev libdb5.3++-dev libminiupnpc-dev > wget https://github.com/bitcoin/bitcoin/archive/0.8.6.zip> unzip 0.8.6.zip > cd bitcoin-0.8.6/src > make -f makefile.unix bitcoind
|
|
|
|
rupy (OP)
|
|
April 08, 2015, 10:31:40 AM |
|
Anyone tried bitcoind on a Raspberry Pi 2?
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
GoingAround
Sr. Member
Offline
Activity: 476
Merit: 252
ImmVRse | Disrupting the VR industry
|
|
April 08, 2015, 03:16:11 PM |
|
Anyone tried bitcoind on a Raspberry Pi 2?
It should work as usual, the only issue its the ram once again, and I'm not sure if the compilation process takes in fact that its a quadcore processor now instead of a single core for b+.
|
|
|
|
rupy (OP)
|
|
April 08, 2015, 05:20:28 PM |
|
Ok, so 1 GB not enough!
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
doof
|
|
April 08, 2015, 11:41:55 PM |
|
|
|
|
|
doof
|
|
April 08, 2015, 11:42:49 PM |
|
Are there updated instructions on how to run bitcoind on a Raspberry Pi? I'm trying to get the latest bitcoind working (0.86), and it requires different installation steps to what is in this thread.
I've fudged my way through, and now need to install Berkeley DB 4.8... unsure how to proceed.
Also, how do you store the blockchain on a different directory to the default?
See move blocks step https://github.com/bitcoinbrisbane/10000nodes
|
|
|
|
doof
|
|
April 08, 2015, 11:44:10 PM |
|
I'm thinking about running a full node on Raspberry Pi with a web interface that looks like blockchain or Coinbase so that you could have a 'home server' that was secure and that supported the network. With so many thin clients running we're really losing a lot of Nodes.
I've started a project called 10,000 node project. www.10000nodes.com to do just that. PM if your interested in helping.
|
|
|
|
rupy (OP)
|
|
April 09, 2015, 10:14:23 PM |
|
I don't think there is only 7.000 nodes, do you mean open nodes with port 8333 accessible?
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
pazor_true
Legendary
Offline
Activity: 1460
Merit: 1025
i love Emerald (EMD)
|
|
May 27, 2015, 05:05:51 PM |
|
hi there, may be the following start script can someone help to start and run a bitcoind (0.10.x) on a RPi 1 Model B(+) (512MB RAM) /usr/local/bin/bitcoind -datadir=/opt/bitcoin -dns -noupnp -maxconnections=10 -timeout=5000 -noirc -gen=0 -maxorphantx=25 -maxorphanblocks=25 -server -rpcuser=user-rpcpassword=mypass -rpcallowip=192.168.1.0/255.255.255.0 -rpcbind=192.168.1.1 -rpcport=8332 -dbcache=25 -daemon -checkblocks=25 -maxreceivebuffer=1250 -maxsendbuffer=250 -disablewallet renice 20 `pidof bitcoind`> /dev/null somethink more on https://bitcointalk.org/index.php?topic=1062396.msg11465182#msg11465182pazor
|
BTC 12jiBjT2GSWYk2HwYdPqsQMuLqZ1br9D37 - i am Pazor
|
|
|
TierNolan
Legendary
Offline
Activity: 1232
Merit: 1083
|
|
May 27, 2015, 07:19:11 PM |
|
hi there,
may be the following start script can someone help to start and run a bitcoind (0.10.x) on a RPi 1 Model B(+) (512MB RAM)
/usr/local/bin/bitcoind .... -maxconnections=10 ....
This is a very low value for connections. The shortage on the network is mostly peers that accept incoming connections. If you run a peer, then you use up 8 of those slots. With 10 connections, you only have 2 left for incoming connections. A 16 connection limit means that you use up 8 slots but give back 8 slots. This means that you are helping as much as you are consuming. 24 connections would mean that you consume 8 and give back 16, so you are helping the system.
|
1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
|
|
|
pazor_true
Legendary
Offline
Activity: 1460
Merit: 1025
i love Emerald (EMD)
|
|
May 27, 2015, 10:01:36 PM |
|
thank you for your comment. i will try to run the RPi 1 bitcoin node with 16 connections.
|
BTC 12jiBjT2GSWYk2HwYdPqsQMuLqZ1br9D37 - i am Pazor
|
|
|
pazor_true
Legendary
Offline
Activity: 1460
Merit: 1025
i love Emerald (EMD)
|
|
May 28, 2015, 04:48:56 PM |
|
i have tried and it (RPi 1 B(+)) works fine with 16 connections.
|
BTC 12jiBjT2GSWYk2HwYdPqsQMuLqZ1br9D37 - i am Pazor
|
|
|
rupy (OP)
|
|
June 11, 2015, 10:38:42 PM |
|
I'm just adding tutorials on how to build stuff for the RPi here:
Here's BFGMiner for ASICMiner/BFL:
> sudo apt-get install autoconf libtool libncurses-dev yasm curl libcurl4-openssl-dev pkg-config git libjansson-dev uthash-dev > git clone git://github.com/luke-jr/bfgminer.git bfgminer > cd bfgminer > ./autogen.sh > ./configure > make
> ./bfgminer -o stratum+tcp://stratum.bitcoin.cz:3333 -O user:pass -S icarus:/dev/ttyUSB0
I'm going to try and run both my SC 60GH on one RPi, will be interesting to see if it works!
Sorry about the necro and bit offtopic, but my win7 machine suddenly can't mine with the Monarches any more, but my RPi 2 with this works fine! 100% dunno why, the win machine spouts: [2015-06-11 19:34:43] BFL 0aa: Failed to send queue [2015-06-11 19:34:43] BFL 0aa: Received unexpected queue result response: [2015-06-11 19:34:43] BFL 0aa: Error: Get temp returned empty string/timed out
|
BANKBOOK GWT Wallet & no-FIAT Billing API
|
|
|
cryptotipz
Member
Offline
Activity: 62
Merit: 10
|
|
June 15, 2015, 02:10:30 PM |
|
btc on the raspberry pi is very slow and laggy compared to a normal laptop. Only run lightweight wallets on the raspberry pi.
|
|
|
|
tspacepilot
Legendary
Offline
Activity: 1456
Merit: 1076
I may write code in exchange for bitcoins.
|
|
June 16, 2015, 03:31:39 AM |
|
btc on the raspberry pi is very slow and laggy compared to a normal laptop. Only run lightweight wallets on the raspberry pi.
I think he said it's working fine on his pi2 and failing on windoze. @rupy, I know nothing of windows, can't help you. But as you said, since this thread is about bitcoin on raspberry pi, maybe you should start a new thread.
|
|
|
|
cryptotipz
Member
Offline
Activity: 62
Merit: 10
|
|
June 18, 2015, 04:53:20 AM |
|
btc on the raspberry pi is very slow and laggy compared to a normal laptop. Only run lightweight wallets on the raspberry pi.
I think he said it's working fine on his pi2 and failing on windoze. @rupy, I know nothing of windows, can't help you. But as you said, since this thread is about bitcoin on raspberry pi, maybe you should start a new thread. it keeps crashing on mine tho :/, running latest raspbian
|
|
|
|
tspacepilot
Legendary
Offline
Activity: 1456
Merit: 1076
I may write code in exchange for bitcoins.
|
|
June 18, 2015, 05:42:23 AM |
|
btc on the raspberry pi is very slow and laggy compared to a normal laptop. Only run lightweight wallets on the raspberry pi.
I think he said it's working fine on his pi2 and failing on windoze. @rupy, I know nothing of windows, can't help you. But as you said, since this thread is about bitcoin on raspberry pi, maybe you should start a new thread. it keeps crashing on mine tho :/, running latest raspbian Right, I sholuld admit, I saw a post from gmaxwell in another thread talking about how bitcoin-core is probably not going to run well even on the pi2. This is above and beyond all the disk writes to your sandisk. I haven't tried it myself. Out of curiosity, though, what's the error you're getting on the crash?
|
|
|
|
iram66680
|
|
June 18, 2015, 06:01:53 AM |
|
btc on the raspberry pi is very slow and laggy compared to a normal laptop. Only run lightweight wallets on the raspberry pi.
I think he said it's working fine on his pi2 and failing on windoze. @rupy, I know nothing of windows, can't help you. But as you said, since this thread is about bitcoin on raspberry pi, maybe you should start a new thread. it keeps crashing on mine tho :/, running latest raspbian Right, I sholuld admit, I saw a post from gmaxwell in another thread talking about how bitcoin-core is probably not going to run well even on the pi2. This is above and beyond all the disk writes to your sandisk. I haven't tried it myself. Out of curiosity, though, what's the error you're getting on the crash? I saw people running Bitcoin Core in Pi Ver. B with no issue but a hard drive have to be attached. The write speed of SD cards are very slow depending on your grade. You can easily attached it to a old hard disk with sufficient space though. You can try a few commands to reduce the load. The minimum requirement of Bitcoin Core should be around 1GB.
|
|
|
|
bitnanigans
|
|
June 18, 2015, 08:15:05 AM |
|
btc on the raspberry pi is very slow and laggy compared to a normal laptop. Only run lightweight wallets on the raspberry pi.
I think he said it's working fine on his pi2 and failing on windoze. @rupy, I know nothing of windows, can't help you. But as you said, since this thread is about bitcoin on raspberry pi, maybe you should start a new thread. it keeps crashing on mine tho :/, running latest raspbian Right, I sholuld admit, I saw a post from gmaxwell in another thread talking about how bitcoin-core is probably not going to run well even on the pi2. This is above and beyond all the disk writes to your sandisk. I haven't tried it myself. Out of curiosity, though, what's the error you're getting on the crash? I saw people running Bitcoin Core in Pi Ver. B with no issue but a hard drive have to be attached. The write speed of SD cards are very slow depending on your grade. You can easily attached it to a old hard disk with sufficient space though. You can try a few commands to reduce the load. The minimum requirement of Bitcoin Core should be around 1GB. Alternatively, you can use a board which supports mSATA like the Banana Pi or Hummingboard, which enables you to plug in an mSATA SSD for more storage. SSDs are very cheap now compared to the earlier years.
|
|
|
|
|