Bitcoin Debian Install - Nebenbei Geld Verdienen Ohne Gewerbe
Debian images for VMware and VirtualBox - OSBoxes
Debian Bitcoind CryptoCoins Info Club
Debian -- The Universal Operating System
A Guide to Keeping Keys Offline Using Armory +rPi
Hi Redditors. I am going to post in this thread my experiences in getting my Desktop (Debian) machine running Armory in watch-only mode, and coupling that with an offline Raspberry Pi (which holds my private keys) for signing the transactions previously made in watch-only mode. I actually compiled Armory from source directly on my Pi. This guide is probably more for the bitcoin 'power user', as to run Armory online, and broadcast the signed transactions, you need to have a bitcoin full node running (bitcoind). Basic requirements:
Online machine - running a full node (bitcoind)
Raspberry Pi - I used an old Pi 1 Model B with just 512Mb memory, and 2 USB slots.
2x USB thumb-drives. One for wallet backups, the other for transferring unsigned tx's to the rPi, and signed tx's back to the Desktop.
Armory 0.96.4 for the Raspberry Pi 1, Model B (512Mb RAM, 2xUSB) (compiled from github sourcecode on the Pi itself!)
Using the Pi as an offline complement to a Debian Desktop "watch-only" Armory install.
Desktop Debian Armory watch-only talks to my full node, bitcoind, which is also on the Debian desktop.
I'll post the guide in digestible sections...
I should begin by saying I installed source code from git, and got Armory to build the DB on my desktop initially, WITHOUT creating a wallet.. (This allowed me to debug what was going on a little!)
Go to Bitcoin.org, select Armory.. It leads to a Download from Git: https://github.com/goatpig/BitcoinArmory/releases Followed the procedure for Linux Debian verify code, compile, install, all straight-forward.. Began by running bitcoind, and telling Armory where to find it. This is the command I used, obviously it was all on one line and didn't include the arrows/explanations!:
python ArmoryQt.py \ --satoshi-datadir=/BlockChain/chain20180414/blocks \ # <-----(where my bitcoind blocks live) --datadir=/ArmoryDataDi \ # <-----(this is instead of ~/.armory) --dbdir=/ArmoryDataDidatabases # <-------(again, non std. place used for Armory's databases.. my choice.)
So, on the Desktop, after the initial "build databases" (NB the initial "Build Databases" took about 1.5h and my two CPUs were maxed the whole time, Temps up to 62C. Not ideal; Im not in a rush!) I then wanted to import a watch-only wallet. Before I did this, I took a full backup of the Armory data dir: /ArmoryDataDi (or ~/.armory in a default installation). I'd hate to have to make Armory do another full sync with the bitcoind node!
Next step: offline wallet (with Private Keys) is on a Raspberry Pi. I downloaded the source and managed to compile it on the pi itself! :) Though there were some gymnastics needed to setup the Pi. My Pi is running Raspbian based on Wheezy.. quite old! I did the following on the Pi:
apt-get update apt-get upgrade (<---took about an hour!) apt-get install autotools-dev apt-get install autoconf
Then I followed the instructions exactly as I had done for my Debian Desktop machine, EXCEPT: I had to increase the Pi's swap space. I upped it from 100Mb to 400Mb. The compilation took 7 hours, and my poor SD card got a thrashing. But after compilation, I put the Swap back to 100Mb and Armory runs ok with about 150Mb of memory (no swap needed). Swap increase on the Pi: use your favourite editor, and open the file /etc/dphys-swapfile add/change the following line:
Then, REBOOT the Pi:
sudo shutdown -h -P now
Once the compilation was done on the Pi, put the swap back, rebooted and created an Armory wallet. I added manual entropy and upped the encryption 'time' from 250ms to 2500ms - since the Pi is slow, but I'll be happy to wait for more iterations in the Key Derivation Function. Once the wallet was created, it obviously prompts you for backup. I want to add a private key of my own (i.e. import), so don't do the backup until this is over. I import my Private Key, and Armory checks that this corresponds to a Public Key, which I check is correct. This is the point now where the Pi storage medium (e.g an SD card) has to be properly destroyed if you ever get rid of it. I had thought that now would be a good time to decide if your new wallet will generate Segwit receiving addresses, and also addresses used to receive 'change' after a transaction.. But it seems Armory WON'T let you switch to P2SH-P2WPKH unless your Armory is connected to a node offering "WITNESS" service. Obviously, my Pi is offline and will never connect to a node, so the following will not work on the Pi:
x Use File Settings Fee and address types.
x Set the "Preferred Receive Address Type" to P2SH-P2WPKH
x Also Set the "Change Address" to P2SH-P2WPKH for left-over loose change!
NB: I thought about setting this on the Debian "watch-only" wallet, but that would surely mean doom, as the Pi would not know about those addresses and backups might not keep them.. who knows... So, end result:- no segwit for me just yet in my offline funds.
--If anyone can offer a solution to this, I'd be very grateful--
Ok, now this is a good point to back up your wallet on the Pi. It has your imported keys. I choose a Digital Backup - and put it on a USB key, which will never touch the internet and will be stored off-site. I also chose to encrypt it, because I'm good with passwords.. NB: The Armory paper backup will NOT back up your imported private keys, so keep those somewhere if you're not sweeping them. It would be prudent to have an Armory paper backup anyway, but remember it will likely NOT help you with that imported key. Now for the watch-only copy of the wallet. I want to get the "watch-only" version onto my Desktop Debian machine. On the Pi, I created (exported to a USB key) a "watching-only" copy of my wallet. I would use the RECOMMENDED approach, export the "Entire Wallet File". As you will see below, I initially exported only the ROOT data, which will NOT capture the watching-only part of the Private Key I entered manually above (i.e. the public Key!). Now, back on the Debian Desktop machine... I stopped all my crontab jobs; just give Armory uninterrupted CPU/memory/disk... I also stopped bitcoind and made a backup prior to any watch-only wallet being imported. I already made a backup of Armory on my Desktop, before any wallet import. (this was needed, as I made a mistake.. see below) So on the Debian Desktop machine, I begin by firing up bitcoind. my command for this is:
I know from bitter experience that doing a scan over the blockchain for a new wallet takes a looong time and a lot of CPU, and I'd like it to play nicely; not gobble all the memory and swap and run my 2xCPUs both at 100% for four hours... So... I aim to run with --ram-usage=X and --thread-count=X (For me in the end, X=1 but I began with X=4) I began with --ram-usage=4 (<--- = 4x128Mb) The result is below...
TypeError: cannot concatenate 'str' and 'int' objects
It didn't recognise the ram-usage and carried on, crippling my Debian desktop PC. This is where it gets dangerous; Armory can gobble so much memory and CPU that the windowing environment can cease up, and it can take over 30 minutes just to exit nicely from bitcoind and ArmoryDB. So, I ssh to the machine from another computer, and keep an eye on it with the command
I'd also be able to do a "sudo reboot now" if needed from here.
So, trying to get my --ram-usage command recognised, I tried this line (added quotes):
Loading Armory Engine: Armory Version: 0.96.4 Armory Build: None PyBtcWallet Version: 1.35 Detected Operating system: Linux OS Variant : ('debian', '9.4', '') User home-directory : /home/ Satoshi BTC directory : /BlockChain/chain20180414 Armory home dir : /ArmoryDataDi ArmoryDB directory : /ArmoryDataDidatabases Armory settings file : /ArmoryDataDiArmorySettings.txt Armory log file : /ArmoryDataDiarmorylog.txt Do wallet checking : True (ERROR) ArmoryUtils.py:3723 - Unsupported language specified. Defaulting to English (en) (ERROR) ArmoryQt.py:1833 - Failed to start Armory database: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File "ArmoryQt.py", line 1808, in startArmoryDBIfNecessary TheSDM.spawnDB(str(ARMORY_HOME_DIR), TheBDM.armoryDBDir) File "/BitcoinArmory/SDM.py", line 387, in spawnDB pargs.append('--ram-usage=' + ARMORY_RAM_USAGE) TypeError: cannot concatenate 'str' and 'int' objects
So, I edit the Armory python file SDM.py:
if ARMORY_RAM_USAGE != -1: pargs.append('--ram-usage=4') #COMMENTED THIS, SO I CAN HARDCODE =4 # ' + ARMORY_RAM_USAGE)
Running it, I now have acknowledgement of the --ram-usage=4:
(WARNING) SDM.py:400 - Spawning DB with command: /BitcoinArmory/ArmoryDB --db-type="DB_FULL" --cookie --satoshi-datadir="/BlockChain/chain20180414/blocks" --datadir="/ArmoryDataDi" --dbdir="/ArmoryDataDidatabases" --ram-usage=4
Also, even with ram-usage=4, it used too much memory, so I told it to quit. It took over 30 minutes to stop semi-nicely. The last thing it reported was:
ERROR - 00:25:21: (StringSockets.cpp:351) FcgiSocket::writeAndRead FcgiError: unexpected fcgi header version
But that didn't seem to matter or corrupt the Armory Database, so I think it's ok. So, I get brave and change SDM.py as below, and I make sure my script has a command line for --ram-usage="ABCDE" and --thread-count="FGHIJ"; the logic being that these strings "ABCDE" will pass the IF criteria below, and my hardcoded values will be used...
if ARMORY_RAM_USAGE != -1: pargs.append('--ram-usage=1') #COMMENTED THIS, SO I CAN HARDCODE =1 # ' + ARMORY_RAM_USAGE) if ARMORY_THREAD_COUNT != -1 pargs.append('--thread-count=1') #COMMENTED THIS, SO I CAN HARDCODE =1 #' + ARMORY_THREAD_COUNT)
So, as usual, I use my script and start this with: ./StartArm.sh (which uses command line:)
(this forces it to use my hard-coded values in SDM.py...) So, this is the command which it reports that it starts with:
(WARNING) SDM.py:400 - Spawning DB with command: /BitcoinArmory/ArmoryDB --db-type="DB_FULL" --cookie --satoshi-datadir="/BlockChain/chain20180414/blocks" --datadir="/ArmoryDataDi" --dbdir="/ArmoryDataDidatabases" --ram-usage=1 --thread-count=1
Again, this is where it gets dangerous; Armory can gobble so much memory and CPU that the windowing environment can cease up. So I ssh to the machine and keep an eye on it with:
So, on the Debian Desktop PC, I inserted the USB stick with the watch-only wallet I exported from the Pi. Start Armory... Import "Entire Wallet File" watch-only copy. Wait 4 hours.. YAY!!! After running Armory for about 30m, the memory usage dropped by 400m... wierd... It took ~2 hours to get 40% completion. After 3.5 hours it's almost there... The memory went up to about 1.7Gb in use and 900Mb of Swap, but the machine remained fairly responsive throughout, apart from a few (10?) periods at the start, where it appeared to freeze for 10-30s at a time. (That's where my ssh session came in handy - I could check the machine was still ok with a "free -h" command) Now, I can: Create an unsigned transaction on my Desktop, Save the tx to USB stick, Move to the Pi, Sign the tx, Move back to the Desktop, Broadcast the signed tx.
My initial Mistake: This caused me to have to roll-back my Armory database, using the backup. so you should try to avoid doing this.. On the Pi, I exported only the ROOT data, which will NOT capture the watching-only part of the Private Key It is RECOMMENDED to use the Digital Export of Entire Wallet File from the Pi when making a watch-only copy. If you just export just the "ROOT data", not the "Entire Wallet File", you'll have problems if you used an imported Private Key in the offline wallet, like I did. Using the ROOT data text import, after it finished... my balance was zero. So,. I tried a Help->Rescan Balance (Restart Armory, takes 1minute to get back up and running) No Luck. Still zero balance. So, I try Rescan Databases.. This will take longer. Nah.. no luck. So, I tried again, thinking it might be to do with the fact that I imported the text "root data" stuff, instead of following the (Recommended) export of watching-wallet file. So, I used my Armory backup, and wound back the ArmoryDataDi to the point before the install of the (zero balance) wallet. (you should not need to do this, as you will hopefully use the RECOMMENDED approach of exporting the "Entire Wallet File"!)
File > New > Hardware wallet. Both Trezor and btchip work as they do on OSX, apart from the Pi's slow CPU taking ages to generate the HD tree and Sync. Limitations At this stage a Pi is too slow to receive btchip's 2fa OTP confirmation code, with the auto-type saturating the text buffer. I'm confident Nicholas can fix this in firmware. Edit: an ipad2 + Apple CCK is too slow to buffer the seed about 1/4 times. Edit 2: an iPhone5/retina iPad mini + Lighning to USB camera cable works with btchip with iOS 8.1 with selected text editors. You can use btchipPersoWizard.py to restore a BIP39 mnemonic, however btchip's HW1 is unable to support on-device BIP39 seed+passphrase, but this feature might be added to the electrum plugin later. I don't know if greenaddress CRX will work on piper, there doesn't seem to be an official armhf build available from google, and the latest sudo apt-get install chromium version is v22 whereas Chrome is at v38. (it might be possible to download https://github.com/greenaddress/WalletCrx and pack/drag-drop the extension manually in developer mode)
pub 409665FFB764 2012-05-08 [expires: 2019-05-07] uid Wheezy Stable Release Key [email protected] We can clearly see that key B38A8516 is expired. I have tried this command without succes : sudo apt-key adv --keyserver pgp.mit.edu --recv-keys B38A8516 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.66fa6TtioE --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/bitcoin-bitcoin.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg --keyserver pgp.mit.edu --recv-keys B38A8516 gpg: requesting key B38A8516 from hkp server pgp.mit.edu gpg: key B38A8516: "Oracle OSS group (Open Source Software group) [email protected]" not changed gpg: Total number processed: 1 gpg: unchanged: 1 I have even tried to remove the key manually with apt-key del B38A8516 and reinstall it. I always end with the same expired keys... Anyone have a hint on this ? I'm completly lost... Cheers, Trustinor
Installing software outside of the package manager
Hello all. I've recently taken an interest in Bitcoins (/bitcoins), and so I've naturally decided to try them out using Bitcoin's own bitcoin-qt wallet software. Unfortunately, debian-qt only appears to be available in the sid (unstable) repositories and I'm running wheezy (stable), so I've had to download the binaries from bitcoin.org and work it out from there. I've pretty much got everything working, but I'm not sure if there's a preferred standard way to do what I'm doing. I have done a fair bit of research, and it has lead me to believe that /opt or /uslocal is the best place to home user installed programs. Pretty much, the steps I've taken so far are: 1. Download the tarball from bitcoin.org. 2. Verify it to make sure it's authentic and all that jazz. 3. Extract it (which leaves me with a directory called bitcoin-0.8.6-linux). 4. Find the 64 bit binaries in bitcoin-0.8.6-linux (which are located at bitcoin-0.8.6-linux/bin/64/) and copy them to /uslocal/bin. That's what I've done as far as installation goes. I have, of course, set up a menu in the application menu for XFCE that leads to the bitcoin-qt executable that's in /uslocal/bin, but other than that, that's all. One issue that is remaining is that in the applications menu, the application for the bitcoin wallet has no icon. Now, I know how to implement icons, but I'm not sure where the standard place for housing icons/pngs is on debian/linux systems, so I haven't bothered yet. So, my main question is: have I done this right? Is this the standard way to do things, as far as installing outside of the package manager goes? All of the software I have previously installed has been through the package manager, so this is new territory to me. I'd love to hear your advice -- thank you for reading. :)
To the moon! Dogemining with BFGMiner, Debian, and ATI.
Visitor from the future! Hello. I'm a newbie digger and recently setup my first dedicated mining box in Debian. I'm not the most experienced Linux user, but the machine had started with Debian Squeeze and I couldn't find its old Windows key. (Also please forgive formatting errors, I'm new to this whole "Reddit" thing as well.) I found a number of guides to misdirect me on my way, so I decided to write up a sort-of (or at least hopefully up-to-date) guide to create a Dogecoin miner on Debian with AMD cards, using BFGMiner to mine coins. Expert digging shibes: I would certainly appreciate feedback to improve this guide. This is not a headless mining guide. I have not reached that level of mastery yet, though I believe it is well within reach. HOWTO
Start by installing Debian Wheezy. Make sure you install the Desktop Environment package. Not only did I fail to make things work when installing X after the fact, but having the web browser will be convenient.
Unpack the BFGMiner source into a directory somewhere.
Open a terminal (shouldn't have to be root), cd to the directory with the BFGMiner source, and run: ./configure --enable-scrypt --enable-opencl
Once that completes, run: ./make
You'll see a lot of output from the build, but if everything goes well you should then be able to run ./bfgminer. You can test it by running: ./bfgminer --scrypt -S opencl:auto -o (pool URL here) -u (your worker's username for that pool) -p (your worker's password for that pool). It won't be very fast, however.
Using your preferred text editor, make a new file in your BFGMiner directory, such as "doge_dig.sh". Add the following: #!/bin/sh export GPU_MAX_ALLOC_PERCENT=100 export GPU_USE_SYNC_OBJECTS=1 ./bfgminer --scrypt --scrypt -S opencl:auto -o (pool URL here) -u (your worker's username for that pool) -p (your worker's password for that pool)
In your terminal, chmod 500 doge_dig.sh
You can refer to this wiki source to understand the output from BFGMiner 3.10.0. The one gotcha I've observed is that BFGMiner will happily start off showing hash rates in KHash/sec, and after the first accepted block it will jump to MHashes/sec. When I first saw my hash speed appear to drop from "250" to "0.2", I panicked a little before seeing it had changed its orders of magnitude. If you think you're still mining slowly, you might need to bump up the intensity for BFGMiner. Higher intensity means more work, and it's possible to create hardware failures if you set it too high. For my HD 5870s, I use an intensity of 12. You can either set the intensity by adding "-I 12" to the ./bfgminer line of doge_dig.sh, or you can adjust the value by pressing M in BFGMiner and working through the menu system from there. Bonus: Multiple cards What happens if I have multiple ATI cards on one rig, you ask? I had the same problem, and OpenCL would only recognize one of them! It turns out that there's an easy solution, but it costs $1.25 in resistors from your local radio shack: http://www.overclock.net/t/384733/the-30-second-dummy-plug Plug the finished product from there into your second card. If you have more than two cards, you'll need to make one for every card you want to recognize without a monitor attached to it. Reboot and restart your mining, BFGMiner should recognize all of your cards now. In theory, the above technique should allow you to run completely headless, as long as you also install SSH and be sure to have your script export DISPLAY=:0 before running BFGMiner. I haven't tried this, though. Happy mining and welcome to the Moon! I hope this is helpful to someone.
Running a Bitcoin Node on Debian Wheezy - Development Cycle.![armory download] **Windows** * [Armory for Windows XP, Vista, 7, 8+ by some of the most heavily-invested, and most paranoid Bitcoin enthusiasts and Armory Ubuntu/Debian packages files) are signed directly usingForwarding inbound connections from the Internet through your router to your computer where Bitcoin Core can process them ... Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. Debian provides more than a pure OS: it comes with over 59000 packages, precompiled software bundled up in a nice format for easy installation on your machine. Read more... We are going to run a Bitcoin full node in a Debian system (Sid) $ wget Install the binaries in /usr/local/bin directory $ sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-0.14.2/bin/* By now we are going to run only Bitcoin daemon with no graphical interface: NOTE: you can execute $ bitcoind -server to I want to use bitcoin in Debian. I want to be able to receive BTC and make payments in BTC. I want to keep my wallet locally, on my computer. I want a light client, I don't want to download the en... This tutorial explains how to install and use Bitcoin Core on Debian Linux. Bitcoin Core is the official Bitcoin Wallet from bitcoin.org. I will use the latest version from the GIT repository at bitcoin.org. In order to compile and run, Bitcoin Core depends on some other tools which must be installed prior to compiling :
How can I install PHP 5.4 in Debian 7.5 (Wheezy)? - YouTube
Debian 7 Wheezy Install Kurulumu Debian 7 Wheezy Debian 7 http://linuxisletimsistemleri.com. Debian GNU/Linux 7.4 "Wheezy" Install and overview The Universal Operating System [HD] - Duration: 7:47. Riba Linux 21,255 views. 7:47. Language: English Location: United States ... Unix & Linux: How to update Wine in Debian Wheezy? Helpful? Please support me on Patreon: https://www.patreon.com/roelvandepaar With thanks & praise to God, ... Unix & Linux: How to install ia32-libs in Debian Wheezy? Helpful? Please support me on Patreon: https://www.patreon.com/roelvandepaar With thanks & praise to... This video shows how easy it is to install and run Bitmessage on Debian 7.0 (Wheezy) Installation commands: apt-get install python openssl git python-qt4 git...