BITCOIN MINING LINUX DEBIAN – lucoodober

contrib/debian/bitcoin-qt.install

submitted by Smallyen1986 to u/Smallyen1986 [link] [comments]

contrib/debian/bitcoin-qt.install

submitted by Smallyen1986 to u/Smallyen1986 [link] [comments]

[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]

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]

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]

[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]

Has anyone been able to export private keys from Armory?

Hi everyone,
I am super pissed but I am going to try and keep it low key. I have a wallet that I saved in Armory years ago, and I want to move coins from it now. I had looked online a few months ago, and it said that I could export the private keys from Armory and sweep them into Electrum.
Well, today I tried it in both Armory 1.35 on Windows and the latest version on Linux. It doesn't work at all.
You can open a window after choosing to backup individual keys, and there are checkboxes there for all the different types of keys you could want, but checking and unchecking them DOES NOTHING.
All you can get is the Armory backup string for the wallet. That you already have, if you have restored the wallet from a paper backup.
Time to download all 120Gb of the blockchain I guess. Has anyone ever exported private keys from Armory? Am I doing something wrong?
Thanks.
Edit: PSA: Armory does not work at all on a fresh Ubuntu 17 install. It just fails silently and doesn't install. Neither does it work on MacOS El Capitan. On Debian 8, not all of the dependencies are installed properly during installation. I'm afraid to update my Windows copy now.
Edit: Bit the bullet and did it. Got it working on Ubuntu and found out that you have to start bitcoind in the background and play with some Armory settings to get it to run, then downloaded the whole thing from bitcoin-qt. Turns out I was right - Armory doesn't know the private keys until after it has downloaded the whole blockchain. And spent an hour chewing through transactions. AND you've restarted it twice. But I finally got them. Thanks everyone!
submitted by nkvjhi76897yeriu32gr 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]

Bitcoin Core 0.10.0 released | Wladimir | Feb 16 2015

Wladimir on Feb 16 2015:
Bitcoin Core version 0.10.0 is now available from:
https://bitcoin.org/bin/0.10.0/
This is a new major version release, bringing both new features and
bug fixes.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
The whole distribution is also available as torrent:
https://bitcoin.org/bin/0.10.0/bitcoin-0.10.0.torrent
magnet:?xt=urn:btih:170c61fe09dafecfbb97cb4dccd32173383f4e68&dn;=0.10.0&tr;=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr;=udp%3A%2F%2Fopen.demonii.com%3A1337&ws;=https%3A%2F%2Fbitcoin.org%2Fbin%2F
Upgrading and downgrading

How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrading warning
Because release 0.10.0 makes use of headers-first synchronization and parallel
block download (see further), the block files and databases are not
backwards-compatible with older versions of Bitcoin Core or other software:
  • Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
  • The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
Notable changes

Faster synchronization
Bitcoin Core now uses 'headers-first synchronization'. This means that we first
ask peers for block headers (a total of 27 megabytes, as of December 2014) and
validate those. In a second stage, when the headers have been discovered, we
download the blocks. However, as we already know about the whole chain in
advance, the blocks can be downloaded in parallel from all available peers.
In practice, this means a much faster and more robust synchronization. On
recent hardware with a decent network link, it can be as little as 3 hours
for an initial full synchronization. You may notice a slower progress in the
very first few minutes, when headers are still being fetched and verified, but
it should gain speed afterwards.
A few RPCs were added/updated as a result of this:
  • getblockchaininfo now returns the number of validated headers in addition to
the number of validated blocks.
  • getpeerinfo lists both the number of blocks and headers we know we have in
common with each peer. While synchronizing, the heights of the blocks that we
have requested from peers (but haven't received yet) are also listed as
'inflight'.
  • A new RPC getchaintips lists all known branches of the block chain,
including those we only have headers for.
Transaction fee changes
This release automatically estimates how high a transaction fee (or how
high a priority) transactions require to be confirmed quickly. The default
settings will create transactions that confirm quickly; see the new
'txconfirmtarget' setting to control the tradeoff between fees and
confirmation times. Fees are added by default unless the 'sendfreetransactions'
setting is enabled.
Prior releases used hard-coded fees (and priorities), and would
sometimes create transactions that took a very long time to confirm.
Statistics used to estimate fees and priorities are saved in the
data directory in the fee_estimates.dat file just before
program shutdown, and are read in at startup.
New command line options for transaction fee changes:
  • -txconfirmtarget=n : create transactions that have enough fees (or priority)
so they are likely to begin confirmation within n blocks (default: 1). This setting
is over-ridden by the -paytxfee option.
  • -sendfreetransactions : Send transactions as zero-fee transactions if possible
(default: 0)
New RPC commands for fee estimation:
  • estimatefee nblocks : Returns approximate fee-per-1,000-bytes needed for
a transaction to begin confirmation within nblocks. Returns -1 if not enough
transactions have been observed to compute a good estimate.
  • estimatepriority nblocks : Returns approximate priority needed for
a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
enough free transactions have been observed to compute a good
estimate.
RPC access control changes
Subnet matching for the purpose of access control is now done
by matching the binary network address, instead of with string wildcard matching.
For the user this means that -rpcallowip takes a subnet specification, which can be
  • a single IP address (e.g. 1.2.3.4 or fe80::0012:3456:789a:bcde)
  • a network/CIDR (e.g. 1.2.3.0/24 or fe80::0000/64)
  • a network/netmask (e.g. 1.2.3.4/255.255.255.0 or fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
An arbitrary number of -rpcallow arguments can be given. An incoming connection will be accepted if its origin address
matches one of them.
For example:
| 0.9.x and before | 0.10.x |
|--------------------------------------------|---------------------------------------|
| -rpcallowip=192.168.1.1 | -rpcallowip=192.168.1.1 (unchanged) |
| -rpcallowip=192.168.1.* | -rpcallowip=192.168.1.0/24 |
| -rpcallowip=192.168.* | -rpcallowip=192.168.0.0/16 |
| -rpcallowip=* (dangerous!) | -rpcallowip=::/0 (still dangerous!) |
Using wildcards will result in the rule being rejected with the following error in debug.log:
 Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). 
REST interface
A new HTTP API is exposed when running with the -rest flag, which allows
unauthenticated access to public node data.
It is served on the same port as RPC, but does not need a password, and uses
plain HTTP instead of JSON-RPC.
Assuming a local RPC server running on port 8332, it is possible to request:
In every case, EXT can be bin (for raw binary data), hex (for hex-encoded
binary) or json.
For more details, see the doc/REST-interface.md document in the repository.
RPC Server "Warm-Up" Mode
The RPC server is started earlier now, before most of the expensive
intialisations like loading the block index. It is available now almost
immediately after starting the process. However, until all initialisations
are done, it always returns an immediate error with code -28 to all calls.
This new behaviour can be useful for clients to know that a server is already
started and will be available soon (for instance, so that they do not
have to start it themselves).
Improved signing security
For 0.10 the security of signing against unusual attacks has been
improved by making the signatures constant time and deterministic.
This change is a result of switching signing to use libsecp256k1
instead of OpenSSL. Libsecp256k1 is a cryptographic library
optimized for the curve Bitcoin uses which was created by Bitcoin
Core developer Pieter Wuille.
There exist attacks[1] against most ECC implementations where an
attacker on shared virtual machine hardware could extract a private
key if they could cause a target to sign using the same key hundreds
of times. While using shared hosts and reusing keys are inadvisable
for other reasons, it's a better practice to avoid the exposure.
OpenSSL has code in their source repository for derandomization
and reduction in timing leaks that we've eagerly wanted to use for a
long time, but this functionality has still not made its
way into a released version of OpenSSL. Libsecp256k1 achieves
significantly stronger protection: As far as we're aware this is
the only deployed implementation of constant time signing for
the curve Bitcoin uses and we have reason to believe that
libsecp256k1 is better tested and more thoroughly reviewed
than the implementation in OpenSSL.
[1] https://eprint.iacr.org/2014/161.pdf
Watch-only wallet support
The wallet can now track transactions to and from wallets for which you know
all addresses (or scripts), even without the private keys.
This can be used to track payments without needing the private keys online on a
possibly vulnerable system. In addition, it can help for (manual) construction
of multisig transactions where you are only one of the signers.
One new RPC, importaddress, is added which functions similarly to
importprivkey, but instead takes an address or script (in hexadecimal) as
argument. After using it, outputs credited to this address or script are
considered to be received, and transactions consuming these outputs will be
considered to be sent.
The following RPCs have optional support for watch-only:
getbalance, listreceivedbyaddress, listreceivedbyaccount,
listtransactions, listaccounts, listsinceblock, gettransaction. See the
RPC documentation for those methods for more information.
Compared to using getrawtransaction, this mechanism does not require
-txindex, scales better, integrates better with the wallet, and is compatible
with future block chain pruning functionality. It does mean that all relevant
addresses need to added to the wallet before the payment, though.
Consensus library
Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
The purpose of this library is to make the verification functionality that is
critical to Bitcoin's consensus available to other applications, e.g. to language
bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
alternative node implementations.
This library is called libbitcoinconsensus.so (or, .dll for Windows).
Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
In its initial version the API includes two functions:
  • bitcoinconsensus_verify_script verifies a script. It returns whether the indicated input of the provided serialized transaction
correctly spends the passed scriptPubKey under additional constraints indicated by flags
  • bitcoinconsensus_version returns the API version, currently at an experimental 0
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
for existing methods should remain stable.
Standard script rules relaxed for P2SH addresses
The IsStandard() rules have been almost completely removed for P2SH
redemption scripts, allowing applications to make use of any valid
script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
While the Bitcoin protocol has always supported these types of script,
actually using them on mainnet has been previously inconvenient as
standard Bitcoin Core nodes wouldn't relay them to miners, nor would
most miners include them in blocks they mined.
bitcoin-tx
It has been observed that many of the RPC functions offered by bitcoind are
"pure functions", and operate independently of the bitcoind wallet. This
included many of the RPC "raw transaction" API functions, such as
createrawtransaction.
bitcoin-tx is a newly introduced command line utility designed to enable easy
manipulation of bitcoin transactions. A summary of its operation may be
obtained via "bitcoin-tx --help" Transactions may be created or signed in a
manner similar to the RPC raw tx API. Transactions may be updated, deleting
inputs or outputs, or appending new inputs and outputs. Custom scripts may be
easily composed using a simple text notation, borrowed from the bitcoin test
suite.
This tool may be used for experimenting with new transaction types, signing
multi-party transactions, and many other uses. Long term, the goal is to
deprecate and remove "pure function" RPC API calls, as those do not require a
server round-trip to execute.
Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
key and script operations easily accessible via command line.
Mining and relay policy enhancements
Bitcoin Core's block templates are now for version 3 blocks only, and any mining
software relying on its getblocktemplate must be updated in parallel to use
libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
If you are solo mining, this will affect you the moment you upgrade Bitcoin
Core, which must be done prior to BIP66 achieving its 951/1001 status.
If you are mining with the stratum mining protocol: this does not affect you.
If you are mining with the getblocktemplate protocol to a pool: this will affect
you at the pool operator's discretion, which must be no later than BIP66
achieving its 951/1001 status.
The prioritisetransaction RPC method has been added to enable miners to
manipulate the priority of transactions on an individual basis.
Bitcoin Core now supports BIP 22 long polling, so mining software can be
notified immediately of new templates rather than having to poll periodically.
Support for BIP 23 block proposals is now available in Bitcoin Core's
getblocktemplate method. This enables miners to check the basic validity of
their next block before expending work on it, reducing risks of accidental
hardforks or mining invalid blocks.
Two new options to control mining policy:
  • -datacarrier=0/1 : Relay and mine "data carrier" (OP_RETURN) transactions
if this is 1.
  • -datacarriersize=n : Maximum size, in bytes, we consider acceptable for
"data carrier" outputs.
The relay policy has changed to more properly implement the desired behavior of not
relaying free (or very low fee) transactions unless they have a priority above the
AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
BIP 66: strict DER encoding for signatures
Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
consensus rule, which prohibits non-DER signatures. Such transactions have been
non-standard since Bitcoin v0.8.0 (released in February 2013), but were
technically still permitted inside blocks.
This change breaks the dependency on OpenSSL's signature parsing, and is
required if implementations would want to remove all of OpenSSL from the
consensus code.
The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
sequence of 1001 blocks have version number 3 or higher, the new consensus
rule becomes active for those blocks. When 951 out of a sequence of 1001
blocks have version number 3 or higher, it becomes mandatory for all blocks.
Backward compatibility with current mining software is NOT provided, thus miners
should read the first paragraph of "Mining and relay policy enhancements" above.
0.10.0 Change log

Detailed release notes follow. This overview includes changes that affect external
behavior, not code moves, refactors or string updates.
RPC:
  • f923c07 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
  • b641c9c Fix addnode "onetry": Connect with OpenNetworkConnection
  • 171ca77 estimatefee / estimatepriority RPC methods
  • b750cf1 Remove cli functionality from bitcoind
  • f6984e8 Add "chain" to getmininginfo, improve help in getblockchaininfo
  • 99ddc6c Add nLocalServices info to RPC getinfo
  • cf0c47b Remove getwork() RPC call
  • 2a72d45 prioritisetransaction
  • e44fea5 Add an option -datacarrier to allow users to disable relaying/mining data carrier transactions
  • 2ec5a3d Prevent easy RPC memory exhaustion attack
  • d4640d7 Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
  • 83f3543 Added argument to listaccounts to include watchonly addresses
  • 952877e Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
  • d7d5d23 Added argument to listtransactions and listsinceblock to include watchonly addresses
  • f87ba3d added includeWatchonly argument to 'gettransaction' because it affects balance calculation
  • 0fa2f88 added includedWatchonly argument to listreceivedbyaddress/...account
  • 6c37f7f getrawchangeaddress: fail when keypool exhausted and wallet locked
  • ff6a7af getblocktemplate: longpolling support
  • c4a321f Add peerid to getpeerinfo to allow correlation with the logs
  • 1b4568c Add vout to ListTransactions output
  • b33bd7a Implement "getchaintips" RPC command to monitor blockchain forks
  • 733177e Remove size limit in RPC client, keep it in server
  • 6b5b7cb Categorize rpc help overview
  • 6f2c26a Closely track mempool byte total. Add "getmempoolinfo" RPC
  • aa82795 Add detailed network info to getnetworkinfo RPC
  • 01094bd Don't reveal whether password is <20 or >20 characters in RPC
  • 57153d4 rpc: Compute number of confirmations of a block from block height
  • ff36cbe getnetworkinfo: export local node's client sub-version string
  • d14d7de SanitizeString: allow '(' and ')'
  • 31d6390 Fixed setaccount accepting foreign address
  • b5ec5fe update getnetworkinfo help with subversion
  • ad6e601 RPC additions after headers-first
  • 33dfbf5 rpc: Fix leveldb iterator leak, and flush before gettxoutsetinfo
  • 2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option
  • f877aaa submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
  • e69a587 submitblock: Support for returning specific rejection reasons
  • af82884 Add "warmup mode" for RPC server
  • e2655e0 Add unauthenticated HTTP REST interface to public blockchain data
  • 683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server
  • 44b4c0d signrawtransaction: validate private key
  • 9765a50 Implement BIP 23 Block Proposal
  • f9de17e Add warning comment to getinfo
Command-line options:
  • ee21912 Use netmasks instead of wildcards for IP address matching
  • deb3572 Add -rpcbind option to allow binding RPC port on a specific interface
  • 96b733e Add -version option to get just the version
  • 1569353 Add -stopafterblockimport option
  • 77cbd46 Let -zapwallettxes recover transaction meta data
  • 1c750db remove -tor compatibility code (only allow -onion)
  • 4aaa017 rework help messages for fee-related options
  • 4278b1d Clarify error message when invalid -rpcallowip
  • 6b407e4 -datadir is now allowed in config files
  • bdd5b58 Add option -sysperms to disable 077 umask (create new files with system default umask)
  • cbe39a3 Add "bitcoin-tx" command line utility and supporting modules
  • dbca89b Trigger -alertnotify if network is upgrading without you
  • ad96e7c Make -reindex cope with out-of-order blocks
  • 16d5194 Skip reindexed blocks individually
  • ec01243 --tracerpc option for regression tests
  • f654f00 Change -genproclimit default to 1
  • 3c77714 Make -proxy set all network types, avoiding a connect leak
  • 57be955 Remove -printblock, -printblocktree, and -printblockindex
  • ad3d208 remove -maxorphanblocks config parameter since it is no longer functional
Block and transaction handling:
  • 7a0e84d ProcessGetData(): abort if a block file is missing from disk
  • 8c93bf4 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing
  • 77339e5 Get rid of the static chainMostWork (optimization)
  • 4e0eed8 Allow ActivateBestChain to release its lock on cs_main
  • 18e7216 Push cs_mains down in ProcessBlock
  • fa126ef Avoid undefined behavior using CFlatData in CScript serialization
  • 7f3b4e9 Relax IsStandard rules for pay-to-script-hash transactions
  • c9a0918 Add a skiplist to the CBlockIndex structure
  • bc42503 Use unordered_map for CCoinsViewCache with salted hash (optimization)
  • d4d3fbd Do not flush the cache after every block outside of IBD (optimization)
  • ad08d0b Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
  • 5734d4d Only remove actualy failed blocks from setBlockIndexValid
  • d70bc52 Rework block processing benchmark code
  • 714a3e6 Only keep setBlockIndexValid entries that are possible improvements
  • ea100c7 Reduce maximum coinscache size during verification (reduce memory usage)
  • 4fad8e6 Reject transactions with excessive numbers of sigops
  • b0875eb Allow BatchWrite to destroy its input, reducing copying (optimization)
  • 92bb6f2 Bypass reloading blocks from disk (optimization)
  • 2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
  • ab15b2e Avoid copying undo data (optimization)
  • 341735e Headers-first synchronization
  • afc32c5 Fix rebuild-chainstate feature and improve its performance
  • e11b2ce Fix large reorgs
  • ed6d1a2 Keep information about all block files in memory
  • a48f2d6 Abstract context-dependent block checking from acceptance
  • 7e615f5 Fixed mempool sync after sending a transaction
  • 51ce901 Improve chainstate/blockindex disk writing policy
  • a206950 Introduce separate flushing modes
  • 9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
  • 868d041 Remove coinbase-dependant transactions during reorg
  • 723d12c Remove txn which are invalidated by coinbase maturity during reorg
  • 0cb8763 Check against MANDATORY flags prior to accepting to mempool
  • 8446262 Reject headers that build on an invalid parent
  • 008138c Bugfix: only track UTXO modification after lookup
P2P protocol and network code:
  • f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
  • c30329a Add testnet DNS seed of Alex Kotenko
  • 45a4baf Add testnet DNS seed of Andreas Schildbach
  • f1920e8 Ping automatically every 2 minutes (unconditionally)
  • 806fd19 Allocate receive buffers in on the fly
  • 6ecf3ed Display unknown commands received
  • aa81564 Track peers' available blocks
  • caf6150 Use async name resolving to improve net thread responsiveness
  • 9f4da19 Use pong receive time rather than processing time
  • 0127a9b remove SOCKS4 support from core and GUI, use SOCKS5
  • 40f5cb8 Send rejects and apply DoS scoring for errors in direct block validation
  • dc942e6 Introduce whitelisted peers
  • c994d2e prevent SOCKET leak in BindListenPort()
  • a60120e Add built-in seeds for .onion
  • 60dc8e4 Allow -onlynet=onion to be used
  • 3a56de7 addrman: Do not propagate obviously poor addresses onto the network
  • 6050ab6 netbase: Make SOCKS5 negotiation interruptible
  • 604ee2a Remove tx from AlreadyAskedFor list once we receive it, not when we process it
  • efad808 Avoid reject message feedback loops
  • 71697f9 Separate protocol versioning from clientversion
  • 20a5f61 Don't relay alerts to peers before version negotiation
  • b4ee0bd Introduce preferred download peers
  • 845c86d Do not use third party services for IP detection
  • 12a49ca Limit the number of new addressses to accumulate
  • 35e408f Regard connection failures as attempt for addrman
  • a3a7317 Introduce 10 minute block download timeout
  • 3022e7d Require sufficent priority for relay of free transactions
  • 58fda4d Update seed IPs, based on bitcoin.sipa.be crawler data
  • 18021d0 Remove bitnodes.io from dnsseeds.
Validation:
  • 6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s
  • 584a358 Do merkle root and txid duplicates check simultaneously
  • 217a5c9 When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
  • f74fc9b Print input index when signature validation fails, to aid debugging
  • 6fd59ee script.h: set_vch() should shift a >32 bit value
  • d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
  • 698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
  • ab9edbd script: create sane error return codes for script validation and remove logging
  • 219a147 script: check ScriptError values in script tests
  • 0391423 Discourage NOPs reserved for soft-fork upgrades
  • 98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode
  • 307f7d4 Report script evaluation failures in log and reject messages
  • ace39db consensus: guard against openssl's new strict DER checks
  • 12b7c44 Improve robustness of DER recoding code
  • 76ce5c8 fail immediately on an empty signature
Build system:
  • f25e3ad Fix build in OS X 10.9
  • 65e8ba4 build: Switch to non-recursive make
  • 460b32d build: fix broken boost chrono check on some platforms
  • 9ce0774 build: Fix windows configure when using --with-qt-libdir
  • ea96475 build: Add mention of --disable-wallet to bdb48 error messages
  • 1dec09b depends: add shared dependency builder
  • c101c76 build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
  • e432a5f build: add option for reducing exports (v2)
  • 6134b43 Fixing condition 'sabotaging' MSVC build
  • af0bd5e osx: fix signing to make Gatekeeper happy (again)
  • a7d1f03 build: fix dynamic boost check when --with-boost= is used
  • d5fd094 build: fix qt test build when libprotobuf is in a non-standard path
  • 2cf5f16 Add libbitcoinconsensus library
  • 914868a build: add a deterministic dmg signer
  • 2d375fe depends: bump openssl to 1.0.1k
  • b7a4ecc Build: Only check for boost when building code that requires it
Wallet:
  • b33d1f5 Use fee/priority estimates in wallet CreateTransaction
  • 4b7b1bb Sanity checks for estimates
  • c898846 Add support for watch-only addresses
  • d5087d1 Use script matching rather than destination matching for watch-only
  • d88af56 Fee fixes
  • a35b55b Dont run full check every time we decrypt wallet
  • 3a7c348 Fix make_change to not create half-satoshis
  • f606bb9 fix a possible memory leak in CWalletDB::Recover
  • 870da77 fix possible memory leaks in CWallet::EncryptWallet
  • ccca27a Watch-only fixes
  • 9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
  • a53fd41 Deterministic signing
  • 15ad0b5 Apply AreSane() checks to the fees from the network
  • 11855c1 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
GUI:
  • c21c74b osx: Fix missing dock menu with qt5
  • b90711c Fix Transaction details shows wrong To:
  • 516053c Make links in 'About Bitcoin Core' clickable
  • bdc83e8 Ensure payment request network matches client network
  • 65f78a1 Add GUI view of peer information
  • 06a91d9 VerifyDB progress reporting
  • fe6bff2 Add BerkeleyDB version info to RPCConsole
  • b917555 PeerTableModel: Fix potential deadlock. #4296
  • dff0e3b Improve rpc console history behavior
  • 95a9383 Remove CENT-fee-rule from coin control completely
  • 56b07d2 Allow setting listen via GUI
  • d95ba75 Log messages with type>QtDebugMsg as non-debug
  • 8969828 New status bar Unit Display Control and related changes
  • 674c070 seed OpenSSL PNRG with Windows event data
  • 509f926 Payment request parsing on startup now only changes network if a valid network name is specified
  • acd432b Prevent balloon-spam after rescan
  • 7007402 Implement SI-style (thin space) thoudands separator
  • 91cce17 Use fixed-point arithmetic in amount spinbox
  • bdba2dd Remove an obscure option no-one cares about
  • bd0aa10 Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
  • 94e1b9e Re-work overviewpage UI
  • 8bfdc9a Better looking trayicon
  • b197bf3 disable tray interactions when client model set to 0
  • 1c5f0af Add column Watch-only to transactions list
  • 21f139b Fix tablet crash. closes #4854
  • e84843c Broken addresses on command line no longer trigger testnet
  • a49f11d Change splash screen to normal window
  • 1f9be98 Disable App Nap on OSX 10.9+
  • 27c3e91 Add proxy to options overridden if necessary
  • 4bd1185 Allow "emergency" shutdown during startup
  • d52f072 Don't show wallet options in the preferences menu when running with -disablewallet
  • 6093aa1 Qt: QProgressBar CPU-Issue workaround
  • 0ed9675 [Wallet] Add global boolean whether to send free transactions (default=true)
  • ed3e5e4 [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
  • e7876b2 [Wallet] Prevent user from paying a non-sense fee
  • c1c9d5b Add Smartfee to GUI
  • e0a25c5 Make askpassphrase dialog behave more sanely
  • 94b362d On close of splashscreen interrupt verifyDB
  • b790d13 English translation update
  • 8543b0d Correct tooltip on address book page
Tests:
  • b41e594 Fix script test handling of empty scripts
  • d3a33fc Test CHECKMULTISIG with m == 0 and n == 0
  • 29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag
  • 6380180 Add rejection of non-null CHECKMULTISIG dummy values
  • 21bf3d2 Add tests for BoostAsioToCNetAddr
  • b5ad5e7 Add Python test for -rpcbind and -rpcallowip
  • 9ec0306 Add CODESEPARATOFindAndDelete() tests
  • 75ebced Added many rpc wallet tests
  • 0193fb8 Allow multiple regression tests to run at once
  • 92a6220 Hook up sanity checks
  • 3820e01 Extend and move all crypto tests to crypto_tests.cpp
  • 3f9a019 added list/get received by address/ account tests
  • a90689f Remove timing-based signature cache unit test
  • 236982c Add skiplist unit tests
  • f4b00be Add CChain::GetLocator() unit test
  • b45a6e8 Add test for getblocktemplate longpolling
  • cdf305e Set -discover=0 in regtest framework
  • ed02282 additional test for OP_SIZE in script_valid.json
  • 0072d98 script tests: BOOLAND, BOOLOR decode to integer
  • 833ff16 script tests: values that overflow to 0 are true
  • 4cac5db script tests: value with trailing 0x00 is true
  • 89101c6 script test: test case for 5-byte bools
  • d2d9dc0 script tests: add tests for CHECKMULTISIG limits
  • d789386 Add "it works" test for bitcoin-tx
  • df4d61e Add bitcoin-tx tests
  • aa41ac2 Test IsPushOnly() with invalid push
  • 6022b5d Make script_{valid,invalid}.json validation flags configurable
  • 8138cbe Add automatic script test generation, and actual checksig tests
  • ed27e53 Add coins_tests with a large randomized CCoinViewCache test
  • 9df9cf5 Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
  • dcb9846 Extend getchaintips RPC test
  • 554147a Ensure MINIMALDATA invalid tests can only fail one way
  • dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
  • 2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
  • 16d78bd Add valid invert of invalid every numeric opcode tests
  • f635269 tests: enable alertnotify test for Windows
  • 7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
  • 5122ea7 tests: fix forknotify.py on windows
  • fa7f8cd tests: remove old pull-tester scripts
  • 7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts
  • f4e0aef Do signature-s negation inside the tests
  • 1837987 Optimize -regtest setgenerate block generation
  • 2db4c8a Fix node ranges in the test framework
  • a8b2ce5 regression test only setmocktime RPC call
  • daf03e7 RPC tests: create initial chain with specific timestamps
  • 8656dbb Port/fix txnmall.sh regression test
  • ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation
  • 7357893 Prioritize and display -testsafemode status in UI
  • f321d6b Add key generation/verification to ECC sanity check
  • 132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test
  • bc6cb41 QA RPC tests: Add tests block block proposals
  • f67a9ce Use deterministically generated script tests
  • 11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections)
  • 34318d7 RPC-test based on invalidateblock for mempool coinbase spends
  • 76ec867 Use actually valid transactions for script tests
  • c8589bf Add actual signature tests
  • e2677d7 Fix smartfees test for change to relay policy
  • 263b65e tests: run sanity checks in tests too
Miscellaneous:
  • 122549f Fix incorrect checkpoint data for testnet3
  • 5bd02cf Log used config file to debug.log on startup
  • 68ba85f Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
  • e5ee8f0 Remove -beta suffix
  • 38405ac Add comment regarding experimental-use service bits
  • be873f6 Issue warning if collecting RandSeed data failed
  • 8ae973c Allocate more space if necessary in RandSeedAddPerfMon
  • 675bcd5 Correct comment for 15-of-15 p2sh script size
  • fda3fed libsecp256k1 integration
  • 2e36866 Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
  • cd01a5e Enable paranoid corruption checks in LevelDB >= 1.16
  • 9365937 Add comment about never updating nTimeOffset past 199 samples
  • 403c1bf contrib: remove getwork-based pyminer (as getwork API call has been removed)
  • 0c3e101 contrib: Added systemd .service file in order to help distributions integrate bitcoind
  • 0a0878d doc: Add new DNSseed policy
  • 2887bff Update coding style and add .clang-format
  • 5cbda4f Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
  • b4a72a7 contrib/linearize: split output files based on new-timestamp-year or max-file-size
  • e982b57 Use explicit fflush() instead of setvbuf()
  • 234bfbf contrib: Add init scripts and docs for Upstart and OpenRC
  • 01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw
  • d6712db Also create pid file in non-daemon mode
  • 772ab0e contrib: use batched JSON-RPC in linarize-hashes (optimization)
  • 7ab4358 Update bash-completion for v0.10
  • 6e6a36c contrib: show pull # in prompt for github-merge script
  • 5b9f842 Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
  • 4e7c219 Catch UTXO set read errors and shutdown
  • 867c600 Catch LevelDB errors during flush
  • 06ca065 Fix CScriptID(const CScript& in) in empty script case
Credits

Thanks to everyone who contributed to this release:
  • 21E14
  • Adam Weiss
  • Aitor Pazos
  • Alexander Jeng
  • Alex Morcos
  • Alon Muroch
  • Andreas Schildbach
  • Andrew Poelstra
  • Andy Alness
  • Ashley Holman
  • Benedict Chan
  • Ben Holden-Crowther
  • Bryan Bishop
  • BtcDrak
  • Christian von Roques
  • Clinton Christian
  • Cory Fields
  • Cozz Lovan
  • daniel
  • Daniel Kraft
  • David Hill
  • Derek701
  • dexX7
  • dllud
  • Dominyk Tiller
  • Doug
  • elichai
  • elkingtowa
  • ENikS
  • Eric Shaw
  • Federico Bond
  • Francis GASCHET
  • Gavin Andresen
  • Giuseppe Mazzotta
  • Glenn Willen
  • Gregory Maxwell
  • gubatron
  • HarryWu
  • himynameismartin
  • Huang Le
  • Ian Carroll
  • imharrywu
  • Jameson Lopp
  • Janusz Lenar
  • JaSK
  • Jeff Garzik
  • JL2035
  • Johnathan Corgan
  • Jonas Schnelli
  • jtimon
  • Julian Haight
  • Kamil Domanski
  • kazcw
  • kevin
  • kiwigb
  • Kosta Zertsekel
  • LongShao007
  • Luke Dashjr
  • Mark Friedenbach
  • Mathy Vanvoorden
  • Matt Corallo
  • Matthew Bogosian
  • Micha
  • Michael Ford
  • Mike Hearn
  • mrbandrews
  • mruddy
  • ntrgn
  • Otto Allmendinger
  • paveljanik
  • Pavel Vasin
  • Peter Todd
  • phantomcircuit
  • Philip Kaufmann
  • Pieter Wuille
  • pryds
  • randy-waterhouse
  • R E Broadley
  • Rose Toomey
  • Ross Nicoll
  • Roy Badami
  • Ruben Dario Ponticelli
  • Rune K. Svendsen
  • Ryan X. Charles
  • Saivann
  • sandakersmann
  • SergioDemianLerner
  • shshshsh
  • sinetek
  • Stuart Cardall
  • Suhas Daftuar
  • Tawanda Kembo
  • Teran McKinney
  • tm314159
  • Tom Harding
  • Trevin Hofmann
  • Whit J
  • Wladimir J. van der Laan
  • Yoichi Hirai
  • Zak Wilcox
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
Also lots of thanks to the bitcoin.org website team David A. Harding and Saivann Carignan.
Wladimir
original: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-February/007480.html
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

Colored coin client preview #1 (based on Bitcoin Armory)

I think it's already good enough for people to play with it. (Although certainly it's not ready for anything serious.)
For people who are not familiar with concept, colored coins is a technology which allows people to represent arbitrary tokens (e.g. issue private currencies, stocks, bonds, etc.) using small quantities of bitcoins. It is interesting because it would allow us to create decentralized and secure markets. (As decentralized and secure as Bitcoin itself, at least in theory.) See here.
Notes about current release:
Windows binaries: http://killerstorm.xen.prgmr.com/alex/ArmoryX-0.2.5.zip
There are no Linux binaries, but it's really easy to build it on Ubuntu or Debian:
(Note: if you're already using Armory, it is a good idea to hide you ~/.armory so it won't be seen by this experimental Armory mod. Or, perhaps, just don't run this experimental mod.)
Before you run it, make sure that bitcoind or Bitcoin-Qt is running and fully sync'ed. Armory takes up to 10 minutes to start (this version is slower because it additionally scans for colored transactions) and requires ~ 1 GB of RAM.
At start it will offer to create a wallet, do not enable encryption, otherwise issuing colored coins won't work.
Send some bitcoins to this new wallet, 0.02 BTC is probably enough to issue some colored coins and to pay for tx fees.
There is a drop down to choose color. Balance is displayed for a currently chosen color (i.e. if you chose TESTcc it will show how many TESTcc units this wallet owns), and when you send coins you send coins of that color.
Initially 'uncolored' is selected, it means normal BTC. This drop down also has TESTcc ("test colored coins") and "All colors" (this mode is just for debugging, you cannot send coins in this mode).
Here's what you can do now:
  1. Ask somebody to send you TESTcc. (We want to make it automatic, Satoshi Dice style, but unfortunately that code isn't quite ready.)
  2. Find and install other color definitions.
  3. Issue your own colored coins and send them to somebody who wants them. (LOL.)
Let's start from option #3. There is 'Hallucinate' menu. (It is called 'hallucinate' because colors do not exist on blockchain level, it is a client-side convention.) Choose 'Issue colored coins'. Likely all you need to change is name, but you can tweak satoshi-per-unit and number of units if you want.
When you click Issue it will create a new transaction (using your uncolored BTC) and will create a color definition. Optionally it will also upload your color definition to color definition registry. (This registry runs on my server, it might be down.)
You should note ColorID, this is how other people can refer to these coins (name is ambiguous).
You can now choose this new color in drop down and it will show your balance. (E.g. 1000 units.)
Now you'll perhaps want to send these coins to somebody. That person would need to install your color definition first. If you send colored coins without warning they might be lost, i.e. mixed with uncolored ones. For same reason it makes no sense to send them to wallet which isn't color aware.
For example, you can post on some forum:
I've issued LOLwut coins (ColorID: 36738fe78a443656535503efb585fee140a37d54), each unit represents a bond with face value of 0.1 BTC payable by me, Trololo, via buy back. I promise to buy back all bonds in a month.
Now people who are interested in this LOLwut coin issue will copy ColorID, paste it into Hallucinate > Download color definition dialog, and if this color definition is published it will be downloaded and installed. Armory restart is required to complete installation.
After installation that person will be able to see these LOLwut coins.
Note that if you do not trust my registration server, you can publish color definition yourself: go to ~/.armory/colordefs, find 36738fe78a443656535503efb585fee140a37d54.colordef and upload it to your web server. Then you can give people URL like http://example.com/36738fe78a443656535503efb585fee140a37d54.colordef and they can download it by URL.
Or they can just obtain this file by any means and copy it to ~/.armory/colordefs directory. It is decentralized, nobody can prevent you from issuing colored coins.
I think that's all. There is also Hallucinate > Manage color definitions dialog, but I hope it's easy to figure out how it works.
We are working on improved version, particularly on p2p exchange feature.
I've set up an IRC channel for people to talk about trying out colored coins: #colored-coins-otc on Freenode.
submitted by killerstorm 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]

[Guide] Python-Trezor on cold offline Raspberry Pi

I am happy to report that the python-trezor command line scripts work successfully on a Piper which is really a Raspberry Pi running Debian wheezy.
This does require you to connect your Piper online initially, so I recommend buying a new 4GB SD card and flashing the piper firmware if you have already used piper to generate cold offline keys. You'll need this for the hexagonal screws and this for the wiring
You can download the latest firmware ISO here and here is how you burn the image
From there I did sudo apt-get update and installed the Trezor dependencies including cython, libusb, python-trezor, cython-hidapi, trezor-common and ran sudo python setup.py build/install as per these 2 guides edit : and pip install trezor as per stickac (I have not yet tried the electrum 2 beta parts of the guides, as I don't require cold offline electrum 2)
https://bitcointalk.org/index.php?topic=122438.msg9262821#msg9262821
http://www.reddit.com/TREZOcomments/2jp9uk/tutorial_install_electrum_20_beta_with_trezo
This still does not install the english wordlist which you will need to do manually.
Edit : Adding BIP39 library should also install english.txt
You might also want to download my hidden passphrase/PIN entry python-trezor fork
Lastly I needed to unplug the USB mouse from my keyboard hub, in order to provide Trezor with adequate power.
Confirm that everything is working
./cmdtr.py list
./helloworld.py
Pull out the Ethernet cable, and never plug it back in (without first wiping the SD card)
Congratulations you can now initialize and restore Trezor - in a fully cold offline environment - and if you wish, provide your own entropy
Expert tips :
Delete your shell history
semi-securely delete files off SD flash
Version 2 :
I have added support for the latest electrum 2.0 beta, trezor support and btchip support
Update to the newest github versions
navigate to /python-trezor and git pull navigate to /python-mnemonic and git pull
Update libraries
sudo apt-get update sudo apt-get upgrade sudo apt-get install -f 
Install dependencies
sudo apt-get install python-qt4 python-dev pyqt-dev-tools python-pip sudo apt-get install python-usb libusb-dev sudo pip install --upgrade pyusb 
Install btchip support
mkdir btchip cd btchip get https://hardwarewallet.com/zip/add_btchip_driver.sh sudo bash add_btchip_driver.sh git clone https://github.com/btchip/btchip-python cd btchip-python sudo python setup.py install 
Tests
cd samples python getFirmwareVersion.py cd ../btchip python btchipPersoWizard.py 
btchipPersoWizard.py should bring up a GUI setup wizard if core.usb is setup properly
cd ../.. git clone https://github.com/btchip/btchip-c-api.git cd btchip-c-api mkdir bin make cd bin ./btchip_getFirmwareVersion 
Install electrum 2.0 Beta
git clone https://github.com/spesmilo/electrum cd electrum sudo python setup.py install pyrcc4 icons.qrc -o gui/qt/icons_rc.py python setup.py sdist --format=zip,gztar electrum 
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)
submitted by Aussiehash to Bitcoin [link] [comments]

User of Debian, Updated OpenSSL before knowing about bitcoin issue... need help.

So, my BitcoinQT client says: "No block source available - 10 days behind"
Additionally my debian install won't update any packages what so ever becaues I am apparently holding broken packages, which I can only assume is somehow related.
So... what do I do? Even if the OpenSSL problem fixed in a beta, I don't think I'd be able to install it.
Anyone have this problem? Would love the help! I need to pay $25 to a bitcoin hosting company later tonight so hopefully I get it figured out!
submitted by Vespco to Bitcoin [link] [comments]

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. :)
submitted by Mint_Apple_Pie to debian [link] [comments]

Why is installing peercoin qt in linux live session so hard?

Hi,
I'm trying to do a USB Live Session fresh install on my OSX comp, using ubuntu 12.04. I want to install the peercoin client offline to generate an offline wallet which can then be encrypted and moved to a USB key, and later imported to peercoin on my Mac when I want to spend the coins.
My question is whether or not I have to connect to the Internet in the liveUSB to actually do this successfully? Because I'm having an amazing amount of trouble doing this (nights and nights of frustration) when I'm not connecting to the internet.
In general I don't think that I'm technically disinclined, but this is absolutely stumped me. I'll outline my steps that I've done so far.
1- I've made the USB system and can boot no problem. I always choose to "test ubuntu without installing" since when I tried installing it wanted to overwrite my OSX
2- I unpack the tar.gz and I can't actually follow the install instructions coming with Peercoin (ppcoin-0.3.0-linux.tar.gz is the file I downloaded) below:
First, make sure that the required packages for Qt4 development of your distribution are installed, for Debian and Ubuntu these are: apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \ libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \ libssl-dev libdb4.8++-dev then execute the following: qmake make Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file. 
I cant install the required packages in order to unpack everything. All of the threads I read about detail steps AFTER installing, so it seems like I just am braindead and can't even get to the point others start to have difficulty.
I also cannot install a QT creator, which the system suggests I try to do to create a graphical user interface. I've also followed the instructions here, as to how to install QT creator, but to absolutely no avail. The command line either says there is no file, or nothing happens. I followed the instructions here, as to how to unpack a file with a .bin extension but when I do that nothing happens either.
I guess my question is, why is this so hard for me? Everything that I read suggest that the best kind of off-line wallet is done on a system that is never connected to the Internet. But if I can't install anything without connecting to the Internet, how can I get to the point where I can even generate a Wallet?
This link on github suggests I should be connected to the internet
Is anybody aware of an ultra descriptive linux/ubuntu 12.04 fresh install set of instructions? Something like this I think would be incredibly valuable to the community, and if I ever figure it out on my own, I will absolutely make it. I feel like this is limiting me from getting completely set up with peercoin.
I can just generate private keys offline (I think, honestly I haven't tried running the html files I've downloaded because I'm fighting with ubuntu (bitaddress.org, brainwallet.org, etc)). But since I am using OS X, there doesn't appear for me to be any way to actually import a generated private key/address at this point into the OSX peercoin client to generate a new wallet. Is there?
Any help is very very appreciated, thanks very much. Also, should I double post this at peercointalk.org? I'm more familiar with Reddit :)
*edit 1 - fixed formatting
submitted by tomatoesrfun to peercoin [link] [comments]

Help with installing bitcoin-qt on ubuntu (booted from usb on a mac), from another usb

Hi everyone im quite new to bitcoin and this subreddit has been extremely helpful so thank you! Im trying to create an offline wallet and its so damn hard, since im not that good with computers... Anyways Ive been following the official guide on the bitcoin website (https://en.bitcoin.it/wiki/How_to_set_up_a_secure_offline_savings_wallet) and im on step 7 now which has been a difficult journey, (diretions on ubuntu is hard for the average user) I have downloaded bitcoin-0.8.6-linux and its on a seperate memory stick. On the read me file it says 'you need the Qt4 run-time libraries to run Bitcoin-Qt. On debian or ubuntu: 'sudo apt-get install libqtgui4'
Unpack the files into a directory and run:
-bin/32/bitcoin-qt (GUI, 32-bit) -bin/32/bitcoind (headless, 32-bit) -bin/64/bitcoin-qt (GUI, 64-bit) -bin/64/bitcoind (headless, 64-bit) '
K so typed sudo apt-get install libqtgui4 into terminal and it says 'libqtgui4 is already the newest version.' What do they mean by Unpack the files into a directory and run: ... ??
When I type -bin/64/bitcoin-qt (GUI, 64-bit) into terminal it says No such file or directory
When I double click on bitcoin-qt file it says 'Could not display "bitcoin-qt" There is no application installed for "executable" files. Do you want to search for an application to open this file? ' clicked yes then
It returns empty.
Thanks in advance for your help!
submitted by assthete to Bitcoin [link] [comments]

Has anyone on Wheezy successfully installed bitcoin-qt? If so, how?!

I have tried so many guides on so many forums and none of them have yielded any success.
I think I got closest by following these directions, but ultimately there was a .tar.gz file instead of a .deb file which doesn't want to install. I made it was far as running dpkg-buildpackage and it did nothing but spit out warnings and errors for 200 lines before exiting, citing "unrepresentable changes to source".
This is really frustrating. Any help would be appreciated.
submitted by augurate_form to debian [link] [comments]

Reminder - bitcoin is beta software! Corrupt wallets, bugs, errors, oh my! I dodged a bullet today, make sure you are prepared for disaster too!

Hello everyone,
This is a public service announcement brought to you by a fellow bitcoiner who dodged a bullet today.
I'm very adamant about backups, having lost data many years ago, I always try to make sure I have backups of backups now. External hard drives, raids, the cloud, leverage anything and everything to insure you won't lose data.
Well today it all came to fruition. If I was not so strong willed about keeping backups, I might have lost all my bitcoins today. Last night I went to sleep with the bitcoin program working perfectly on my computer. I run debian, nothing fancy or crazy or custom, just a stock os with a stock bitcoin install.
I wake up today and bitcoin has quit itself last night. I load bitcoin-qt and I get the, "your database has corrupted, would you like to try to fix" dialogue box. I select yes, it looks like it's working but gets near the end and dies. This looks like the same issue I had weeks ago. I alerted sipa, one of the main developers about it and was informed it was probably an os level instability on my end. This was weeks ago, so I reinstalled my system entirely, did memory checks and checked the hard drive for bad blocks or corruption to rule out hardware issues.
So here we are, on a brand new os install, with a brand new bitcoin install, with a fresh blockchain, and yes it totally corrupted itself in the middle of the night without any user interaction on my part.
So back to the story, I keep a copy of the blockchain before any corruptions occur on an external hard drive so I can easily reload in case this exact situation occurs. So I nuke the old one, load this existing blockchain, and am greeted with this lovely dialogue box I've never seen before, "wallet.dat corrupt, salvage failed". My heart skips a beat. Really? My wallet is also corrupted? Great.
Luckily I keep encrypted incremental backups on one of my external drives, decrypt, load that, and am up and running again.
To all those who live dangerously without backups, you are playing with fire and WILL get burned eventually. If you are not making daily backups to multiple sources, you are doing it wrong. If I wasn't so careful, I'd currently be out hundreds of bitcoins, and possibly posting on the forums on how to fix a corrupt wallet.
If anybody is curious, the link below is the bug I ran into. I'm not sure if this is directly related to the wallet corruption. I'm guessing its at least related to the blockchain corruption though, because this is the exact same error I received last time my blockchain corrupted itself. I alerted one of the main developers to my issue, so at least they are aware of it.
https://github.com/bitcoin/bitcoin/issues/2402
submitted by dodgedABullet_ to Bitcoin [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]

How to Install Bitcoin Core Wallet on Ubuntu 16 How to install Bitcoin on Ubuntu 16.04 Dash: QT Wallet Installation Guide - Linux = G15E01 Install Qt Creator in Ubuntu 14.04 LTS Installing Bitcoin-Qt

Bitcoin Core is a community-driven free software project, released under the MIT license. Verify release signatures Download torrent Source code Show version history. Bitcoin Core Release Signing Keys v0.8.6 - 0.9.2.1 v0.9.3 - 0.10.2 v0.11.0+ Or choose your operating system. Windows exe - zip. Mac OS X dmg - tar.gz. Linux (tgz) 64 bit. ARM Linux 64 bit - 32 bit. Linux (Snap Store) Support ... In this video I do a brief overview and install of bitcoin qt. The terminal commands are below. sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install bitcoin-qt This install is good for all Ubuntu Derivatives. Bitcoin mining node deployment made easy with docker easily deploy a Bitcoin mining node image runs on Debian Linux and includes bitcoin daemon binaries Die Crypto Währung Bitcoin ist zur Zeit in aller Munde und verzeichnet in den letzten Monaten ein Rekordhoch und übersteigt am 017 das erste mal die 10000 Most Ubuntu and Debian derivatives should foster a suitable environment for For Linux ... Polskie Forum Bitcoin qt debian wheezy to jessie j Alfie John · GitLab comment installer bitcoin core sur debian iota contest logs amd firepro Running a Raspberry Pi Bitcoin Full Node with Raspbian or rhunbre Tutorials & Technicalities: Bitconnect Reinvest 10 185 likes Go Forex Simulator · 8 talking about this. Bitcoin Core should also work on most other Unix-like systems but is not as frequently tested on them. It is not recommended to use Bitcoin Core on unsupported systems. From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no longer supported. Additionally, Bitcoin Core does not yet change appearance when macOS “dark mode ...

[index] [44492] [14925] [47544] [4930] [18191] [12605] [42747] [871] [16149] [46588]

How to Install Bitcoin Core Wallet on Ubuntu 16

install qt creator ubuntu command line ubuntu install bitcoin qt install qt sdk ubuntu install qt 5.2 ubuntu install litecoin qt ubuntu install qt 4.7 ubuntu install phonon qt ubuntu uninstall qt ... How to install Bitcoin on Ubuntu 16.04 On this video, I will show you how to install Bitcoin on Ubuntu 16.04 Commands sudo apt-add-repository ppa:bitcoin/bi... Java Project Tutorial - Make Login and Register Form Step by Step Using NetBeans And MySQL Database - Duration: 3:43:32. 1BestCsharp blog 7,662,402 views Dash is built from Bitcoin's core code, meaning that it remains compatible with systems that are already designed to work with Bitcoin. The creator of Dash, Evan Duffield, works with a "core team ... Bitcoin Core is the open source client of the bitcoin cryptocurrency. Initially, the software was published by Satoshi Nakamoto under the name Bitcoin, then Bitcoin-Qt and later renamed to Bitcoin ...

#