5 Steps to Install Bitcoin-Qt Faster - Bitcoin-en.com

is not pruned!

to have a bitcoin full node on Raspbi I loaded the blockchain with windows on a ssd (vfat), after connection to Raspbi (lubuntu) bitcoin-qt says: sorry your data is pruned, start resync (lasts 4 years). I definitely did not prune, started bitcoin-qt without any commandline options (despite datadir), any idea what went wrong?
submitted by 4piII to Bitcoin [link] [comments]

I just verified that BU and SV block chain data structures are compatible! No need to download the block chain from scratch if migrating to SV.

Since BU hasn't still officially announced nor released a Satoshi Vision compatible change set and time is running out, I started migrating cryptograffiti.info from Bitcoin Unlimited to Satoshi Vision (to guarantee that after 15th of Nov my service is still attached to what I perceive as the original Bitcoin).
I copy-pasted the blocks and chainstate directories from BU datadir to SV datadir and simply launched my nonmining node. After a couple of minutes of network discovery the node was properly synchronized with the network and downloaded new blocks as they were found. The RPCs are working as expected.
While SV lacks the qt binaries (GUI), it is still usable as a backend software for block chain services such as cryptograffiti.info . If you want to be on a correct chain after the 15th and can't wait for BU or ABC to implement SV- compatible changes then rest assured, you don't have to download the whole block chain from scratch.
submitted by 1Hyena to btc [link] [comments]

Run a 0.14 Full-Node on RaspberryPi3 Pruned(less than 16GB SD needed)

Hi!
Happy if this guide helps you.
Tip if you want: 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v
UPDATE 04/06/17
Add 'uacomment=UASF-SegWit-BIP148' into your bitcoin.conf if you want to signal UASF.
UPDATE 03/13/17
ADDED a tl;dr; Version at the end of this Post.
UPDATE 03/12/17:
Just to test it - I reinstalled all on 8GB SD and it works as well. But maybe you should use at least 16GB for the beginning.
Using a 128GB card for the first version was a little bit stupid - so I reinstalled everything on a 8GB SD card. Including Linux and a pruned blockchain - and it works.
I used prune=550 and Jessie Lite (headless / command line) - without wallet and gui.
The SD is almost full, but it works so far
I also updated the whole manual a bit to make things more clear. Thank you for all your feedback!
Just started my Bitcoin Node today and wanted to share the way I did it with people who are interested in running their own full node. It took some time to write everything down - hopefully correct so far.
I am sure, many people around bitcoin are way more informed and educated as I am - I am the noob. So I wrote this manual to help users like me - noobs, to get started with a cheap, simple bitcoin node on raspberry pi.
Have fun!
I wanted to get my Raspberry Pi 3 working as a node to support the network. Actually the process of installing and running the node was more or less easy - but for Noobs (like I am) it might be a bit tricky to start the whole thing, because there are different ways.
Did you - like me - think you would need +120GB on the raspi, external USB HDD to be a full node? You won't!
If you have a Raspberry and you know what Bitcoin is, I guess, you are a little bit aware of linux, networks and of course bitcoin - so I won't go into detail too much.
This guide is just a little helper to get a full node running on your raspberry pi. Thanks to the help of the nice people in this sub and of course the documentation by the developers, I got it working - and of course also special thanks to raspnode.com - as I followed their tutorial to start - I went some other ways here and there - so please read carefully.
For the Part 2 I would suggest to have http://raspnode.com/diyBitcoin.html open and read through my manual.
I split the tutorial in 2 Parts - PART ONE is about installing the client on your PC and downloading the Blockchain.
PART TWO is about the setup of the raspberryPi and transferring the pruned blockchain to the pi and run it as a full node!
The first thing to be aware of is: You actually need to download the whole blockchain to get this working - if you already have your bitcoin client synced on the PC / MAC great you can reuse it!
Now you might think "but you said less than 16GB in the title!"
Yes, but the good thing is you won't need to download it on your Raspberry, neither you need to sync it completely on your raspberry which took ages (weeks!) before. When you finished this Guide, you will just have a max. 4GB Blockchain on your Raspberry Pi - but it still is a full node! The magic word is Pruning.
Maybe even a 8GB SD Card works just fine including Linux (jessie lite)!
So, if you already have a full node on your PC - Great you can almost skip PART ONE - BUT have at how to Prune in PART ONE if you don't know about it.
For PART TWO you'll need a Raspberry Pi 2 or 3 (I used 3) min. 8GB (works also) or better 16GB SD Card. (I used a 128GB for the first version of this manual - which is way too big)

PART ONE

This is the manual how to get started on you PC / MAC / Linux (I did it on Win7)
Go to: https://bitcoin.org/en/download and download the core Client for your Machine (I used win64).
Install it and configure it to save the Blockchaindata to the directory of your choice - so instead getting 120GB on your C drive, I would suggest to download it to another place like a USB drive.
You can set this up during the install. Standard folder for the blockchain folder is "%APPDATA%\Bitcoin" on Windows.
or you can do it after the install by creating a bitcoin.conf file inside your installation folder / or %APPDATA%\Bitcoin and add
datadir=l:\yourfolder
to the file. Line by line.
By the way here you could also just add dbcache - to use more memory to speed up the process a bit:
dbcache=4096
if you don't want to use the settings inside the program. (you can also set this inside the program under settings! If you have this inside the bitcoin.conf you will see the amount you set there from inside the program - it overrides the values)
You can check inside the windows client under settings, if you can see a manual dbcache is set by having a look at the left footer area. When your dbcache value shows up, everything is fine.
So the Blockchain download process will take time - maybe a few days! Depending on your machine, internet connection and HDD.
The Blockchain is huge as it contains every single transaction of the past until today. You won't need to keep your PC running all the time, you can turn it off and on and it will resync automatically when you start bitcoin-qt.exe!
Make sure to close the client always via "quit" - ctrl+q.
After you have your bitcoin core installed, the blockchain downloaded and synced - you are ready to PRUNE!
First - close the Client and let it close smoothly. After it is really closed you can follow these steps:
By pruning, your blockchain will dramatically shrink. From 120GB to just a few GB.
Be aware, that you will lose your Downloaded Blockchain as pruning will erase a big chunk of it! If you have enough space, you could of course keep the full blockchain saved somewhere on another HDD.
You can prune by editing your bitcoin.conf file by adding:
prune=550
I used prune=1024 - not sure where the differences are right now (min. prune=550). (for my 8GB version I used 550! I suggest to use this.)
Save the bitcoind.conf file and restart your windows client.
It will now clean up the Blockchain. So just the latest blocks are saved. The client should start without any problems. Maybe it takes some time to prune the blockchain data.
Check if everything works normally (the client opens as usual, you can see an empty wallet) than close the client.
Inside the Bitcoin Folder, you'll find two folders called:
blocks chainstate
those are the interesting folders containing the important data (now pruned) - and we will transfer those two to the raspberry later!
Now you are good to start the raspi transfer explained in the next part.

PART 2

Here is what I did:
1) I installed Raspian Pixel (https://www.raspberrypi.org/downloads/raspbian/) using a 128 GB SD - which is not needed because of "Pruning" - I think a 16GB card might work, too! (You can also install Raspian Jessie Lite - which saves you even more space, as it runs headless - only command line) (Updated: It is better to use Jessie Lite to save a lot of space - when you are fine with only command line)
2) I followed partly this tutorial to get everything running and setup:
http://raspnode.com/diyBitcoin.html
Please have a look at it - I have copied the Headlines in capitals to let you know what I did, and what I skipped.
On Tutorial Page: Start with RASPBIAN (OPTIONAL) CONFIG OPTIONS.
Set You RasPi up including "EDITING FILES" to save your Layout at the tutorial page and come back here.
I skipped the CONFIGURE USB AND SET AUTOMOUNT process, as we are going to use PRUNING to reduce the 120GB to a tiny filesize - so USB Devices are not needed here!
It was necessary to ENLARGE SWAP FILE to install bitcoin core - otherwise it didn't went through which ended in a frozen raspi.
So have a close look by following the raspnode tutorial at: ENLARGE SWAP FILE.
I have my raspi running via cable to router - but you can also WiFi setup everything described under NETWORKING ON THE RASPBERRY PI.
Now comes the interesting part: Follow the steps at DOWNLOADING BITCOIN CORE DEPENDENCIES - they work fine for 0.14.0 too. Git should be on Board already when you installed Pixel - otherwise you would need to install it.
sudo apt-get install git -y (only jessy lite)
I skipped the next command lines - as I don't use bitcoin-qt wallet. If you want to use it as wallet - do the step.
mkdir ~/bin cd ~bin
Now you are in the folder you want your bitcoin core data be downloaded to via git. I didn't Downloaded the Berkeley Database source code - so I also skipped the whole next command lines
[email protected]~/bin$ wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz [email protected]~/bin$ tar -xzvf db-4.8.30.NC.tar.gz [email protected]~/bin$ cd db-4.8.30.NC/build_unix/ [email protected]~/bin/db-4.8.30.NC/build_unix$ ../dist/configure --enable-cxx [email protected]~/bin/db-4.8.30.NC/build_unix$ make -j4
and went on with "INSTALLING BITCOIN"!
I followed the first part but instead downloading 0.13 I took of course the latest version:0.14
git clone -b 0.14 https://github.com/bitcoin/bitcoin.git cd bitcoin ./autogen.sh
this might take some time to start.
If you have trouble with hanging RESOLVING DELTAS - just restart the Raspberry Pi and remove the bitcoin folder inside /~bin using
rm -rf bitcoin
this command will delete the folder and you can reuse
git clone -b 0.14 https://github.com/bitcoin/bitcoin.git

For some reason RESOLVING DELTAS is a common problem with different downloads - so just retry it and at least after 3 times it should work!

as I didn't use the GUI/ Wallet, I ran
./configure --enable-upnp-default --disable-wallet
as I don't need the wallet functionality.
I didn't need to use "MAKE" which saves you maybe up to 2.5 hours.
instead you can just go ahead with:
sudo make install
(If I am wrong in doing so - please let me know)
The install takes some time - and just a heads up: when it gets stuck somewhere - just redo the installation process - it took three times to went through - stuck at some processing.
After the installation took place you can finally get your Raspberry Pi Node running in no time!
To test if the the installation went through - you can just start bitcoind using:
bitcoind &
than check if everything is working so far:
bitcoin-cli getinfo
after a few seconds you should see version: etc...
if not, something went wrong. Try to redo the steps in the raspnode tutorial.
(don't give up if it failed - retry! Ask your questions here)
IMPORTANT: you need to stop bitcoin on your raspberry now!
bitcoin-cli stop
If you don't need an external USB Drive - what I hope - as we are going to use pruning just go ahead and skip the USB part and create a file inside (or follow the raspnode tutorial on how to setup the USB drive):
cd .bitcoin
sudo nano bitcoin.conf
and enter the exact same pruning size you have used on your Desktop Machine to prune. I used 1024 but the minimum is 550. (used 550 for the 8GB SD card on PC and Raspberry)
prune=550
That's it for the raspi.
update: To signal UASF enter in a new line:
uacomment=UASF-SegWit-BIP148

TRANSFER

Now you have to transfer the two folders CHAINSTATE and BLOCKS from your PC bitcoind directory to your raspberry.
I am using a program called "WINSCP" - it is free and easy to use: https://winscp.net/eng/download.php
We need this to transfer the files to the Raspberry pi. Pretty sure you can also do it via SSH - but I am the noob. So let's keep it simple.
Open Winscp and put in the IP Address of your Raspberry Pi, User and Password (same as in SSH)
You should now see the directories on your Raspberry Pi. There is a folder called
.bitcoin
enter it and you will see the two folders
blocks & chainstate
you can delete them on the raspberry as they have some data from your previous test inside.
Make sure you can also see the bitcoin.conf file in that directory, which needs to contain the exact same prune line, like the one on your desktop machine. If not, make sure to edit it via SSH. The line "datadir=l:\yourfolder" is obviously not needed in the Raspberry bitcoin.conf file.
Now grab the two folders CHAINSTATE and BLOCKS from your PC and copy them to your .bitcoind folder.
I also copied banlist.dat, fee_estimation.dat, mempool.dat and peers.dat to the folder - not really knowing if needed! Not needed.
The whole copy process might take some minutes (against some weeks in the old way).
After copying is finished, you can now start bitcoind on the Raspberry.
bitcoind &
the & symbol let you still use the command line while the process is running btw.
The process - if succesfull - will take some time to finish.
bitcoin-cli getinfo
Will give you some informations what is going on right now. When you can see, that it is checking the blocks, this is good!
If you get an error - double check - if you have the correct prune size (same as on desktop machine) - in bitcoin.conf and that this file is inside .bitcoin on RaspberryPi. It took me some time, to find my mistakes.
Congrats! You are almost a part of the network!
To make your node now a fullnode, you will need to go to your router (often 192.168.1.1) and enable portforwarding for your raspberry pi - and open ports 8333 - that's it!
You can now go to: https://bitnodes.21.co/nodes/
scroll down to "JOIN THE NETWORK" and check check if your node IP is connected!
It will show up as soon as the blocks are checked and the raspi is running.
Well done!
Now you are running a full node, with a small Blockchain and got it working in Minutes, not weeks!
I really hope, my little tutorial worked for you and your are part of the Node network now.
If you have problems or I made a mistake in this helper tut, just let me know and I will try to make it better.
Have fun and NODL!
the noob
tl;dr; (if you are a real noob start with the non-tl;dr version!)
tl;dr; PART ONE
1) Download & install / setup bitcoincore @ https://bitcoin.org/de/download
2) change dbcache to something smaller than your memory and download the whole Blockchain (120GB).
3) create a file called bitcoin.conf put the line prune=550 (or higher) in to activate pruning on win inside %appData%/bitcoin
4) Open ports 8333 on your Router to make this a full node with a smaller Blockchain.
You are running a full node on your PC.
tl;dr; PART TWO
1) Install jessie lite and the needed dependencies on your SDCard - Raspberry
( >git clone -b 0.14 https://github.com/bitcoin/bitcoin.git )
  • see tutorial for more info.
2) create a file called bitcoin.conf inside .bitcoin and add the same prune=Number you had on your PC.
3) transfer the pruned folders BLOCKS and CHAINSTATE to the Raspberry Folder .bitcoin
4)Start "bitcoind &"
5) let everything sync
6) Make sure you have port 8333 opened on your router.
You are running a full node on your Raspberry with a super small Blockchain (I put all on a 8GB SDcard)
Tip if you want : 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v
updated 03/12 - will update more, soon.
updated 03/12.2 - I updated the whole process a bit and also added some improvements.
updated 03/14/ Added a tl;dr version at the end.
submitted by I-am-the-noob to Bitcoin [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]

Despite what Core supporters may claim, bitcoin *has* hard-forked before (screenshot of what the hard-fork looks like included)

Many high-profile Core supporters have disingenuously claimed that bitcoin has never hard-forked before. They do this by twisting the definition of "hard-fork" around to suit their agenda. The fact of the matter is, if you run bitcoin version 0.7.2 or earlier with default configuration settings, you will not sync with the present-day blockchain. This is, by definition, a hard-fork: old nodes are incompatible, and must be upgraded in order to remain on the main chain.
Bitcoin's hard-fork occurred in the wake of the March 2013 event, in which the blockchain split due to non-deterministic behavior in older clients. I will put aside whether or not the events in March 2013 were a hard-fork or just a bug, because a measurable hard-fork event occurred a few months later after all nodes were required to upgrade. Indeed, even Core's post-mortem states "On 16 August, 2013 block 252,451 (0x0000000000000024b58eeb1134432f00497a6a860412996e7a260f47126eed07) was accepted by the main network, forking unpatched nodes off the network."
When I say this hard-fork is "measurable", I mean that anyone can test for themselves to see that old versions of the bitcoin software are not compatible with the current blockchain.
In order to test it yourself, you can follow these steps:
Now, you must wait (several hours at least). Once your 0.7.2 node reaches block height 252,450, you will see the result of the hard-fork yourself. The outdated node software will refuse to process the following block, and the debug.log file will start printing InvalidChainFound messages.
Here is a screenshot of what my 0.7.2 node looked like when it was hard-forked off the main chain: https://i.imgur.com/qIxAAjY.png
I encourage you to replicate this process yourself if you remain skeptical.
I hope this puts to rest once and for all the myth that bitcoin has never hard-forked before. The fact of the matter is, bitcoin has hard-forked before: with only a few months of preparation, all nodes on the network were able to successfully upgrade (or apply backports or special config), and the main chain hard-forked without any problems.
submitted by timepad to btc [link] [comments]

Bitcoin ABC node can't synchronize passed the fork block. Would adding other Cash nodes explicitly on my peer list help?

I'm trying to get my Bitcoin ABC node, which is running behind Tor in case that makes any difference, to synchronize. But it can't get passed the fork point. What makes sense since all my peers seem to be BSCore nodes...
Is there a list of trustworthy Bitcoin Cash nodes I could manually add in order to get the good chain?
Also, for some reason, even though I added the -listen option, my node isn't going above 8 connections. Shouldn't it automatically configure a hidden service, or do I still need to do it manually?
This is the list of command line parameters I run my node with:
./bitcoin-qt -bind=127.0.0.1 -proxy=127.0.0.1:9050 -listen -datadir=PATH_TO_BITCOINCASH_DATADIR -checkblocks=1 
Finally, another question: I saw Bitcoin ABC has a PPA, but it uses the same package names of Bitcoin Unlimited, which I'm using to connect to the Bitcoin Settlement network. Names which come from BSCore packages, actually. Would you guys mind having a different package name like BitcoinXT has? (I'm not using them either because they haven't updated their PPA with the Cash release, and because I wanted to check on this ABC implementation)
Thanks!
submitted by VedadoAnonimato to btc [link] [comments]

bitcoin-qt ready for use within half an hour … download an up-to-date pruned blockchain

Let us discuss how safe this is :-)
This tutorial is for Linux only but people using other operating systems will understand what to do.
Download the bitcoin blockchain
https://drive.google.com/drive/folders/0B0nH34wIYOSlSG81ZUZUZGZjVkE?usp=sharing
This will download (~20 minutes) the 2485 MB file:
bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz
It contains only blocks, no wallet or log files. It has been created with -prune=550
Unpack
tar -zxvf bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz
and observe it contains only blocks and chain state data. This will create the directory:
.bitcoin_pruned_550MB_19aug2016
Let’s assume you move this to ~/.bitcoin_pruned, so
mv .bitcoin_pruned_550MB_19aug2016 ~/.bitcoin_pruned
Run bitcoin-qt
When you start bitcoin-qt, a new wallet will be created: back it up first. My advice is to use bitcoin-qt 0.13.0rc3, because it creates a HD wallet that never runs out of addresses.
Start bitcoin-qt in fast start-up mode first:
bitcoin-qt –prune=550 –checklevel=2 –checkblocks=10 –checkblocksverify=10 –datadir=yourpath/.bitcoin_pruned
and let it sync quickly. Check more thoroughly next time with 10 -> 500000.
You can have a quick look at what’s happening:
tail ~/.bitcoin_pruned/debug.log.
 
FOR NOW, the drawback is that if you want to add addresses (watch-only or spendable) that already contain bitcoins, you have to create the pruned blockchain from scratch yourself, which takes a lot of time (or have someone with a full blockchain rescan the wallet for you). This is not really necessary: if the user is not interested in the history of his transactions, the balances can be obtained directly from the UTXO set. It has already been approved to add this feature in some future Core release:
https://github.com/bitcoin/bitcoin/issues?q=is%3Aissue+is%3Aopen+label%3AWallet, #8497.
I will automatically update the google drive with new up-to-date blockchains soon.
EDIT:
openssl dgst -sha256 bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz SHA256(bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz)= ce36bcb9ab691c358b27d3051f8f38452bc182ca636eae992563c60805a9d4b0
submitted by sumBTC to Bitcoin [link] [comments]

Bitcoin-qt keeps crashing - Fatal Error

Hello,
I've been using BTC since '10 and have always used the -QT client. PC died after a powercut yesterday and now I'm having huge issues trying to get bitcoin-qt up and running.
I have deleted the entire blockchain off my PC as I originally thought that was the issue.
From the debug.log this is what keeps appearing, followed by -qt shutting down.
2016-05-07 18:07:40 *** System error while flushing: CDB: Error -30974, can't open database 2016-05-07 18:07:42 UPnP Port Mapping successful. 2016-05-07 18:07:43 ERROR: ProcessNewBlock: ActivateBestChain failed 2016-05-07 18:07:43 addcon thread interrupt 2016-05-07 18:07:43 opencon thread interrupt 2016-05-07 18:07:43 net thread interrupt 2016-05-07 18:07:43 msghand thread interrupt 2016-05-07 18:07:44 scheduler thread interrupt 2016-05-07 18:07:44 Shutdown: In progress... 2016-05-07 18:07:44 StopNode() 2016-05-07 18:07:44 UPNP_DeletePortMapping() returned: 0 2016-05-07 18:07:44 upnp thread interrupt 2016-05-07 18:07:44 *** System error while flushing: CDB: Error -30974, can't open database 2016-05-07 18:07:45 CDBEnv::EnvShutdown: Error -30974 shutting down database environment: DB_RUNRECOVERY: Fatal error, run database recovery 2016-05-07 18:07:45 Shutdown: done 
I've started the client up again and it begins to connect to the network and re-download the blockchain but still crashes at about 4 years to go.
I don't think its a hdd space issue, I start the client with a datadir= set to a 50GB disk. (And now tried with 300gb drive)
I'm using latest version of the client.
Any ideas?
Thanks
submitted by just_some_guy101 to Bitcoin [link] [comments]

Using BitcoinABC for a transaction

I was gifted a then minuscule quantity of bitcoins 7 years ago. Still not very much but it is enough that I decided to dig out the wallet file and try to make sure I don't lose them. I understand that as this predates the fork, I also have the same in bitcoin cash. I was thinking of transferring these into coinbase. If I'm running bitcoinabc with my old wallet file, can I be absolutely sure that I'm sending bitcoin cash and not bitcoin? I put the wallet file in an otherwise empty directory and run bitcoin-qt with -datadir= pointing to it. When I come to do the transaction, do I need to setup any port forwarding on my router so that the bitcoin process is reachable behind NAT? And what can I do to ensure the transaction goes through, what should the fee be etc?
Besides bitcoin cash, are there any other forks which I would have some of?
Thanks
submitted by okapi-a to BitcoinABC [link] [comments]

helping armory find the correct bitcoin-qt directory on a mac

I relocated the bitcoin blockchain files to an attached sd card on a MBA - bitcoin qt works fine but Armory cannot locate them.
Armory is rather cryptic in this regard - "please restart Armory using the " --satoshi-datadir=[path]" to notify Armory where to find them"
What exactly is one to do - how does one restart Armory with this command ?
Appreciate the help :-)
submitted by ba7huersh2 to Bitcoin [link] [comments]

Bitcoind.exe in Armory crashes

Hi All,
Running Windows 8 64-bit, Armory v0.9.32-beta-85959b20d8, Core Bitcoin v0.10.2.
Armory loads up just fine, and using Process Explorer (Sysinternals tool), I am able to see ArmoryQT.exe as the parent thread with bitcoind.exe as one child thread (which has a conhost.exe child thread) and another child thread for guardian.exe (which also has a conhost.exe child thread) This is how it looks:
Now, as soon as I load Armory, the wallet consistency check passes and then it's stuck in "Initializing Bitcoin Engine" with no progress at all (just the rotating grey/green wheel) - then about 15 minutes later, I'll notice that the bitcoind.exe process and its child disappear. Guardian.exe is still running though.
Now, when I disabled Armory from controlling bitcoin, I can load Bitcoin-Qt.exe no problems, it syncs with the blockchain no issues, and Armory will phase in and out of being connected. Which is totally weird....like the rpc connection somehow gets lost and reconnects at random times. But, even when Armory shows it's connected, and Bitcoin-Qt.exe shows that's it's fully synced with the blockchain, it doesn't update any transaction info in Armory at all. Now, I can see in the blockchain that my last few transactions already have 38 confirmations, but Armory still shows that there are 0 confirmations and that the transaction hasn't hit the blockchain yet. Obviously this isn't true.
So, I turn to y'all for some help and guidance....I've scoured their forums, and I've tried all the suggestions, so I'm turning now to the trusted reddit community for some insight and help.
Any ideas?! I mean, I could probably just backup my wallet, uninstall both armory and bitcoin, then do a clean install, then wait a month for the blockchain to sync, but I'd prefer to have to avoid this if that's AT ALL possible.
Also, not sure if this is relevant, but even though the blockchain is synced, shortly before bitcoind.exe goes out of commission (only when run through Armory, bitcoin never crashes when loaded separately) the cpu % for that process spikes to about 45-70% for a few minutes, which sounds like it's processing headers and what not, and then just poops out.
I have a quad-core AMD A6-3600 - not the BEST but not the worst either....
Ok, help....please....
EDIT: formatting
submitted by shayaknyc to Bitcoin [link] [comments]

Bitcoin Core 0.13.2 released | Wladimir J. van der Laan | Jan 03 2017

Wladimir J. van der Laan on Jan 03 2017:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Bitcoin Core version 0.13.2 is now available from:
https://bitcoin.org/bin/bitcoin-core-0.13.2/
Or by bittorrent:
magnet:?xt=urn:btih:746697d03db3ff531158b1133bab5d1e4cef4e5a&dn;=bitcoin-core-0.13.2&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%2Ftracker.leechers-paradise.org%3A6969&ws;=https%3A%2F%2Fbitcoin.org%2Fbin%2F
This is a new minor version release, including various bugfixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
To receive security and update notifications, please subscribe to:
https://bitcoincore.org/en/list/announcements/join/
Compatibility

Microsoft ended support for Windows XP on April 8th, 2014,
an OS initially released in 2001. This means that not even critical security
updates will be released anymore. Without security updates, using a bitcoin
wallet on a XP machine is irresponsible at least.
In addition to that, with 0.12.x there have been varied reports of Bitcoin Core
randomly crashing on Windows XP. It is not clear
what the source of these crashes is, but it is likely that upstream
libraries such as Qt are no longer being tested on XP.
We do not have time nor resources to provide support for an OS that is
end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are
suggested to upgrade to a newer version of Windows, or install an alternative OS
that is supported.
No attempt is made to prevent installing or running the software on Windows XP,
you can still do so at your own risk, but do not expect it to work: do not
report issues about Windows XP to the issue tracker.
but severe issues with the libc++ version on 10.7.x keep it from running reliably.
0.13.1 now requires 10.8+, and will communicate that to 10.7 users, rather than crashing unexpectedly.
Notable changes

Change to wallet handling of mempool rejection
When a newly created transaction failed to enter the mempool due to
the limits on chains of unconfirmed transactions the sending RPC
calls would return an error. The transaction would still be queued
in the wallet and, once some of the parent transactions were
confirmed, broadcast after the software was restarted.
This behavior has been changed to return success and to reattempt
mempool insertion at the same time transaction rebroadcast is
attempted, avoiding a need for a restart.
Transactions in the wallet which cannot be accepted into the mempool
can be abandoned with the previously existing abandontransaction RPC
(or in the GUI via a context menu on the transaction).
0.13.2 Change log

Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in locating
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.

Consensus

RPC and other APIs

Block and transaction handling

P2P protocol and network code

Build system

GUI

Wallet

Tests and QA

Miscellaneous

Credits

Thanks to everyone who directly contributed to this release:
As well as everyone that helped translating on Transifex.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBCgAGBQJYa2IbAAoJEHSBCwEjRsmmiQsIALbkHVVwO7nViQKH1Ub2qpD4
TplOuAP0/4vYotizuI12Gqdnu8SjPmhKwAgIXhVinE6TS4OzGNjy+6LtWGzpcpud
B1pcziZ72Mlfxdbdd1UhDMWEjoBumS9RmXMSqzTlMVlHRv4iiISzdaAROu1jHvdF
YTsnmKXB8OvcXOecxRMY9LrnpSzLALM2MYTDmYwlhhExHIA8ZqI2niky6GCfyfDi
KD7bgfIFJzlgFTpAdhQXOXtWoRV5iHqN7T29ot8Y+yIhVCRhHYXS93Z50GKbkqYV
MXsVAkpZF3qqcKYSPFjbif7faMdrMqcEiII6QhXdDTRGI/35IfuTDbWzzQlnVyY=
=ncCY
-----END PGP SIGNATURE-----
original: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-January/013412.html
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

[Meta] Re: Bitcoin Core 0.13.2 released | Luke Dashjr | Jan 07 2017

Luke Dashjr on Jan 07 2017:
I don't think release announcements are really appropriate for the bitcoin-dev
mailing list. People who want these can subscribe to the bitcoin-core-dev list
and/or the Core announce mailing list. Maybe sending to bitcoin-discuss would
also make sense, but not bitcoin-dev...
Luke
On Tuesday, January 03, 2017 8:47:36 AM Wladimir J. van der Laan via bitcoin-
dev wrote:
Bitcoin Core version 0.13.2 is now available from:
https://bitcoin.org/bin/bitcoin-core-0.13.2/
Or by bittorrent:
magnet:?xt=urn:btih:746697d03db3ff531158b1133bab5d1e4cef4e5a&dn=bitcoin-co
re-0.13.2&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%
2Ftracker.leechers-paradise.org%3A6969&ws=https%3A%2F%2Fbitcoin.org%2Fbin%2
F
This is a new minor version release, including various bugfixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
To receive security and update notifications, please subscribe to:
https://bitcoincore.org/en/list/announcements/join/
Compatibility

Microsoft ended support for Windows XP on [April 8th,
2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support
), an OS initially released in 2001. This means that not even critical
security updates will be released anymore. Without security updates, using
a bitcoin wallet on a XP machine is irresponsible at least.
In addition to that, with 0.12.x there have been varied reports of Bitcoin
Core randomly crashing on Windows XP. It is [not
clear](https://github.com/bitcoin/bitcoin/issues/7681#issuecomment-2174398
91) what the source of these crashes is, but it is likely that upstream
libraries such as Qt are no longer being tested on XP.
We do not have time nor resources to provide support for an OS that is
end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are
suggested to upgrade to a newer version of Windows, or install an
alternative OS that is supported.
No attempt is made to prevent installing or running the software on Windows
XP, you can still do so at your own risk, but do not expect it to work: do
not report issues about Windows XP to the issue tracker.
From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended
to work on 10.7+, but severe issues with the libc++ version on 10.7.x keep
it from running reliably. 0.13.1 now requires 10.8+, and will communicate
that to 10.7 users, rather than crashing unexpectedly.
Notable changes

Change to wallet handling of mempool rejection
When a newly created transaction failed to enter the mempool due to
the limits on chains of unconfirmed transactions the sending RPC
calls would return an error. The transaction would still be queued
in the wallet and, once some of the parent transactions were
confirmed, broadcast after the software was restarted.
This behavior has been changed to return success and to reattempt
mempool insertion at the same time transaction rebroadcast is
attempted, avoiding a need for a restart.
Transactions in the wallet which cannot be accepted into the mempool
can be abandoned with the previously existing abandontransaction RPC
(or in the GUI via a context menu on the transaction).
0.13.2 Change log

Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in
locating the code changes and accompanying discussion, both the pull
request and git merge commit are mentioned.

Consensus

  • #9293 e591c10 [0.13 Backport #9053] IBD using chainwork instead of
height and not using header timestamp (gmaxwell) - #9053 5b93eee IBD
using chainwork instead of height and not using header timestamps
(gmaxwell)

RPC and other APIs

  • 8845 1d048b9 Don't return the address of a P2SH of a P2SH (jnewbery)

  • 9041 87fbced keypoololdest denote Unix epoch, not GMT

(s-matthew-english) - #9122 f82c81b fix getnettotals RPC description
about timemillis (visvirial) - #9042 5bcb05d [rpc] ParseHash: Fail when
length is not 64 (MarcoFalke) - #9194 f26dab7 Add option to return
non-segwit serialization via rpc (instagibbs) - #9347 b711390 [0.13.2]
wallet/rpc backports (MarcoFalke)
  • #9292 c365556 Complain when unknown rpcserialversion is specified
(sipa) - #9322 49a612f [qa] Don't set unknown rpcserialversion
(MarcoFalke)

Block and transaction handling

  • 8357 ce0d817 [mempool] Fix relaypriority calculation error (maiiz)

  • 9267 0a4aa87 [0.13 backport #9239] Disable fee estimates for a confirm

target of 1 block (morcos) - #9196 0c09d9f Send tip change notification
from invalidateblock (ryanofsky)

P2P protocol and network code

  • #8995 9ef3875 Add missing cs_main lock to ::GETBLOCKTXN processing
(TheBlueMatt) - #9234 94531b5 torcontrol: Explicitly request RSA1024
private key (laanwj) - #8637 2cad5db Compact Block Tweaks (rebase of

8235) (sipa)

  • #9058 286e548 Fixes for p2p-compactblocks.py test timeouts on travis
(#8842) (ryanofsky) - #8865 4c71fc4 Decouple peer-processing-logic from
block-connection-logic (TheBlueMatt) - #9117 6fe3981 net: don't send
feefilter messages before the version handshake is complete (theuni) -

9188 ca1fd75 Make orphan parent fetching ask for witnesses (gmaxwell) -

9052 3a3bcbf Use RelevantServices instead of node_network in

AttemptToEvict (gmaxwell) - #9048 9460771 [0.13 backport #9026] Fix
handling of invalid compact blocks (sdaftuar) - #9357 03b6f62 [0.13
backport #9352] Attempt reconstruction from all compact block
announcements (sdaftuar) - #9189 b96a8f7 Always add
default_witness_commitment with GBT client support (sipa) - #9253
28d0f22 Fix calculation of number of bound sockets to use (TheBlueMatt)
  • #9199 da5a16b Always drop the least preferred HB peer when adding a
new one (gmaxwell)

Build system

  • 9169 d1b4da9 build: fix qt5.7 build under macOS (theuni)

  • 9326 a0f7ece Update for OpenSSL 1.1 API (gmaxwell)

  • 9224 396c405 Prevent FD_SETSIZE error building on OpenBSD (ivdsangen)

GUI

  • #8972 6f86b53 Make warnings label selectable (jonasschnelli)
(MarcoFalke) - #9185 6d70a73 Fix coincontrol sort issue (jonasschnelli)
  • #9094 5f3a12c Use correct conversion function for boost::path datadir
(laanwj) - #8908 4a974b2 Update bitcoin-qt.desktop (s-matthew-english)
  • #9190 dc46b10 Plug many memory leaks (laanwj)

Wallet

  • #9290 35174a0 Make RelayWalletTransaction attempt to AcceptToMemoryPool
(gmaxwell) - #9295 43bcfca Bugfix: Fundrawtransaction: don't terminate
when keypool is empty (jonasschnelli) - #9302 f5d606e Return txid even
if ATMP fails for new transaction (sipa) - #9262 fe39f26 Prefer coins
that have fewer ancestors, sanity check txn before ATMP (instagibbs)

Tests and QA

  • #9159 eca9b46 Wait for specific block announcement in p2p-compactblocks
(ryanofsky) - #9186 dccdc3a Fix use-after-free in scheduler tests
(laanwj)
  • #9168 3107280 Add assert_raises_message to check specific error message
(mrbandrews) - #9191 29435db 0.13.2 Backports (MarcoFalke)
  • 9077 1d4c884 Increase wallet-dump RPC timeout (ryanofsky)

  • 9098 ecd7db5 Handle zombies and cluttered tmpdirs (MarcoFalke)

  • 8927 387ec9d Add script tests for FindAndDelete in pre-segwit and

segwit scripts (jl2012) - #9200 eebc699 bench: Fix subtle counting issue
when rescaling iteration count (laanwj)

Miscellaneous

  • #8838 094848b Calculate size and weight of block correctly in
CreateNewBlock() (jnewbery) - #8920 40169dc Set minimum required Boost
to 1.47.0 (fanquake)
  • #9251 a710a43 Improvement of documentation of command line parameter
'whitelist' (wodry) - #8932 106da69 Allow bitcoin-tx to create v2
transactions (btcdrak) - #8929 12428b4 add software-properties-common
(sigwo)
  • #9120 08d1c90 bug: Missed one "return false" in recent refactoring in

9067 (UdjinM6) - #9067 f85ee01 Fix exit codes (UdjinM6)

  • 9340 fb987b3 [0.13] Update secp256k1 subtree (MarcoFalke)

  • 9229 b172377 Remove calls to getaddrinfo_a (TheBlueMatt)

Credits

Thanks to everyone who directly contributed to this release:
  • Alex Morcos
  • BtcDrak
  • Cory Fields
  • fanquake
  • Gregory Maxwell
  • Gregory Sanders
  • instagibbs
  • Ivo van der Sangen
  • jnewbery
  • Johnson Lau
  • Jonas Schnelli
  • Luke Dashjr
  • maiiz
  • MarcoFalke
  • Masahiko Hyuga
  • Matt Corallo
  • matthias
  • mrbandrews
  • Pavel Janík
  • Pieter Wuille
  • randy-waterhouse
  • Russell Yanofsky
  • S. Matthew English
  • Steven
  • Suhas Daftuar
  • UdjinM6
  • Wladimir J. van der Laan
  • wodry
As well as everyone that helped translating on
Transifex.
bitcoin-dev mailing list
bitcoin-dev at lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
original: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-January/013442.html
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

Facilitating Discussion of 0.9.0 FINAL of Bitcoin Core (aka Bitcoin QT)

To facilitate a detailed discussion of some of the finer points of this update, I added numbering to each bullet in release notes, and also posted it to RapGenius, where people can annotate it if they'd like.
I'm not a programmer, but I'm curious to hear what programmers and other people smarter than me have to say about all the new changes.
http://rapgenius.com/The-bitcoin-dev-team-bitcoin-090-final-lyrics
EDIT1 : Doh! Reddit detroyed all the formatting and now i'm on baby duty so can't fix it. EDIT 2: Nap time! Just fixed the formatting :)
---- 0.9.0 RELEASE NOTES ----
Part 1. RPC:
1.1 - New notion of 'conflicted' transactions, reported as confirmations: -1
1.2 - 'listreceivedbyaddress' now provides tx ids
1.3 - Add raw transaction hex to 'gettransaction' output
1.4 - Updated help and tests for 'getreceivedby(account|address)'
1.5 - In 'getblock', accept 2nd 'verbose' parameter, similar to getrawtransaction, but defaulting to 1 for backward compatibility
1.6 - Add 'verifychain', to verify chain database at runtime
1.7 - Add 'dumpwallet' and 'importwallet' RPCs
1.8 - 'keypoolrefill' gains optional size parameter
1.9 - Add 'getbestblockhash', to return tip of best chain
1.10 - Add 'chainwork' (the total work done by all blocks since the genesis block) to 'getblock' output
1.11 - Make RPC password resistant to timing attacks
1.12 - Clarify help messages and add examples
1.13 - Add 'getrawchangeaddress' call for raw transaction change destinations
1.14 - Reject insanely high fees by default in 'sendrawtransaction'
1.15 - Add RPC call 'decodescript' to decode a hex-encoded transaction script
1.16 - Make 'validateaddress' provide redeemScript
1.17 - Add 'getnetworkhashps' to get the calculated network hashrate
1.18 - New RPC 'ping' command to request ping, new 'pingtime' and 'pingwait' fields in 'getpeerinfo' output
1.19 - Adding new 'addrlocal' field to 'getpeerinfo' output
1.20 - Add verbose boolean to 'getrawmempool'
1.21 - Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed balance
1.22 - Explicitly ensure that wallet is unlocked in importprivkey
1.23 - Add check for valid keys in importprivkey
Part 2. Command-line options:
2.1 - New option: -nospendzeroconfchange to never spend unconfirmed change outputs
2.2 - New option: -zapwallettxes to rebuild the wallet's transaction information
2.3 - Rename option '-tor' to '-onion' to better reflect what it does
2.4 - Add '-disablewallet' mode to let bitcoind run entirely without wallet (when built with wallet)
2.5 - Update default '-rpcsslciphers' to include TLSv1.2
2.6 - make '-logtimestamps' default on and rework help-message
2.7 - RPC client option: '-rpcwait', to wait for server start
2.8 - Remove '-logtodebugger'
2.9 - Allow -noserver with bitcoind
Part 3. Block-chain handling and storage:
3.1 - Update leveldb to 1.15
3.2 - Check for correct genesis (prevent cases where a datadir from the wrong network is accidentally loaded)
3.3 - Allow txindex to be removed and add a reindex dialog
3.4 - Log aborted block database rebuilds
3.5 - Store orphan blocks in serialized form, to save memory
3.6 - Limit the number of orphan blocks in memory to 750
3.7 - Fix non-standard disconnected transactions causing mempool orphans
3.8 - Add a new checkpoint at block 279,000
Part 4. Wallet:
4.1 - Bug fixes and new regression tests to correctly compute the balance of wallets containing double-spent (or mutated) transactions
4.2 - Store key creation time. Calculate whole-wallet birthday
4.3 - Optimize rescan to skip blocks prior to birthday
4.4 - Let user select wallet file with -wallet=foo.dat
4.5 - Consider generated coins mature at 101 instead of 120 blocks
4.6 - Improve wallet load time
4.7 - Don't count txins for priority to encourage sweeping
4.8 - Don't create empty transactions when reading a corrupted wallet
4.9 - Fix rescan to start from beginning after importprivkey
4.10 - Only create signatures with low S values
Part 5. Mining:
5.1 - Increase default -blockmaxsize/prioritysize to 750K/50K
5.2 - 'getblocktemplate' does not require a key to create a block template
5.3 - Mining code fee policy now matches relay fee policy
Part 6. Protocol and network:
6.1 - Drop the fee required to relay a transaction to 0.01mBTC per kilobyte
6.2 - Send tx relay flag with version
6.3 - New 'reject' P2P message (BIP 0061, see https://gist.github.com/gavinandresen/7079034 for draft)
6.4 - Dump addresses every 15 minutes instead of 10 seconds
6.5 - Relay OP_RETURN data TxOut as standard transaction type
6.6 - Remove CENT-output free transaction rule when relaying
6.7 - Lower maximum size for free transaction creation
6.8 - Send multiple inv messages if mempool.size > MAX_INV_SZ
6.9 - Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSION
6.10 - Do not treat fFromMe transaction differently when broadcasting
6.11 - Process received messages one at a time without sleeping between messages
6.12 - Improve logging of failed connections
6.13 - Bump protocol version to 70002
6.14 - Add some additional logging to give extra network insight
6.15 - Added new DNS seed from bitcoinstats.com
Part 7. Validation:
7.1 - Log reason for non-standard transaction rejection
7.2 - Prune provably-unspendable outputs, and adapt consistency check for it
7.3 - Detect any sufficiently long fork and add a warning
7.4 - Call the -alertnotify script when we see a long or invalid fork
7.5 - Fix multi-block reorg transaction resurrection
7.6 - Reject non-canonically-encoded serialization sizes
7.7 - Reject dust amounts during validation
7.8 - Accept nLockTime transactions that finalize in the next block
Part 8. Build system:
8.1 - Switch to autotools-based build system
8.2 - Build without wallet by passing --disable-wallet to configure, this removes the BerkeleyDB dependency
8.3 - Upgrade gitian dependencies (libpng, libz, libupnpc, boost, openssl) to more recent versions
8.4 - Windows 64-bit build support
8.5 - Solaris compatibility fixes
8.6 - Check integrity of gitian input source tarballs
8.7 - Enable full GCC Stack-smashing protection for all OSes
Part 9. GUI:
9.1 - Switch to Qt 5.2.0 for Windows build
9.2 - Add payment request (BIP 0070) support
9.3 - Improve options dialog
9.4 - Show transaction fee in new send confirmation dialog
9.5 - Add total balance in overview page
9.6 - Allow user to choose data directory on first start, when data directory ismissing, or when the -choosedatadir option is passed
9.7 - Save and restore window positions
9.8 - Add vout index to transaction id in transactions details dialog
9.9 - Add network traffic graph in debug window
9.10 - Add open URI dialog
9.11 - Add Coin Control Features
9.12 - Improve receive coins workflow: make the 'Receive' tab into a form to request payments, and move historical address list functionality to File menu
9.13 - Rebrand to Bitcoin Core
9.14 - Move initialization/shutdown to a thread. This prevents "Not responding" messages during startup. Also show a window during shutdown
9.15 - Don't regenerate autostart link on every client startup
9.16 - Show and store message of normal bitcoin:URI
9.17 - Fix richtext detection hang issue on very old Qt versions
9.18 - OS X: Make use of the 10.8+ user notification center to display Growl-like notifications
9.19 - OS X: Added NSHighResolutionCapable flag to Info.plist for better font rendering on Retina displays
9.20 - OS X: Fix bitcoin-qt startup crash when clicking dock icon
9.21 - Linux: Fix Gnome bitcoin: URI handler
Part 10. Miscellaneous:
10.1 - Add Linux script (contrib/qos/tc.sh) to limit outgoing bandwidth
10.2 - Add '-regtest' mode, similar to testnet but private with instant block generation with 'setgenerate' RPC
10.3 - Add 'linearize.py' script to contrib, for creating bootstrap.dat
10.4 - Add separate bitcoin-cli client
submitted by WhiteyFisk to Bitcoin [link] [comments]

Bitcoin-QT 0.9 disponível para download

The Core Developers of Bitcoin released the 0.9.0 FINAL of Bitcoin Core (aka Bitcoin QT).
DOWNLOAD:
This is a Final Version, but its the same as 0.9.0rc3
Sources: https://github.com/bitcoin/bitcoin/releases http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.9.0/ https://bitcoin.org/bin/0.9.0/README.txt
Bitcoin Core version 0.9.0 is now available from:
https://bitcoin.org/bin/0.9.0/
This is a release candidate for a new major version. A major version brings both new features and bug fixes.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues

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), uninstall all earlier versions of Bitcoin, then run the installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
If you are upgrading from version 0.7.2 or earlier, the first time you run 0.9.0 your blockchain files will be re-indexed, which will take anywhere from 30 minutes to several hours, depending on the speed of your machine.
On Windows, do not forget to uninstall all earlier versions of the Bitcoin client first, especially if you are switching to the 64-bit version.

Windows 64-bit installer

New in 0.9.0 is the Windows 64-bit version of the client. There have been frequent reports of users running out of virtual memory on 32-bit systems during the initial sync. Because of this it is recommended to install the 64-bit version if your system supports it.
NOTE: Release candidate 2 Windows binaries are not code-signed; use PGP and the SHA256SUMS.asc file to make sure your binaries are correct. In the final 0.9.0 release, Windows setup.exe binaries will be code-signed.

OSX 10.5 / 32-bit no longer supported

0.9.0 drops support for older Macs. The minimum requirements are now: * A 64-bit-capable CPU (see http://support.apple.com/kb/ht3696); * Mac OS 10.6 or later (see https://support.apple.com/kb/ht1633).

Downgrading warnings

The 'chainstate' for this release is not always compatible with previous releases, so if you run 0.9 and then decide to switch back to a 0.8.x release you might get a blockchain validation error when starting the old release (due to 'pruned outputs' being omitted from the index of unspent transaction outputs).
Running the old release with the -reindex option will rebuild the chainstate data structures and correct the problem.
Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan the blockchain for missing spent coins, which will take a long time (tens of minutes on a typical machine).

Rebranding to Bitcoin Core

To reduce confusion between Bitcoin-the-network and Bitcoin-the-software we have renamed the reference client to Bitcoin Core.

Autotools build system

For 0.9.0 we switched to an autotools-based build system instead of individual (q)makefiles.
Using the standard "./autogen.sh; ./configure; make" to build Bitcoin-Qt and bitcoind makes it easier for experienced open source developers to contribute to the project.
Be sure to check doc/build-*.md for your platform before building from source.

Bitcoin-cli

Another change in the 0.9 release is moving away from the bitcoind executable functioning both as a server and as a RPC client. The RPC client functionality ("tell the running bitcoin daemon to do THIS") was split into a separate executable, 'bitcoin-cli'. The RPC client code will eventually be removed from bitcoind, but will be kept for backwards compatibility for a release or two.

walletpassphrase RPC

The behavior of the walletpassphrase RPC when the wallet is already unlocked has changed between 0.8 and 0.9.
The 0.8 behavior of walletpassphrase is to fail when the wallet is already unlocked:
> walletpassphrase 1000 walletunlocktime = now + 1000 > walletpassphrase 10 Error: Wallet is already unlocked (old unlock time stays) 
The new behavior of walletpassphrase is to set a new unlock time overriding the old one:
> walletpassphrase 1000 walletunlocktime = now + 1000 > walletpassphrase 10 walletunlocktime = now + 10 (overriding the old unlock time) 

Transaction malleability-related fixes

This release contains a few fixes for transaction ID (TXID) malleability issues:

Transaction Fees

This release drops the default fee required to relay transactions across the network and for miners to consider the transaction in their blocks to 0.01mBTC per kilobyte.
Note that getting a transaction relayed across the network does NOT guarantee that the transaction will be accepted by a miner; by default, miners fill their blocks with 50 kilobytes of high-priority transactions, and then with 700 kilobytes of the highest-fee-per-kilobyte transactions.
The minimum relay/mining fee-per-kilobyte may be changed with the minrelaytxfee option. Note that previous releases incorrectly used the mintxfee setting to determine which low-priority transactions should be considered for inclusion in blocks.
The wallet code still uses a default fee for low-priority transactions of 0.1mBTC per kilobyte. During periods of heavy transaction volume, even this fee may not be enough to get transactions confirmed quickly; the mintxfee option may be used to override the default.

0.9.0 Release notes

RPC:
Command-line options:
Block-chain handling and storage:
Wallet:
Mining:
Protocol and network:
Validation:
Build system:
GUI:
submitted by allex2501 to BrasilBitcoin [link] [comments]

From Python to Rust. Part 2: Strings, Functions & Crates/Modules. 01. PNX - RASPBERRY PI 3 - PART 1 - CryptoCoin Guide - How ... Bitcoin: Kurs-Rallye durch Zahlungs-Revolution? Changing cryptocurrency wallet location (Dogecoin - Bitcoin - Litecoin ....) How to install multiple qt coin wallets

Install Bitcoin-Qt Since version 0.9, Bitcoin-Qt was renamed to Bitcoin Core t o reduce confusion between Bitcoin-the-network and Bitcoin-the-software. Bitcoin Core is a full Bitcoin client. It is a thick client, meaning it requires the full blockchain (explained below) on local disk to operate and expose blockchain back to the network to help relay and verify transactions. Keep a copy (sync ... It might be worth noting that it is also possible to specify a custom data directory, using the -datadir=<path-to-folder> option from command line. This actually allows to have multiple running instances of bitcoin: you just need to run bitcoind/bitcoin-qt twice, specifying two different data folders. – FedFranz Oct 24 '17 at 16:36 Windows users can create a shortcut that uses the command line option datadir. Doing so directs Bitcoin Core to use, not the default data directory, but the one given as a parameter. Begin by right-clicking on the desktop and selecting New -> Shortcut. Browse to the location of the Bitcoin Core executable (C:\Program Files\Bitcoin\bitcoin-qt.exe) and click the OK button. Next, add the command ... If you want to store them in D:\BitcoinData then click on "Properties" of a shortcut to bitcoin-qt.exe and add -datadir=D:\BitcoinData at the end as an example: "C:\Program Files (x86)\Bitcoin\bitcoin-qt.exe" -datadir=d:\BitcoinData Start Bitcoin, now you will see all the files are created in the new data directory. Linux. By default Bitcoin will put its data here: ~/.bitcoin/ You need to do a ... By default, Bitcoin (or bitcoind) will look for a file named 'bitcoin.conf' in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the -datadir and -conf command-line arguments.

[index] [19627] [17970] [38804] [13155] [9426] [29934] [7677] [44330] [49219] [6171]

From Python to Rust. Part 2: Strings, Functions & Crates/Modules.

create another folder to put the .exe in, for example C:/hamburger/ and rename darkcoin-qt.exe to something else. for example, hamburger.exe for your masternode #1, create a .conf file in the C ... In this video we look at Strings, Functions and import a Rust 'rand' crate. #Bioinformatics #Python #Rust [=== Video Notes/Links ===] Article version: https:... start "" "b3coin-qt.exe" -datadir=.\ -listen=0 It simply changes the storage data directory to the current one. Usually, the qt wallet stores its files in this single location for each type of ... Qt Bitcoin Trader - trading client for Mt.Gox and BTC-e - Duration: 2:55. Андрій ... Donate some doge if it worked :D D9MgoqshfSKrEn44CDJyikyoYwfnXMYbTS Donate some Litecoin LKUhYUzviqPycCzvEEDRHYBQ9hNXvB6s87 Demo ! Demo ! Demo ! "C:\Program Files ...

#