Compile Bitcoin Core from Source on Ubuntu - Bitzuma

[IDEA] [PROPOSAL] Monero Debian (deb) packages / Debian package repository deb.getmonero.org (I can do)

I have the skills to implement this if wanted.
Possible User Experience
This is a proposal, i.e. not implemented yet. Instructions for users, simplified.
How to install monero using apt-get
Download the repository signing key.
wget https://www.getmonero.org/monero.asc
Add the signing key.
sudo apt-key --keyring /etc/apt/trusted.gpg.d/monero.gpg add ~/monero.asc
Add APT repository.
echo "deb https://deb.getmonero.org buster main" | sudo tee /etc/apt/sources.list.d/monero.list
Update your package lists.
sudo apt-get update
Install monero.
sudo apt-get install monero
A few technical implementation details
I would simply grab the binaries provided by getmonero.org, download them, check software (gpg) signatures, put these into deb packages, add these to a repository, and upload the repository.
What I would not do is creating the binaries during package creation. While this is nice to have, it doesn't help user experience and blocks the progress on reaching this goal. See next chapter.
Why simply put the pre-build Monero binaries into a deb package?
1) After bitcoin existing for more than 10 years, being popular and being in Debian unstable (sid) it still never made its way into Debian testing, let alone stable. Reason being explained that a difference in underlying libraries (even just security fixes) during compilation may result in a network split. Binaries compiled during packaging on different versions of Linux distributions might have different libraries that might cause a network fork / chain split.
References:
(Note: above website saying Tags: fixed-upstream is probably a mistake as discussion at bottom says.)
2) The github issue of packaging monero stalled.
3) By shipping the same binaries as provided by getmonero.org reduces the chances of introducing a backdoor.
Many Options
Timeline
Doable quickly. The electrum (bitcoin) AppImage was recently added to a Debian package (binaries-freedom) by me and is now easily installable in Whonix. Pre-installed in testers version of Whonix already.
About Me
I am the founder of Whonix, which I am maintaining at present for more than 7 years.
Whonix (formerly TorBOX) is a Debian GNU/Linux–based security-focused Linux distribution. It aims to provide privacy, security and anonymity on the internet.
You can see an overview of packages I am maintaining on my github profile.
To proof that this forum account adrelanos corresponds the same person maintaining whonix.org, it is added here.
Questions
What happened to, what is the successor of the forum funding system?
submitted by adrelanos to Monero [link] [comments]

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:
Aimed-for Setup:
I'll post the guide in digestible sections...

Section 1

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!

Section 2

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:
CONF_SWAPSIZE=400 
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:
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--

Section 3

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:
./bitcoind -daemon -datadir=/BlockChain/chain20180414 -dbcache=400 -maxmempool=400 

Section 4

I try running Armory like this:
(I'm actually starting Armory from a script - StartArm.sh)
Inside the script StartArm.sh, it has the line:
python ArmoryQt.py --ram-usage=4 --satoshi-datadir=/BlockChain/chain20180414/blocks --datadir=/ArmoryDataDi --dbdir=/ArmoryDataDidatabases 
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
"free -h" 
I'd also be able to do a "sudo reboot now" if needed from here.

Section 5

So, trying to get my --ram-usage command recognised, I tried this line (added quotes):
python ArmoryQt.py --ram-usage="4" --satoshi-datadir=/BlockChain/chain20180414/blocks --datadir=/ArmoryDataDi --dbdir=/ArmoryDataDidatabases 
But no, same error...
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 

Section 6

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:)
python ArmoryQt.py --ram-usage="ABCDE" --thread-count="FGHIJ" --satoshi-datadir=/BlockChain/chain20180414/blocks --datadir=/ArmoryDataDi --dbdir=/ArmoryDataDidatabases 
(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:
"free -h" 

Section 7

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.

Section 8

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"!)
submitted by fartinator to Bitcoin [link] [comments]

Dogecoin on Linux - The Complete Beginner's Guide

I'm writing this because I couldn't find a single condensed guide on compiling the wallet and running mining software on linux, specficially Ubuntu/Linux Mint. I combed Bitcoin and Litecoin forums for similar problems I was running into and eventually got everything nailed down, so here it is in one place, for new Shibes.
If you want to make a Dogecoin directory in your downloads folder to keep things organized, you will need to modify these commands to refelct the change. So instead of going to ~/Downloads/ you will need to go to ~/Downloads/Dogecoin and be sure to put the zipped files there when you download them, but the commands will be the same otherwise.
cwayne18 put in the work to make a PPA for the QT client here.
Ubunutu/Mint/Debian users should be able to install the client with the following commands:
sudo add-apt-repository ppa:cwayne18/doge sudo apt-get update && sudo apt-get install dogecoin-qt 
To update using this method, run
sudo apt-get update && sudo apt-get upgrade dogecoin-qt 
Compiling the Wallet Manually
I suggest using the PPA above, but if you want to compile manually, here you go.
1)Download the newest source from here. If you want to check out the Github page, click here
2)Unzip the package with the native client OR, navigate to your downloads and unzip
cd ~/Downloads unzip dogecoin-master.zip 
3)Now it's time to compile. You will need to install the dependencies, just copy and paste the following code. It will be a fairly large download and could take some time. It is always important to update before installing any new software, so we'll do that first and then install the dependencies.
sudo apt-get update sudo apt-get upgrade sudo apt-get install libssl-dev libdb-dev libdb++-dev libqrencode-dev qt4-qmake libqtgui4 libqt4-dev sudo apt-get install libminiupnpc-dev libminiupnpc8 libboost-all-dev build-essential git libboost1.53-all-dev 
4)Once that is done, go to the doge-coin master directory and compile:
cd ~/Downloads/dogecoin-maste sed -i 's/-mgw46-mt-sd-1_53//g' dogecoin-qt.pro qmake USE_UPNP=- USE_QRCODE=0 USE_IPV6=0 make -j3 
After running the qmake command you will likely see some text similar to
Project MESSAGE: Building without UPNP support Project MESSAGE: Building with UPNP supportRemoved plural forms as the target language has less forms. If this sounds wrong, possibly the target language is not set or recognized. 
It's perfectly normal, so don't worry about that.
Your Dogewallet is ready to go! The executable is in ~/Downloads/dogecoin-maste and called dogecoin-qt. Your wallet information is in ~/.dogecoin. You can run the wallet at any time by opening terminal and typing
cd ~/Downloads/dogecoin-maste ./dogecoin-qt 
Future upgrades to dogewallet are easy. Back up your wallet.dat, and simply follow the same directions above, but you'll be unzipping and building the newer version. You will likely need to rename the old dogecoin-master directory in ~/Downloads before unzipping the newest version and building. Also, it is likely that you will not need to install the dependencies again.
Alternate Method For Installing Dogecoin Wallet from Nicebreakfast
After installing the dependencies listed in step 3, open terminal, then navigate to where you want Dogecoin Wallet stored and run:
git clone https://github.com/dogecoin/dogecoin ./autogen.sh ./configure make 
then when the wallet is updated just run
git pull 
from the dogecoin directory.
GPU Mining
GPU mining requires CGminer. My suggestion is to get the executable already built. The creator of cgminer has removed the built file from his website, but I've uploaded it here
sudo apt-get install pkg-config opencl-dev libcurl4-openssl-dev autoconf libtool automake m4 ncurses-dev cd ~/Downloads tar -xvf cgminer-3.7.2-x86_64-built.tar.bz2 
Don't use anything newer than 3.7.2. The newer versions of CGMiner don't support GPU mining.
That's it! You have cgminer ready to go! You will run cgminer with the following syntax
cd ~/Downloads/cgminer-3.7.2-x86_64-built/ ./cgminer --scrypt -o stratum+tcp://SERVERNAME:PORT -u WORKER.ID -p PASS 
A good guide for fine tuning cgminer can be found here; follow the litecoin example.
EDIT
I had trouble getting cgminer running with a single line command, but running it via an executable .sh file works. This is covered in the cgminer setup guide I posted above but I'll put it here too. In the same directory that has the cgminer executable, you need to make a file called cgminer.sh and make it executable. It should contain the follwing:
export GPU_USE_SYNC_OBJECTS=1 export GPU_MAX_ALLOC_PERCENT=100 export DISPLAY=:0 find *.bin -delete sleep 5 ./cgminer 
Then you can call cgminer in terminal by doing ./cgminer.sh You will need a cgminer.conf file containing all your options. All of this is covered in the guide that is linked above.
A quick note about AMD drivers: They used to be a huge PITA to install and get working, but the newest Catalyst drivers are great. There's a GUI installer, everything works out of the box, and there is a lot of documentation. You can download them here: AMD Catalyst 14.6 Beta Linux
CPU Mining
For CPU mining I use minerd because it doesn't require any work to get running, simply download it and get to work. Download the built file for your machine 32-bit or 64-bit, and then unzip it and you're ready to go!
cd ~/Downloads tar -xvf pooler-cpuminer-2.3.2-linux-x86.tar.gz 
The executable is called minerd and it will be in ~/Downloads but you can move it to wherever you like. To run it, pull up terminal and do
cd ~/Downloads minerd --url=stratum+tcp://SERVER:PORT --userpass=USERNAME.WORKERNAME:WORKERPASSWORD 
You're done! Happy mining!
Common Issues
I ran into this and I've seen others with this problem as well. Everything installs fine but there is a shared library file that isn't where it should be. In fact, it isn't there at all.
 libudev.so.1: cannot open shared object file: No such file or directory 
In terminal, do
sudo updatedb locate libudev.so.0.13.0 
And it will probably return a path /lib/x86_64-linux-gnu. Inside that directory there's a library file called libudev.so.0.13.0. You'll need to make a symlink (aka shortcut) that links libudev.so.1 to libudev.so.0.13.0 So, assuming you're working with libudev.so.0.13.0 do this
cd /lib/x86_64-linux-gnu sudo ln -s libudev.so.0.13.0 libudev.so.1 
Now if you do
ln -l 
You should see
libudev.so.1 -> ./libudev.so.0.13.0 
Meaning you've made the symlink. Also, the text for libudev.so.1 will be blue.
submitted by Boozybrain to dogecoin [link] [comments]

Homelab collective ressources post!

Hey guys!
I'm fairly new to this sub and to having a home lab in general and I found this community to be so kind and helping, I wanted to give back what I've learned. I'm seeing a lot of questions asked around on improvements and on what to do with x extra hardware so I thought it would be nice to have a thread to regroup that.
 
I'll put here some stuff I gathered and the most common questions I've seen, feel free to contribute and i'll update the post along.
 
Latest Additions
 
Homelab Dashboard
Posts about dashboards have been growing lately and here are some of the best that were kind enough to provide us with their sources.
User Screenshot Source
yours truly http://imgur.com/a/GhCNH https://github.com/Gabisonfire/dashboard-q
lastditchefrt http://i.imgur.com/5zQdao4.png https://github.com/d4rk22/Network-Status-Page
_SleepingBag_ http://i.imgur.com/Ql9ZM4W.png https://github.com/jsank/homelabdash
NiknakSi https://niknak.org/extras/sysinfo TBA
DainBramaged http://imgur.com/jYNlUEQ https://github.com/gordonturneBigBoard
michaelh4u https://i.imgur.com/XkZwMKj.png https://github.com/michaelh4u/homelabfrontpage
spigotx http://imgur.com/a/1zMht https://github.com/spigotx/HomeLab2
SirMaster https://nicko88.com/ https://github.com/dashbad/plex-server-status
yourofl10 http://imgur.com/a/AyROa TBA
TheBobWiley http://imgur.com/a/oU6d3 https://github.com/TheBobWiley/ManageThis-LandingPages
0110010001100010 http://i.imgur.com/iwtQcsL.jpg https://github.com/danodemano/monitoring-scripts
mescon & SyNiK4L https://i.imgur.com/gqdVM6p.jpg https://github.com/mescon/Muximux
ak_rex http://i.imgur.com/a/RJkrT https://github.com/ak-rex/homelab-dashboard
 
Or build yours from scratch: PRTG API, ELK, Grafana, freeboard, JumpSquares
 
Some other resources: Custom Monitoring Scripts by 0110010001100010
 
Credits to apt64 for his original post
= Pi specific =
 
= Download Automation =
 
= Virtualization =
 
= Monitoring =
 
= Media Center =
 
= Remote access =
 
= VOIP =
 
= Networking =
 
= File Servers/Storage/RAID =
 
= Cameras =
 
= Documentation =
 
= Dynamic DNS =
 
= Backup =
 
= Creating network diagrams =
 
= Guides =
 
= Misc =
 
That's all I could come up with on top of my head + some research, passing over to you guys so we can get a nice complete list!
 
Let's try and stick with free(or mostly) softwares, let me know if you guys feel otherwise.
submitted by Gabisonfire to homelab [link] [comments]

[Reupload][Tutorial] Install Armory Wallet 0.96.4 on Fedora Workstation 29

note: I had to reupload this because reddit is banning my original account for no reason. I appealed but I thought maybe someone wanted to have this content online.
Armory is a very cool open source bitcoin wallet for the power user. You can do neat things with it, read here: https://www.bitcoinarmory.com/
Disclaimer: follow these steps at your own risk. I am not responsible for any damage / loss of funds you might face for following or not following correctly my instructions here. I may have made a typo somewhere or be wrong so do your own research and learn for yourself what I am doing at each step, and what consequences may have for you, at your own risk. These instructions may be wrong somewhere. It worked for me, it doesn't mean it has to work for you.
Requirements for this tutorial:
We are going to build the code from source.
Install dependencies.
I followed these instructions to find the equivalent Fedora packages:
Open the terminal app and run this command:
sudo dnf install git nano qt qt-devel python-devel libtool pyqt4 pyqt4-devel lmdb swig 
And more python packages that I had to install:
sudo pip install twisted qt4reactor psutil 
Importing the signing key to verify the software
Install KGPG to easily manage keys.
sudo dnf install kgpg 
Go to
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8C5211764922589A
and copy paste the code below the title from
-----BEGIN PGP PUBLIC KEY BLOCK-----
to
-----END PGP PUBLIC KEY BLOCK-----
both included. Then open KGPG from terminal with
kgpg -k 
and click 'Import Key...' > Clipboard > Ok . You should see a confirmation message. Double check the info and close the dialog.
Repeat the process with this other key:
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA4FC919E85C595BA
You can verify both keys are mentioned at the Armory webpage.
Clone and compile the code plus some edits
Before, we installed some dependencies that are named differently than the equivalent Ubuntu/Debian package specified at the Armory documentation. The build process fails for Fedora as the name for the dependency during checks won't match the Fedora version. There's this pull request addressing that, but the code is not part of any release yet.
So the fastest workaround (maybe a bit dirty) was to edit the build config file and correct the name for my Fedora install. Let's begin.
Clone the Armory repository
git clone https://github.com/goatpig/BitcoinArmory.git 
Enter the BitcoinArmory dir
cd BitcoinArmory 
Switch to release code
git checkout 'v0.96.4' 
Verify commit signature
git tag -v 'v0.96.4' 
you should see the following message:
> object fee1f91a3137ef1056e15cc606a186b0e508f84c > type commit > tag v0.96.4 > tagger goatpig  1522530739 +0200 > > v0.96.4 > gpg: Signature made Sat 31 Mar 2018 11:12:19 PM CEST > gpg: using RSA key 8C5211764922589A > gpg: Good signature from "goatpig (Offline signing key for Armory releases) " > gpg: WARNING: This key is not certified with a trusted signature! > gpg: There is no indication that the signature belongs to the owner. > Primary key fingerprint: 745D 707F BA53 968B DF63 AA8D 8C52 1176 4922 589A 
if it looks the same, everything is ok.
Edit the file 'Makefile' file with
gedit Makefile 
And click the three dot menu > Find and Replace...
Configure the options as follows:
https://i.imgur.com/hpS01Kd.png
Click Replace All and close.
Go back to the terminal and run the following commands in order from inside the BitcoinArmory dir. Wait for the previous one to finish before running the next one:
./autogen.sh 
...
./configure 
...
make 
if everything finishes without error you are all done! Run this to start Armory:
python ./ArmoryQt.py 
you are all set. Please let me know if I missed something.
submitted by RedditShadowbangedMe to Bitcoin [link] [comments]

[Tutorial] Install Armory Wallet 0.96.4 on Fedora Workstation 29

Armory is a very cool open source bitcoin wallet for the power user. You can do neat things with it, read here: https://www.bitcoinarmory.com/
Disclaimer: follow these steps at your own risk. I am not responsible for any damage / loss of funds you might face for following or not following correctly my instructions here. I may have made a typo somewhere or be wrong so do your own research and learn for yourself what I am doing at each step, and what consequences may have for you, at your own risk. These instructions may be wrong somewhere. It worked for me, it doesn't mean it has to work for you.
Requirements for this tutorial:
We are going to build the code from source.
Install dependencies.
I followed these instructions to find the equivalent Fedora packages:
Open the terminal app and run this command:
sudo dnf install git nano qt qt-devel python-devel libtool pyqt4 pyqt4-devel lmdb swig 
And more python packages that I had to install:
sudo pip install twisted qt4reactor psutil 
Importing the signing key to verify the software
Install KGPG to easily manage keys.
sudo dnf install kgpg 
Go to
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8C5211764922589A
and copy paste the code below the title from
-----BEGIN PGP PUBLIC KEY BLOCK-----
to
-----END PGP PUBLIC KEY BLOCK-----
both included. Then open KGPG from terminal with
kgpg -k 
and click 'Import Key...' > Clipboard > Ok . You should see a confirmation message. Double check the info and close the dialog.
Repeat the process with this other key:
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA4FC919E85C595BA
You can verify both keys are mentioned at the Armory webpage.
Clone and compile the code plus some edits
Before, we installed some dependencies that are named differently than the equivalent Ubuntu/Debian package specified at the Armory documentation. The build process fails for Fedora as the name for the dependency during checks won't match the Fedora version. There's this pull request addressing that, but the code is not part of any release yet.
So the fastest workaround (maybe a bit dirty) was to edit the build config file and correct the name for my Fedora install. Let's begin.
Clone the Armory repository
git clone https://github.com/goatpig/BitcoinArmory.git 
Enter the BitcoinArmory dir
cd BitcoinArmory 
Switch to release code
git checkout 'v0.96.4' 
Verify commit signature
git tag -v 'v0.96.4' 
you should see the following message:
> object fee1f91a3137ef1056e15cc606a186b0e508f84c > type commit > tag v0.96.4 > tagger goatpig  1522530739 +0200 > > v0.96.4 > gpg: Signature made Sat 31 Mar 2018 11:12:19 PM CEST > gpg: using RSA key 8C5211764922589A > gpg: Good signature from "goatpig (Offline signing key for Armory releases) " > gpg: WARNING: This key is not certified with a trusted signature! > gpg: There is no indication that the signature belongs to the owner. > Primary key fingerprint: 745D 707F BA53 968B DF63 AA8D 8C52 1176 4922 589A 
if it looks the same, everything is ok.
Edit the file 'Makefile' file with
gedit Makefile 
And click the three dot menu > Find and Replace...
Configure the options as follows:
https://i.imgur.com/hpS01Kd.png
Click Replace All and close.
Go back to the terminal and run the following commands in order from inside the BitcoinArmory dir. Wait for the previous one to finish before running the next one:
./autogen.sh 
...
./configure 
...
make 
if everything finishes without error you are all done! Run this to start Armory:
python ./ArmoryQt.py 
you are all set. Please let me know if I missed something.
edit: cd git dir.
submitted by AmbitiousSpeed0 to Bitcoin [link] [comments]

Easy UASF Node in Debian VM tutorial

So if you have a moderately powerful gaming desktop with a Quad-Core CPU like an i5 or better and 8+GB of RAM, you can easily run your own little UASF node in the background. Once it's done syncing with the network, you won't even notice it's there. Here's how.
You will need :
The following assumes you know how to install Linux in a Virtual Machine
Step I. - Installation. Go through expert install and set up a base system with only ssh server enabled. For partitioning, you can do just one big disk and everything in one partition, but if you happen to have a computer that has both SSD's and HDD's, it would be optimal to create two virtual disks and use a small one for the OS on the SSD and a larger one on the HDD in a custom mount point for the blockchain. Reboot and ssh into the server.
Step II. - Build requirements. A few things need to be taken care of. First, you'll want to edit the /etc/network/interfaces file and set up a static IP. Once that's done, stop by your router and make sure that traffic on port 8333 is forwarded to your debian VM. Then, install some packages we need :
apt update apt upgrade apt install build-essential autoconf libssl-dev libboost-dev libboost-chrono-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libevent-dev git libtool pkg-config 
The next one is a bit more annoying. We need Berkeley DB 4.8, and it's a little old. It's packages are in the Debian Squeeze archives, so in the /etc/apt/sources.list file, we need to add :
deb http://archive.debian.org/debian/ squeeze main 
Then remember to update again, and install the thing :
apt install libdb4.8++-dev libdb4.8-dev 
If you intend to also throw on xorg and a UI, you will want Qt as well. Otherwise skip this last step.
install libqt4-dev libprotobuf-dev protobuf-compiler libqrencode-dev 
Step III. - Build time
#Starting from /home/yourUser git clone https://github.com/UASF/bitcoin.git -b 0.14-BIP148 cd bitcoin ./autogen.sh ./configure make make install 
That's it! Well, mostly. Start it with
bitcoind -daemon -disablewallet -datadir=/whereveyou/want/youblockchain 
...and wait about thirty hours to sync with the network. You may want to visit the /whereveyou/want/youblockchain directory and create a permanent bitcoin.conf in there. To enable RPC calls to the server and get it to accept bitcoin-cli commands you'll want to use it to create a usepassword and copy that to your user's /.bitcoin/bitcoin.conf.
Minimal bitcoin.conf example
daemon=1 listen=1 disablewallet=1 server=1 rpcuser=bob rpcpassword=bob's password 
Security I recommend you disable password login and use private key authentication only on ssh, and also restrict iptables rules to the bare minimum that must be allowed for this application. You will need this in your iptables script :
# Allows BITCOIN traffic from anywhere -A INPUT -p tcp --dport 8333 -j ACCEPT # Allows RPC calls to the bitcoin server from localhost -A INPUT -p tcp -s 127.0.0.1 --dport 8332 -j ACCEPT 
Useful ressources :
submitted by the_bolshevik to Bitcoin [link] [comments]

fakd: The FAK Anywhere CLI Client & Server

These are new clients to support servers and devices that are not able to run FakeCoin-qt.
They should work on everything from a MIPS router to an IBM mainframe and anything in between.

Commands

$ fakd

Full node server.walletfunctionalitysoldseparately.
This has been used as the backend for the block explorer from day one.
Stable. Secure. Easy to set up. Supports JSON-RPC and WebSockets.

$ fakctl

Provides an easy way to query the fakd server using the same commands as the RPC console in FakeCoin-qt.
$ fakctl getmininginfo
{
"blocks": 17675,
"currentblocksize": 520,
"currentblockweight": 2080,
"currentblocktx": 1,
"difficulty": 467.80165986,
"errors": "",
"generate": false,
"genproclimit": 12,
"hashespersec": 0,
"networkhashps": 3667939,
"pooledtx": 0,
"testnet": false
}

$ fakwallet

Work in progress. Once finished can be a drop in replacement for fakecoind.

Install

Step 1: Get a Go compiler

Step 2: Install fakd & fakctrl

go get -u fakco.in/fakd/...

Step 3: There is no step 3

The compiled binaries should now be in $GOPATH/bin ready to use.

Cross Compiling

Linux Server

GOOS=linux GOARCH=amd64 go install fakco.in/fakd/...

Raspberry Pi

GOOS=linux GOARCH=arm GOARM=5 go install fakco.in/fakd/...

My local FreeNAS because why not.

GOOS=freebsd GOARCH=amd64 go install fakco.in/fakd/...

Windows XP? Pentium 4? What? Why? ok...

GOOS=windows GOARCH=386 go go install fakco.in/fakd/...
submitted by Valken32 to FakeCoin [link] [comments]

GitHub code resources and online reading/tutorials

I've compiled a list of resources that are available on github as well as online reading resources and tutorials. Some of them you've probably seen like the Bitcoin source code or the Satoshi white paper, but I'm sure there are many that some people have not seen. The last link on the list leads to another github page that has a large list of resources available around github and the web.
Github resources:
Bitcoin Core integration/staging tree in C++
Litecoin source tree
Original Bitcoin-Qt repository
Bitcoinj: A library for working with Bitcoin
NBitcoin: A Comprehensive Bitcoin library for the .NET framework
Libbitcoin: Bitcoin Cross-Platform C++ Development Toolkit
SX - command line Bitcoin to empower the sysadmin
cBitcoin: A low-level bitcoin library written in standard C
Bitcoin implementation written in Go (golang)
Haskell implementation of the Bitcoin specifications
Bitcoin-related functions implemented in pure JavaScript
Bitcoin utils and protocol in ruby
Bitcointools: Python-based tools for Bitcoin cryptocurrency
Bitcore: A pure and powerful JavaScript Bitcoin library
Bitcoin library for PHP
Pycoin: Python-based Bitcoin and alt-coin utility library
CoreBitcoin: Bitcoin toolkit for ObjC and Swift
Explanations and Tutorials:
Bitcoin white paper by Satoshi Nakamoto
Online version of Mastering Bitcoin by Andreas M. Antonopoulos
Bitcoin Developer Guide
A developer-oriented series about Bitcoin by Davide De Rosa
A Complete Beginners Guide to Blockchain Technology
Developer’s Introduction to Bitcoin by Vitalik Buterin
How Bitcoin Works Under the Hood by Scott Driscoll
Bitcoins the hard way: Using the raw Bitcoin protocol by Ken Shirriff
How to Parse the Bitcoin BlockChain by John Ratcliff
Litecoin Developer Website
Compiling the Litecoin daemon from source on Debian
How To Clone Scrypt Based Altcoins for Fun and Profit
More: Programming Bitcoin Reading List and Projects
submitted by nativeofspace to blockchainprogramming [link] [comments]

Linux guide for the QT-wallet

Compiling Linux guide: (daemon + qt-client)
Download source from (zip): https://drive.google.com/file/d/0B7NofUy_zw7SVlpEMzJvZ01aOE0/edit?usp=sharing
Compiling process:
unzip sources-panda01.zip && sudo chmod -R 777 sources-panda01 cd sources-panda01/src/leveldb && sudo su && ./build_detect_platform build_config.mk ./ && cd .. && exit && make -f makefile.unix
For debian/ubuntu: sudo apt-get install qt4-dev-tools qt4-qmake
Now, let's build the qt wallet client
sed -i 's/-mgw46-mt-sd-1_53//g' bitcoin-qt.pro && qmake USE_UPNP=- USE_QRCODE=0 USE_IPV6=0 && make -j3
And now, just run the wallet :)
./pandacoin-qt
Official thread: https://bitcointalk.org/index.php?topic=399127.0
submitted by megadeth92 to pandacoin [link] [comments]

Programming Bitcoin-qt using the RPC api (1 of 6) 4. Installing Bitcoin Core on Linux CryptoCurrency Altcoin Creation using Windows Enviroment Compile Bitcoin's source code (0.13) Compiling Bitcoin Core Source Code - 2017 debian/ubuntu/linux

In order to compile and run, Bitcoin Core depends on some other tools which must be installed prior to compiling : ... For bitcoin-qt (graphical interface) If you want the graphical frontend, also install the following dependencies. If you just want bitcoind, you can skip this step. sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler libqrencode-dev Installing Berkeley DB 4.8 ... When i am trying to compile bitcoin-qt 0.8.0 I am getting g++ -c -pipe -fstack-protector-all -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -DQT_GUI -DBOOST_THR... For bitcoin-core For bitcoin-qt (graphical interface) Installing Berkeley DB 4.8 1.Change the sources.list to use squeeze repositories 2.Now you can install Berkeley DB version 4.8 (libdb4.8) Downloading and Compiling Bitcoin Core Configure the system for compilation Compile Installing and Running Bitcoin Core Extra Do you want to use Bitcoin ... After struggeling with the dependencies for a while, I finally managed to compile Bitcoin-Qt on my Ubuntu machine. I used the following commandos for compiling: ./autogen.sh ./configure -with-gui ... 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 : Install some dependencies:

[index] [32776] [20186] [25303] [4468] [29038] [40517] [31358] [38866] [39425] [48629]

Programming Bitcoin-qt using the RPC api (1 of 6)

Bitcoin Trading for Beginners ... Mineable 258,738 views. 22:12. Compiling Bitcoin Core Source Code - 2017 debian/ubuntu/linux with Music - Duration: 23:33. Bilal Haider 5,971 views. 23:33 ... This video Shows how to Compile Bitcoin Source Code on Linux operating systems. it covers almost everything on how to compile bitcoin source code. Build Bitc... This short video shows how to compile the bitcoin source code on linux (ubunu). an easy task to do but it take some time (around 15 min) please read the instruction in the official github https ... sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install bitcoin-qt bitcoind Linux terminal new stuff: clear, ll, cd, touch, echo, cat, shutdown www.bitcoinhackers.org How to run Bitcoin-qt as a server with a configuration file (3 of 6) - Duration: 5:48. Lars Holdgaard 11,060 views. 5:48. How To Build Raw Bitcoin Transactions in NodeJS - Duration: 16:57 ...

#