Bitcoin Core version 0.19.1 released

Bitcoin Fullnode Install Guide for Dummies ;-)

Bitcoin Fullnode Install Guide for Dummies ;-)
Feel free to stop at Level 0 or Level 1, which is fine. More advanced configs are offered to those with more tech savvy. This guide, obviously assumes a Windows 10 install, but other OSes work fine, just find a different guide. BTW, the "For Dummies" is a callback to a set of "tech" books in the 90's intended to be as easy as possible. It is in jest and not intended to insult the reader. Finally, if you dislike the formatting, a well formatted copy can be found here
There is a fairly small subset of Bitcoin users that run a full node. I think the idea of running a full node has gotten a bad rap over the years since there is so much talk about running on a Raspberry Pi, or getting zippy SSDs. Although all of this can be fun, it is often not really required at all. Here are some ways to run a full node starting with the very simple. I'll get into more complex configs, but these are all optional.

Tech Skill Level: 0 (the basics)

  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
In many cases, thats it. If your running a new machine with a fairly good internet connection, 8 or 9 hours will be enough to complete the "Initial Block Download" (IBD). This may fill up your drive a bit, but again, on most new machines, 300 GB of space isn't that hard to come by.

Tech Skill Level: 1 (encrypted wallet)

One thing we left out in the level-0 exercise is encrypting your wallet. It's easy enough to do well, but a bit more difficult to do right. The main challenge is that humans generate really poor passwords. If you want a good password, the best way is to use something called "diceware". Basically, you just grab 4 or 5 dice and each throw of the dice represents a certain word on a special list. The throw {1,4,5,3,1} for example would be the word camping on the EFF-diceware-wordlist. So you repeat this a few times until you have a list of 8 or so words which becomes the passphrase you use to encrypt your wallet. Write it down, it is always hard to remember at first. So at level-1 your list becomes:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Choose Encrypt Wallet from the Settings menu
  5. Enter your 8 word (or so) passphrase generated using the Diceware method

Wallet Encryption Dialog

Tech Skill Level: 2 (enable pruning if needed)

Though I said "300 GB of space isn't hard to come by", some times it actually is. If space is an issue, a simple way to fix it is to tell bitcoin to simple take less space. This is called "pruning" and can take that number from 300 GB down to below 5 GB. If you can't find 5 GB, then you'll have to read ahead to level-4 to add USB storage. But the good news is, enabling pruning is pretty easy, we just add another step to our working list:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Choose Options from the Settings menu
  6. Choose Prune block storage to: and select the max size for the blocks to use
  7. Exit and restart the bitcoin application for the changes to take effect

Pruning Dialog
Note, even setting this to 1 GB will still leave you with about a 4.5 GB install. The blocks take up a lot of space, but the chainstate and other folders eat up at least 3.5 GB and they can't be pruned. Also, be aware, to disable pruning requires you to perform the entire IBD again. While pruned some other functions my be disabled as well, so just know that pruning does limit some functionality.

Tech Skill Level: 3 (verify the installer)

Although this is arguably something that should be done at level-0, some find the intricacies of comparing hash (thumbprint) values to be tedious and beyond the scope of a beginner. You will find these types of hash compares suggested quite often as a way to prevent running tainted programs. Programs are often tainted by bad disk or network performance, but most often, taint is malicious code inserted by viruses or malware. This is a way to guard yourself against those types of attacks.
What I cover here is a very basic comparison on the certificate, but a more thorough verification advised by mosts uses a program called Gpg4Win, and is beyond the scope of this beginners guide. But regardless, most users should strive to do this minimum level of validation.
  1. Download Bitcoin Core
  2. Launch the downloaded installer
  3. When prompted "Do you want to allow..." click Show more details
  4. In the details section select Show information about the publisher's certificate
  5. In the certificate window select the Details tab
  6. In the Details tab Subject should start with "CN = Bitcoin Core Code Signing Association"
  7. Ensure Thumbprint in Details reads ea27d3cefb3eb715ed214176a5d027e01ba1ee86
  8. If the checks pass, click OK to exit the certificate window and Yes to allow the installer to run.
  9. Launch the installed "Bitcoin Core" app and let it run overnight
  10. Do the wallet encryption steps here if you wish
  11. Do the optional pruning steps here if you wish

Certification Validation Windows
Note: The certificate used to sign the current Bitcoin installer is only valid from March 2020 to March 2021. After that point the thumbprint on the certificate will change. This is by design and intentional. If your reading this post after March 2021, then it is understood that the thumbprint has changed.

Tech Skill Level: 4 (use secondary storage)

We glossed over the "new machine with fairly good internet" part. Truth be known many people do not have fairly new machines, and find the IBD to take longer than the "over night" best wishes. For most people the slowdown is the disk access when calculating what is called chainstate. This requires fast random reads and writes to the disk. If you have an SSD disk, this will be no problem, but if you have a non-SSD "spinning" disk, random writes are always slow. Though an SSD will speed things up, they are pricey, so a nice middle ground may be a simple high-end USB key drive. You can get some with 10 to 15 MB/s random writes for $20 on Amazon. This is usually a order of magnitude faster than a "spinning" disk. And with pruning (see level-2), a small USB drive should be fine.
Once you decide on a drive, the tricky part will be to enable external storage. It requires editing a configuration file and adding a line. First, we want to create a directory on the key drive. You will need to determine the drive letter of your USB key drive. For the sake of this example, we will assume it is D:, but you must determine this yourself and correct the example. Once you know the drive letter, create a blank folder on the drive called Bitcoin. So for this example, creating Bitcoin on drive D: will create the path D:\Bitcoin. Once done, assuming that D: is your drive, here are the new steps including the edit of the configuration file:
  1. Download Bitcoin Core
  2. Launch the installer, verify it, then run it
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Do the optional pruning steps here if you wish
  6. Launch "Notepad" by typing "Notepad.exe" in the windows search bar then click Open
  7. Type the line datadir=D:\Bitcoin (depending on your drive letter) in the blank file
  8. Choose Save from the File menu in notepad
  9. Type %APPDATA%\Bitcoin\bitcoin.conf (note the percent signs) in the File name box
  10. Select All Files from the Save as type dropdown
  11. Click the Save button and overwrite the file if prompted
  12. Exit and restart the bitcoin application for the changes to take effect

Save As Dialog
Now that you've reached this level of technical expertise, there are many new configuration options that you can begin to modify if you wish. Most configuration data is contained in the bitcoin.conf file and learning how to maintain it is a key step for a node operator.

Tech Skill Level: 5 (all other customizations)

Here's a short list of various things you can ADD to your bitcoin.conf file. You generally just add a new line for each configuration settings.
  • addresstype=bech32
  • changetype=bech32
The addresstype / changetype allows your wallet to use the native-segwit (bech32) format. This is the most efficient and inexpensive way to spend bitcoin, and is a recommended configuration. The default uses something called p2sh-segwit which is more compatible with older wallets, but more expensive to spend.
  • minrelaytxfee=0.00000011
Changing the minrelaytxfee setting allows you to help propagate lower fee transactions. It will require more memory but TXN memory is capped at 300 MB by default anyways, so if you have enough memory, it is a good setting to choose.
  • dbcache=2048
The dbcache setting controls how many MB of memory the program will use for the chainstate database. Since this is a key bottleneck in the IBD, setting this value high (2048 MB) will greatly speed up the IBD, assuming you have the memory to spare
  • blocksdir=C:\Bitcoin
  • datadir=D:\Bitcoin
In level-4 we discussed moving the datadir to a fast external storage, but the majority of the space used for bitcoin is the blocks directory (blocksdir). Although you should always use for fastest storage for datadir, you are free to use slow storage for blocksdir. So if you only want to consume a small amount of your SSD (assumed D:) then you can keep your blocks on your slow "spinning" drive.
  • upnp=1
One of the harder challenges you may face running a node, is to get incoming connections. If you are lucky, you may find that your firewall and network HW support the uPnP protocol. If they do, this setting will allow bitcoin to configure uPnP to allow incoming connections to your node. Other methods exist to make your node reachable, but they are well beyond the scope of this guide.
submitted by brianddk to Bitcoin [link] [comments]

Test

Test
There is a fairly small subset of Bitcoin users that run a full node. I think the idea of running a full node has gotten a bad rap over the years since there is so much talk about running on a Raspberry Pi, or getting zippy SSDs. Although all of this can be fun, it is often not really required at all. Here are some ways to run a full node starting with the very simple. I'll get into more complex configs, but these are all optional.

Tech Skill Level: 0 (the basics)

  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
In many cases, thats it. If your running a new machine with a fairly good internet connection, 8 or 9 hours will be enough to complete the "Initial Block Download" (IBD). This may fill up your drive a bit, but again, on most new machines, 300 GB of space isn't that hard to come by.

Tech Skill Level: 1 (encrypted wallet)

One thing we left out in the level-0 exercise is encrypting your wallet. It's easy enough to do well, but a bit more difficult to do right. The main challenge is that humans generate really poor passwords. If you want a good password, the best way is to use something called "diceware". Basically, you just grab 4 or 5 dice and each throw of the dice represents a certain word on a special list. The throw {1,4,5,3,1} for example would be the word camping on the EFF-diceware-wordlist. So you repeat this a few times until you have a list of 8 or so words which becomes the passphrase you use to encrypt your wallet. Write it down, it is always hard to remember at first. So at level-1 your list becomes:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Choose Encrypt Wallet from the Settings Menu
  5. Enter your 8 word (or so) passphrase generated using the Diceware method

Wallet Encryption Dialog

Tech Skill Level: 2 (enable pruning if needed)

Though I said "300 GB of space isn't hard to come by", some times it actually is. If space is an issue, a simple way to fix it is to tell bitcoin to simple take less space. This is called "pruning" and can take that number from 300 GB down to below 5 GB. If you can't find 5 GB, then you'll have to read ahead to level-3 to add USB storage. But the good news is, enabling pruning is pretty easy, we just add another step to our working list:
  1. Download Bitcoin Core
  2. Launch the downloaded installer and install the app
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Choose Options from the Settings Menu
  6. Choose Prune block storage to: and select the max size for the blocks to use
  7. Exit and restart the bitcoin application for the changes to take effect

Pruning Dialog
Note, even setting this to 1 GB will still leave you with about a 4.5 GB install. The blocks take up a lot of space, but the chainstate and other folders eat up at least 3.5 GB and they can't be pruned. Also, be aware, to disable pruning requires you to perform the entire IBD again. While pruned some other functions my be disabled as well, so just know that pruning does limit some functionality.

Tech Skill Level: 3 (verify the installer)

Although this is arguably something that should be done at level-0, some find the intricacies of comparing hash (thumbprint) values to be tedious and beyond the scope of a beginner. You will find these types of hash compares suggested quite often as a way to prevent running tainted programs. Programs are often tainted by bad disk or network performance, but most often, taint is malicious code inserted by viruses or malware. This is a way to guard yourself against those types of attacks. What I cover here is a very basic comparison on the certificate, but a more thorough comparison advised by mosts uses a program called Gpg4Win, and is beyond the scope of this beginners guide. But regardless, most users should strive to do this minimum level of validation.
  1. Download Bitcoin Core
  2. Launch the downloaded installer
  3. When prompted "Do you want to allow..." click Show more details
  4. In the details section select Show information about the publisher's certificate
  5. In the certificate window select the Details tab
  6. In the Details tab Subject should start with "CN = Bitcoin Core Code Signing Association"
  7. Also ensure Thumbprint reads ea27d3cefb3eb715ed214176a5d027e01ba1ee86
  8. If the checks pass, click OK to exit the certificate window and Yes to allow the installer to run.
  9. Launch the installed "Bitcoin Core" app and let it run overnight
  10. Do the wallet encryption steps here if you wish
  11. Do the optional pruning steps here if you wish

Certification Validation Windows
Note: The certificate used to sign the current Bitcoin installer is only valid from March 2020 to March 2021. After that point the thumbprint on the certificate will change. This is by design and intentional. If your reading this post after March 2021, then it is understood that the thumbprint has changed.

Tech Skill Level: 4 (use secondary storage)

We glossed over the "new machine with fairly good internet" part. Truth me known many people do not have fairly new machines, and find the IBD to take longer than the "over night" best wishes. For most people the slowdown is the disk access when calculating what is called chainstate. This requires fast random reads and writes to the disk. If you have an SSD disk, this will be no problem, but if you have a non-SSD "spinning" disk, random writes are always slow. Though an SSD will speed things up, they are pricey, so a nice middle ground may be a simple high-end USB key drive. You can get some with 10 to 15 MB/s random writes which is usually a order of magnitude faster than a "spinning" disk. And with pruning (see level-2), a small USB drive should be fine.
Once you decide on a drive, the tricky part will be to enable external storage. It requires editing a configuration file and adding a few lines. The configuration file needs to be in both the default directory, and USB key drive, but before we do that, we want to create a directory on the key drive. You will need to determine the drive letter of your USB key drive. For the sake of this example, we will assume it is D:, but you must determine this yourself and correct the example. Once you know the drive letter, create a blank folder on the drive called Bitcoin. So for this example, creating Bitcoin on drive D: will create the path D:\Bitcoin. Once done, assuming that D: is your drive, here are the steps to edit the two configuration files:
  1. Download Bitcoin Core
  2. Launch the installer, verify it, then run it
  3. Launch the installed "Bitcoin Core" app and let it run overnight
  4. Do the wallet encryption steps here if you wish
  5. Do the optional pruning steps here if you wish
  6. Launch "Notepad" by typing "Notepad.exe" in the windows search bar then click Open
  7. Type the line datadir=D:\Bitcoin (depending on your drive letter) in the blank file
  8. Choose Save from the File menu in notepad
  9. Type %APPDATA%\Bitcoin\bitcoin.conf (note the percent signs) in the File name box
  10. Select All Files from the Save as type dropdown
  11. Click the Save button and overwrite the file if prompted
  12. Exit and restart the bitcoin application for the changes to take effect

Save As Dialog
Now that you've reached this level of technical expertise, there are many new configuration options that you can begin to modify if you wish. Most configuration data is contained in the bitcoin.conf file and learning how to maintain it is a key step for a node operator.

Tech Skill Level: 5 (all other customizations)

Here's a short list of various things you can ADD to your bitcoin.conf file. You generally just add a new line for each configuration settings.
  • addresstype=bech32
  • changetype=bech32
The addresstype / changetype allows your wallet to use the native-segwit (bech32) format. This is the most efficient and inexpensive way to spend bitcoin, and is a recommended configuration. The default uses something called p2sh-segwit which is more compatible with older wallets, but more expensive to spend.
  • minrelaytxfee=0.00000011
Changing the minrelaytxfee setting allows you to help propagate lower fee transactions. It will require more memory but TXN memory is capped at 300 MB by default anyways, so if you have enough memory, it is a good setting to choose.
  • dbcache=2048
The dbcache setting controls how many MB of memory the program will use for the chainstate database. Since this is a key bottleneck in the IBD, setting this value high (2048 MB) will greatly speed up the IBD, assuming you have the memory to spare
  • blocksdir=C:\Bitcoin
  • datadir=D:\Bitcoin
In level-4 we discussed moving the datadir to a fast external storage, but the majority of the space used for bitcoin is the blocks directory (blocksdir). Although you should always use for fastest storage for datadir, you are free to use slow storage for blocksdir. So if you only want to consume a small amount of your SSD (assumed D:) then you can keep your blocks on your slow "spinning" drive.
  • upnp=1
One of the harder challenges you may face running a node, is to get incoming connections. If you are lucky, you may find that your firewall and network HW support the uPnP protocol. If they do, this setting will allow bitcoin to configure uPnP to allow incoming connections to your node.
submitted by brianddk to brianddk [link] [comments]

AMA/Tutorial: Run a full node on AWS free tier with local LAN storage

AMA/Tutorial: Run a full node on AWS free tier with local LAN storage
This is a tutorial/AMA on how you can be running a full node, in the AWS cloud, for very low cost or even free.
I used to run a node on my local network but there is a problem with this; your public IP is broadcast, and then it gets associated with Bitcoin. Node owners are likely to own Bitcoin, and this raises your personal threat profile, validated against my IDS/IPS logs.
Run a VPN? Many VPNs are automatically blocked, or sketchy. Tor is also blocked on a large portion of the internet. Neither provide you with a real static IP, and that helps out the network.
There is a easy solution to this; run a node on the AWS free tier, and use an elastic IP so you have a static address. Bandwidth is free in, and low cost out, and you can control how much of that you use easily, and control your spent. The problem is that Amazon charges a LOT for online storage and even with a 1MB blocksize, the blockchain is very large and growing steadily! We mitigate this by using a VPN back to your network, where you can store the blockchain on a SMB share.
It is not complicated to do, but there are very many moving pieces to keep track of and configure. In order to fully trust your node, the best way is to build it from scratch. This is my goal in walking you through the process.
There are lots of ways to accomplish this same task; I only want to present one that works, and you can go from there. Once you have access to the blockchain in the cloud for reasonable prices, you can also look at things like the Lightning Network.
This article makes four major assumptions:

  1. That you have a OpenVPN server on your network and know how to configure it. I use pfSense and OpenVPN; others will work just as well, but you'll need to do a little work to figure out the particulars. If you don't know how, do not fret! There are loads of good tutorials for just about every platform. Or ask below. I also limited the user with access to the share at the firewall specifically to the IP hosting the share to lower the threat envelope.
  2. That you have the blockchain downloaded locally and reasonably up to date. If you don't, head on over to bitcoin.org and download it for OSX or Windows or Linux, whatever you use for your workstation. Follow the directions to set up the software and download/synchronize it to the network. This will take awhile! Once you've synchronized, copy the data directory to your SMB share you want the AWS instance to access. You could also synchronize everything directly on AWS too, but it will likely take longer and may cost a bit for the bandwidth.
  3. That you're on windows. OSX and Linux will have slightly different processes to connect to the instance via the terminal and SSH. If you need help, ask, and I am sure we can get you fixed up.
  4. That you've read the excellent bitcoin.org full node tutorial here: https://bitcoin.org/en/full-node

With that, on with the show!
First: Head on over to https://aws.amazon.com/ and make yourself an account.
Once you've set up you'll need to start the process of creating a virtual machine on AWS. Look for this graphic and click on it:

Start by launching a new machine

Follow the rabbit hole, and you'll be looking to create a plain jane Amazon AMI Linux instance. It looks like this:

Pick the basic AMI instance
Keep in mind you want to pick the x86 version, which is the default.

Continue clicking, you'll want to select the t2.micro instance that is eligible for the free tier for new accounts.

Pick the free tier. You can also upgrade to the smaller tier for more ram, but the micro works for now.
Now, you're going to need a way to connect to your soon-to-be-created node in the cloud. Amazon uses SSH keys to do this, so the next step means you're going to make some. You need to save this file, as if you lose it, you won't be able to access your node anymore. Much like your wallet private keys!

Beware losing your keys!

If you've made it this far, you're almost launched!
Now we need to convert the key to a format that we can use to connect to the instance from Windows. I recommend using Putty! https://www.putty.org/ if you don't have it already; if you're on OSX or Linux, you likely have what you need already.
Follow the guide here to get connected: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

Next you'll need to set up a opening in the firewall if you want incoming connections. This is done by adding to the security group in the "Network and Security" section; edit it to look like this:

Change the inbound security rules for the instance to accept incoming connections on 8333.

The hard part is over!
Optional: Configuring a static IP. Amazon calls their implementation "elastic" IPs, but it's really a static IP that you can move around between instances very easily. It will ensure your public address on AWS does not change; it isn't required, but it is better if you intend on allowing outgoing connections.
Go back to the main dashboard display.
In "Network and Security", click on "Elastic IPs".
Select Allocate New Address (blue button on top) and then select it in the table. In actions, you will see "Associate Address". Select this then assign the address to the instance you have previously configured. Done!

Next up: Log into your machine, and immediately update everything. Use the IP provided by Amazon, or the Elastic IP if you assigned one to the instance in the last step.
type: "sudo yum update"

Now, let's get the VPN configured.
First step is to install OpenVPN. We need to install the extended package library to do this.
type: "sudo amazon-linux-extras install epel"
type: "sudo yum-config-manager --enable epel"
Now you can install OpenVPN.
type: "sudo yum install openvpn"
You will need your credential file from OpenVPN; it's a file you generate that will have a .ovpn extension. But you're going to need to upload it to the instance. You can do this through the scp command on OSX or Linux, but if you're on Windows, you'll need another utility. Get WinSCP here: https://winscp.net/eng/download.php
But we'll have to tell it where your key file is so you can login. Select "New Session", then use the same IP and username as you did to connect before. We'll need to tell it about the key file though! Select the "Advanced" tab then under the SSH section, click on "Authentication" and then select your private key file you generated in the tutorial above.
Connect and upload the .ovpn file that you generated when you added a user for the VPN. This step depends on your OpenVPN configuration - ask below if you have problems.
Next, let's verify we can connect to the VPN!
type: "openvpn --config my-configuration-file-made-by-openvpn.ovpn &"
You will be prompted for a password if you configured one.
Verify operation by pinging your LAN router, e.g.
type: "ping 192.168.2.1" or the address of the SMB server where you shared the information.

Allllrighty! Next up is getting connected to your blockchain. Create a directory where the data directory will be mounted.
type: "mkdir blockchain"
We need to install samba and some utilities to get things mounted.
type: "sudo yum install samba"
type: "sudo yum install cifs-utils"

Now let's mount the folder:
type: "sudo mount -t cifs //192.168.2.100/Bitcoin ./blockchain -o user=bitcoin,vers=2.0,uid=ec2-user,gid=ec2 user,file_mode=0777,dir_mode=0777"
Where " //192.168.2.100/Bitcoin" is the address of the SMB server and share where you put the data directory from your initial sync. If you didn't, and just want to sync everything from AWS, then make sure it's a folder where your user has access. In this case, I'm assuming you've made a SMB user with the name "Bitcoin". The command will prompt you for the password to access the share. The other bits ensure you can have read and write access to the share once it's mounted in AWS.

Now we're ready for some Bitcoin! Props to the tutorial here: https://hackernoon.com/a-complete-beginners-guide-to-installing-a-bitcoin-full-node-on-linux-2018-edition-cb8e384479ea
But I'll summarize for you:
Download and then re-upload with WinSCP, or download directly to your instance with wget, the most current Bitcoin core. In this case, it's bitcoin-0.18.0-i686-pc-linux-gnu.tar.gz downloaded from https://bitcoin.org/en/bitcoin-core/.
Let's verify it hasn't been tampered with once you have it uploaded to the terminal:
type: "sha256sum bitcoin-0.18.0-i686-pc-linux-gnu.tar.gz"
Then compare that with the hash value that's listed in the SHA256SUMS.asc file on bitcoin.org. In this case, "36ce9ffb375f6ee280df5a86e61038e3c475ab9dee34f6f89ea82b65a264183b" all matches up, so we know nobody has done anything evil or nefarious to the file.
Unzip the file:
type: "tar zxvf bitcoin-0.18.0-i686-pc-linux-gnu.tar.gz"
There is a warning about a symbolic link; everything seems to work OK regardless, but if anyone knows what or how to fix, please comment.
We'll need to get some missing libraries before we can run it; these aren't in the basic AMI instance.
type: "sudo yum install glibc.i686"
type: "yum install libgcc_s.so.1"

FINALLY! We are ready to launch the program. Go to the "bin" directory inside where you unzipped the Bitcoin Core tarball. (e.g. /home/ec2-useblockchain/bitcoin-0.18.0/bin)
./bitcoind -datadir=/home/ec2-useblockchain/data
You will see the program either start to sync and download, or start to read the existing blockchain file that you put in the share from before.

Congrats!

There are a couple extra steps to have it automatically start on reboot, but let's see if anyone gets this far first. I use the "screen" program to do this, but there's also a daemon mode, and some other functionality that is discussed in the hackernoon tutorial.
The primary cost will be outgoing bandwidth. AWS charges $0.10/GB beyond 15GB; You can limit the outgoing bandwidth easily according to your budget: https://bitcoin.org/en/full-node#reduce-traffic

Hope this encourages people to try running a free, or very low cost, cloud node, with a substantially reduced threat profile.
submitted by xtal_00 to Bitcoin [link] [comments]

Gridcoin 4.0.5.0-Leisure "Elizabeth" Release

The core developers are pleased to present the 4.0.5.0 Elizabeth milestone leisure release. This is a leisure release primarily aimed at non-mandatory items and bug fixes leading up to the Fern mandatory milestone release.
This release also enables us to whitelist teams other than Gridcoin as a stepping stone for the implementation of no team requirement in Fern.
Enjoy!
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/4.0.5.0
Changelog...

Added

Changed

Removed

Fixed

submitted by jamescowens to gridcoin [link] [comments]

[DEVELOPMENT] Bitcoind IPV4 testnet port (18332) is failing to bind

[SOLVED] Thanks for everyone that have helped!


Hello everyone, this is a development problem that I'm currently having. Since the BTC Development sub is kind of inactive and I couldn't find any rule contraty to posting about BTC Development, I'll try my luck in here as I'm hopeless already. I've posted on BTC Stack Exchange but no answers also. Please, don't get me wrong, I'm trying to solve this problem for many days now, I've looked up everywhere for this.
I'm new to Bitcoin development and I'm currently having difficulties trying to make RPC calls from a Docker Container to a Bitcoin-Core daemon running in a SSH server. I suppose that the problem may be with Firewall or closed ports, but I also do not know much about Network settings.
I'm using nbobtc/bitcoind-php package to make the RPC calls with HTTP requests, and it is running in a Docker container. I'm sure the container is functional and is not the problem.
So here's what happening: when I run bitcoind in root user (but normal also won't work) in my SSH server, the IPV4 testnet port seems to be not opened. This message goes up when I run bitcoind:
Binding RPC on address 0.0.0.0 port 18332 failed.
Here's what my bitcoin.conf looks like (I want to use testnet in here). I'm using Bitcoin-Core "subversion": "Satoshi:0.17.1".
server=1 debug=net txindex=1 testnet=1 rpcuser=userb rpcpassword=test test.rpcport=18332 # I've already tried allowing the IP these 3 ways: # rpcallowip=192.168.xx.xx # My machine's IP # rpcallowip=172.19.x.x/xx # Docker's NBOBTC container IP # rpcallowip=0.0.0.0/0 # Allowing all IP datadir=/home/bitcoin-dev/.bitcoin debuglogfile=/home/bitcoin-dev/.bitcoin/debug.log 
Here's what appears in debug.log right after I run Bitcoind:
2019-05-06T14:43:10Z Bitcoin Core version v0.17.1 (release build) 2019-05-06T14:43:10Z InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1 2019-05-06T14:43:10Z Assuming ancestors of block 0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75 have valid signatures. 2019-05-06T14:43:10Z Setting nMinimumChainWork=00000000000000000000000000000000000000000000007dbe94253893cbd463 2019-05-06T14:43:10Z Using the 'sse4(1way),sse41(4way)' SHA256 implementation 2019-05-06T14:43:10Z Default data directory /root/.bitcoin 2019-05-06T14:43:10Z Using data directory /home/bitcoin-dev/.bitcoin/testnet3 2019-05-06T14:43:10Z Using config file /home/bitcoin-dev/.bitcoin/bitcoin.conf 2019-05-06T14:43:10Z Using at most 125 automatic connections (1024 file descriptors available) 2019-05-06T14:43:10Z Using 16 MiB out of 32/2 requested for signature cache, able to store 524288 elements 2019-05-06T14:43:10Z Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements 2019-05-06T14:43:10Z Using 4 threads for script verification 2019-05-06T14:43:10Z scheduler thread start 2019-05-06T14:43:10Z Binding RPC on address 0.0.0.0 port 18332 failed. 2019-05-06T14:43:10Z HTTP: creating work queue of depth 16 2019-05-06T14:43:10Z Config options rpcuser and rpcpassword will soon be deprecated. Locally-run instances may remove rpcuser to use cookie-based auth, or may be replaced with rpcauth. Please see share/rpcauth for rpcauth auth generation. 2019-05-06T14:43:10Z HTTP: starting 4 worker threads 2019-05-06T14:43:10Z Using wallet directory /home/bitcoin-dev/.bitcoin/testnet3/wallets 2019-05-06T14:43:10Z init message: Verifying wallet(s)... 2019-05-06T14:43:10Z Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2019-05-06T14:43:10Z Using wallet wallet.dat 2019-05-06T14:43:10Z BerkeleyEnvironment::Open: LogDir=/home/bitcoin-dev/.bitcoin/testnet3/wallets/database ErrorFile=/home/bitcoin-dev/.bitcoin/testnet3/wallets/db.log 2019-05-06T14:43:10Z net: setting try another outbound peer=false 2019-05-06T14:43:10Z Cache configuration: 2019-05-06T14:43:10Z * Using 2.0MiB for block index database 2019-05-06T14:43:10Z * Using 56.0MiB for transaction index database 2019-05-06T14:43:10Z * Using 8.0MiB for chain state database 2019-05-06T14:43:10Z * Using 384.0MiB for in-memory UTXO set (plus up to 286.1MiB of unused mempool space) 2019-05-06T14:43:10Z init message: Loading block index... 2019-05-06T14:43:10Z Opening LevelDB in /home/bitcoin-dev/.bitcoin/testnet3/blocks/index 2019-05-06T14:43:10Z Opened LevelDB successfully 2019-05-06T14:43:10Z Using obfuscation key for /home/bitcoin-dev/.bitcoin/testnet3/blocks/index: 0000000000000000 2019-05-06T14:43:19Z LoadBlockIndexDB: last block file = 161 2019-05-06T14:43:19Z LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=755, size=30875345, heights=1513309...1514061, time=2019-04-29...2019-05-03) 2019-05-06T14:43:19Z Checking all blk files are present... 2019-05-06T14:43:20Z Opening LevelDB in /home/bitcoin-dev/.bitcoin/testnet3/chainstate 2019-05-06T14:43:20Z Opened LevelDB successfully 2019-05-06T14:43:20Z Using obfuscation key for /home/bitcoin-dev/.bitcoin/testnet3/chainstate: 2686d59caeb1917c 2019-05-06T14:43:20Z Loaded best chain: hashBestChain=00000000b3b6a5db140b6058b7abe5cb00d8af61afd2a237ae3468cd36e387fa height=927391 date=2016-09-08T15:04:00Z progress=0.311180 2019-05-06T14:43:20Z init message: Rewinding blocks... 2019-05-06T14:43:29Z init message: Verifying blocks... 2019-05-06T14:43:29Z Verifying last 6 blocks at level 3 2019-05-06T14:43:29Z [0%]...[16%]...[33%]...[50%]...[66%]...[83%]...[99%]...[DONE]. 2019-05-06T14:43:29Z No coin database inconsistencies in last 6 blocks (500 transactions) 2019-05-06T14:43:29Z block index 19450ms 2019-05-06T14:43:29Z Opening LevelDB in /home/bitcoin-dev/.bitcoin/testnet3/indexes/txindex 2019-05-06T14:43:30Z Opened LevelDB successfully 2019-05-06T14:43:30Z Using obfuscation key for /home/bitcoin-dev/.bitcoin/testnet3/indexes/txindex: 0000000000000000 2019-05-06T14:43:30Z init message: Loading wallet... 2019-05-06T14:43:30Z txindex thread start 2019-05-06T14:43:30Z [default wallet] nFileVersion = 170100 2019-05-06T14:43:30Z [default wallet] Keys: 2005 plaintext, 0 encrypted, 2005 w/ metadata, 2005 total. Unknown wallet records: 1 2019-05-06T14:43:30Z Syncing txindex with block chain from height 694205 2019-05-06T14:43:30Z [default wallet] Wallet completed loading in 123ms 2019-05-06T14:43:30Z [default wallet] setKeyPool.size() = 2000 2019-05-06T14:43:30Z [default wallet] mapWallet.size() = 7 2019-05-06T14:43:30Z [default wallet] mapAddressBook.size() = 4 2019-05-06T14:43:30Z mapBlockIndex.size() = 1515581 2019-05-06T14:43:30Z nBestHeight = 927391 2019-05-06T14:43:30Z torcontrol thread start 2019-05-06T14:43:30Z Bound to [::]:18333 2019-05-06T14:43:30Z Bound to 0.0.0.0:18333 2019-05-06T14:43:30Z init message: Loading P2P addresses... 2019-05-06T14:43:30Z Loaded 10420 addresses from peers.dat 36ms 2019-05-06T14:43:30Z init message: Loading banlist... 2019-05-06T14:43:30Z Loaded 0 banned node ips/subnets from banlist.dat 29ms 2019-05-06T14:43:30Z init message: Starting network threads... 2019-05-06T14:43:30Z net thread start 2019-05-06T14:43:30Z dnsseed thread start 2019-05-06T14:43:30Z addcon thread start 2019-05-06T14:43:30Z msghand thread start 2019-05-06T14:43:30Z init message: Done loading 2019-05-06T14:43:30Z opencon thread start 
After all that appears above, there are just "UpdateTip", "Requesting block", "received block" and "getdata" messages. (so the P2P port, 18333, works).

And here is when I netstat:

sudo netstat -nap|grep bitcoin|grep LISTEN
tcp 0 0 0.0.0.0:18333 0.0.0.0:* LISTEN 31185/bitcoind tcp6 0 0 :::18332 :::* LISTEN 31185/bitcoind tcp6 0 0 :::18333 :::* LISTEN 31185/bitcoind 
Thank you in advance!

PS: A few days ago I could make it work when running bitcoind with root user, but now even that won't solve the problem.
submitted by VicPietro to Bitcoin [link] [comments]

Bitcoin core v18.0 keeps crashing on cloud server. Help.

I am trying to synchronize a full node on a Digital Ocean instance with 3GB of RAM and 300 GB disk space. However, I noticed that bitcoin core is crashing very frequently. From the instance monitoring, it seems like it's a RAM issue: https://imgur.com/a/KuMev4A
Thought that 3GB of RAM were more than enough but apparently not. What is the recommended RAM then?
Here is how I installed bitcoin core:
 wget https://bitcoincore.org/bin/bitcoin-core-0.18.0/bitcoin-0.18.0-x86_64-linux-gnu.tar.gz; tar -zxvf bitcoin-0.18.0-x86_64-linux-gnu.tar.gz; cp -r bitcoin-0.18.0/bin/* /uslocal/bin; 
My bitcoin.conf is:
 maxmempool=30000 mempoolexpiry=99999 minrelayfee=0 maxconnections=50 rest=1 txindex=1 dbcache=300 
I don't notice anything in debug.log: https://pastebin.com/SkrEzmTb
I don't have anything else running on this instance.
EDIT: after adding some swap memory, bitcoin core doesn't crash anymore but it seems to be synchronizing extremely slowly while RAM usage stays around 97%
EDIT2: replaced bitcoin.conf:
EDIT3: new bitcoin.conf
 rest=1 txindex=1 dbcache=2000 datadir=/mnt/volume_fra1_01/.bitcoin 
submitted by johnturtle to BitcoinBeginners [link] [comments]

Help: Bitcoin Core does not auto start in Ubuntu with -datadir option

Please can someone help me out?
I have installed Ubuntu in VirtualBox to host Bitcoin Core. In VirtualBox I assigned a special disk with the blockchain. I am however new to Ubuntu. I am a Windows crack.
When I start bitcoin core from a terminal command prompt like:
bitcoin-qt -datadir=/media//Blockchain
then Bitcoin core starts correctly. "" is my username to login to Ubuntu. "Blockchain" is how the disk is named in VirtualBox. The host system is Windows 10.
However when I configure this command in the 'startup applications' of Ubuntu to start bitcoin core automatically when Ubuntu starts, I get the error message the path cannot be found.
While I am writing this post, I think it may be possible Ubuntu did not logged me in under username yet when auto starting bitcoin core, but this is a wild quess.
Is there an Ubuntu crack who can help me out please?
submitted by pdlvw 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]

Reddit forensics: Since 16 May 2017, Reddit displays the View Count on your posts. I made 37 posts since then: 29 got < 1000 views, 5 got 1000-2000 views (70-91% upvoted), 2 got 2000-3000 views (82-91% upvoted). And my post arguing "SegWit = MERS" got a whopping 8500 views (only 50% upvoted). Weird!

A few days ago I made a post where I argued that "SegWit = MERS" - tying together the 2010 Mortgage Crisis caused by MERS (Mortgage Electronic Registration Systems or MERS) with an article by legal expert Jimmy Nguyen of nChain:
Risk of SegWit – U.S. Contract Law
https://nchain.com/en/blog/risk-of-segwit-us-contract-law/
My "SegWit = MERS" post argued that SegWit will cause the same kind of catastrophe with Bitcoin that MERS (the Mortgage Electronic Registration Systems company / database) caused with the mortage industry - since SegWit and MERS both encourage deleting the "chain of ownership data".
That "SegWit = MERS" post was about a relatively obscure economic topic - but it got a whopping 8500 views - over 10x the median number of views for my posts.
But now suddenly that one one post arguing "SegWit = MERS" got a whopping 8500 views - but only 50% upvoted.
I have no idea why this happened - and I'm not complaining about these "statistical anomalies" associated with that one post arguing that "SegWit = MERS".
But I do think it is "interesting" that suddenly such an extremely high number of "people" wanted to read (and downvote) a post which made the (relatively obscure) economic argument that "SegWit = MERS".
Did that "SegWit = MERS" post strike a nerve?
And why did it only get downvotes - but no real rebuttals? (One guy linked to some C++ code - but a few lines of C++ code do not refute the argument that SegWit encourages deleting the "chain of ownership data" for bitcoins.)
ಠ_ಠ
Data
Below are the 8 posts (out of 37 total posts) that got over 1000 views, with View Count, Upvoted Percent, and Points - and these 8 posts are sorted from highest to lowest View Count.
So the first post in this listing (the post arguing "SegWit = MERS") is the one that's the "statistical anomaly" or "outlier", with:
SegWit would make it HARDER FOR YOU TO PROVE YOU OWN YOUR BITCOINS. SegWit deletes the "chain of (cryptographic) signatures" - like MERS (Mortgage Electronic Registration Systems) deleted the "chain of (legal) title" for Mortgage-Backed Securities (MBS) in the foreclosure fraud / robo-signing fiasco
65 points - 50% upvoted - 8.5k views
https://np.reddit.com/btc/comments/6oxesh/segwit_would_make_it_harder_for_you_to_prove_you/
CENSORED (twice!) on r\bitcoin in 2016: "The existing Visa credit card network processes about 15 million Internet purchases per day worldwide. Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling." - Satoshi Nakomoto
416 points - 91% upvoted - 3.0k views
https://np.reddit.com/btc/comments/6l7ax9/censored_twice_on_rbitcoin_in_2016_the_existing/
Skype is down today. The original Skype was P2P, so it couldn't go down. But in 2011, Microsoft bought Skype and killed its P2P architecture - and also killed its end-to-end encryption. AXA-controlled Blockstream/Core could use SegWit & centralized Lightning Hubs to do something similar with Bitcoin
442 points - 82% upvoted - 2.8k views
https://np.reddit.com/btc/comments/6ib893/skype_is_down_today_the_original_skype_was_p2p_so/
Gavin Andresen: "Let's eliminate the limit. Nothing bad will happen if we do, and if I'm wrong the bad things would be mild annoyances, not existential risks, much less risky than operating a network near 100% capacity." (June 2016)
385 points - 89% upvoted - 1.4k views
https://np.reddit.com/btc/comments/6delid/gavin_andresen_lets_eliminate_the_limit_nothing/
What is up with all these Bitcoin devs who think that their job includes HARD-CODING CERTAIN VALUES THAT ARE SUPPOSED TO BE USER-CONFIGURABLE (eg: "seed servers")?
118 points - 79% upvoted - 1.3k views
https://np.reddit.com/btc/comments/6nh00q/what_is_up_with_all_these_bitcoin_devs_who_think/
I just figured out a lot today - about Bitcoin, about scaling, about "Satoshi", about trolls and downvotes and snowflakes. And for the first time in years, I am very, very optimistic about the future of Bitcoin - because of a certain eccentric, arrogant, capitalist mathematician who curses a lot.
71 points - 70% upvoted - 1.2k views
https://np.reddit.com/btc/comments/6kpi36/i_just_figured_out_a_lot_today_about_bitcoin/
"It's funny Core never wanted a compromise until they were losing. Fuck them, they lost, no compromise. Winner takes all, bitches." ~ u/zimmah
192 points - 76% upvoted - 1.1k views
https://np.reddit.com/btc/comments/6d35ie/its_funny_core_never_wanted_a_compromise_until/
u/theymos: "I can't recommend running BIP148 software. Doing so will likely cause you to break away from the real Bitcoin currency on the flag day, create a mess of your datadir which you'll need to manually clean up, and theoretically there are opportunities for losses due to counterfeit BTC." Wow!
144 points - 91% upvoted - 1.1k views
https://np.reddit.com/btc/comments/6e6qri/utheymos_i_cant_recommend_running_bip148_software/
Analysis
So the first post in the list of 8 posts above (the one where I argued "SegWit = MERS") is the "statistical anomaly" or "outlier".
Actually that "SegWit = MERS" post is a "statistical anomaly" in two ways:
  • The "SegWit = MERS" post has an extremely high high View Count compared to all my other posts (8500 views - versus a median of under 1000 views).
  • The "SegWit = MERS" post has (relatively) low Upvoted Percent / Points (only 50% - versus 70%-90% on all my other posts with over 1000 views).
Number of Posts View Count % Upvoted Points
29 < 1000
5 1000-2000 70-91% 70-380
2 2000-3000 82-91% 410-440
1 : "SegWit = MERS" 8500 50% 65
Remarks
I'm not complaining about that post getting "only" 50% Upvoted - or about getting an extremely high View Count of 8500!
But I do think there may be something "interesting" happening here:
  • The vast majority of my posts (29 out of 37) get less than 1000 View Count.
  • Only 5 of my posts (out of 37) got 1000-2000 View Count (and Upvoted Percent 70-91%).
  • Only 2 posts (out of 37) got 2000-3000 View Count (and Upvoted Percent 82-91%).
  • Suddenly, this one weird post (arguing that "SegWit = MERS") got a gigantic 8500 View Count (and Upvoted Percent only 50%).
  • Also, none of the commenters on that post (except for u/metalzip) actually made any arguments. User u/metalzip provided links to some C++ code on GitHub. All the other comments were just content-free drive-by hate.
  • The arguments from u/metalzip may have been serious - but it is not clear whether they were convincing.
  • We still do not have any conclusive evidence showing that SegWit will not cause a catastrophe by encouraging people to delete the "chain of ownership data".
  • Finally, it is disturbing (actually, it is outrageous) that the only hard "facts" being pointed to, in this debate about the specification of the most radical and irresponsible change ever in the economic incentives and security model of what may be the world's next world currency, is a few incrutable lines of C++ code.
  • C++ code is totally adequate for expressing and discussing User Needs and Requirements for important computer systems such as Bitcoin, involving social, economic, legal and "game theory" aspects.
  • If SegWit encourages people to delete the "chain of ownership" data, then this is something we need to talk about - a lot. Just pointing to a few lines of C++ code is not the way to debate this radical change to the economic incentives and security model of Bitcoin.
In other words:
  • Nobody gave a serious rebuttal the to my argument that "SegWit = MERS" - or to legal expert Jimmy Nguyen’s arguments in his bombshell article Risk of SegWit – U.S. Contract Law, where he talked about the legal catastrophe which SegWit could cause by deleting the "chain of ownership data" for bitcoins being transferred among parties.
  • Someone merely pointed to some lines of C++ code - but this does not constitute a refutation of the argument that "SegWit = MERS".
  • More discussion about the possibility that "SegWit = MERS" is warranted (including analysis of social, economic, legal and "game theory" aspects) - beyond someone merely pointed to some lines of C++ code.
The fact is: both MERS and SegWit encourage deleting the "chain of ownership" data - for mortgages and for bitcoins.
This major change to the economic incentives and security model of Bitcoin needs much more debate. Merely pointing to a few lines of C++ code on GitHub does nothing to rebut the arguments made in my "SegWit = MERS" post, or in legal expert Jimmy Nguyen's bombshell article Risk of SegWit – U.S. Contract Law.
In fact, this kind of hand-waving about obscure technical details is exactly what caused the MERS catastrophe in the first place - which is why we should be alarmed that economically and legally ignorant devs paid by banksters are trying to pull the exact same hocuc-pocus on us again - now with SegWit.
Suddenly 8500 "people" wanted to read an obscure economic argument that "SegWit = MERS" - and one of them rebutted it... with some lines of C++ code??
Previously, I have have pointed out that many devs at Core & AXA-owned Blockstream devs are clueless about economics:
Adam Back & Greg Maxwell are experts in mathematics and engineering, but not in markets and economics. They should not be in charge of "central planning" for things like "max blocksize". They're desperately attempting to prevent the market from deciding on this. But it will, despite their efforts.
https://np.reddit.com/btc/comments/46052e/adam_back_greg_maxwell_are_experts_in_mathematics/
Greg Maxwell u/nullc says "The next miner after them sets their minimum [fee] to some tiny value ... and clears out the backlog and collects a bunch of funds that the earlier miner omitted" - like it's a BAD THING. Greg is proposing a SUPPLY-LIMITING AND PRICE-FIXING CARTEL, like it's a GOOD THING.
https://np.reddit.com/btc/comments/5i4885/greg_maxwell_unullc_says_the_next_miner_afte
Gregory Maxwell nullc has evidently never heard of terms like "the 1%", "TPTB", "oligarchy", or "plutocracy", revealing a childlike naïveté when he says: "‘Majority sets the rules regardless of what some minority thinks’ is the governing principle behind the fiats of major democracies."
https://np.reddit.com/btc/comments/44qr31/gregory_maxwell_unullc_has_evidently_never_heard/
Wladimir van der Laan (Lead Maintainer, Bitcoin Core) says Bitcoin cannot hard-fork, because of the "2008 subprime bubble crisis" (??) He also says "changing the rules in a decentralized consensus system is a very difficult problem and I don’t think we’ll resolve it any time soon." But Eth just did!
https://np.reddit.com/btc/comments/4ttv32/wladimir_van_der_laan_lead_maintainer_bitcoin/
So now, 8500 "people" wanted to read an obscure economic argument that "SegWit = MERS" - and half of the voters them downvoted it - and one of them rebutted it... with some lines of C++ code (which hardly anyone in the community is able to read)??
This is how we are going to decide major questions such as the possibility that "SegWit = MERS"??
ಠ_ಠ
How this analysis was performed
Since 16 May 2017, you can check the View Count for each of your posts on Reddit - if you're logged in.
And there is also a special URL syntax you can use to search for posts on Reddit in a custom date range.
Here's the announcement from Reddit on 16 May 2017, about the new "View Count" statistic:
[reddit change] Post view counts, users here now and traffic page updates
https://np.reddit.com/changelog/comments/6bj0iy/reddit_change_post_view_counts_users_here_now_and/
Here's the explanation of how to use CloudSearch to search for posts on Reddit within a custom date range:
Use Cloudsearch to search for posts on reddit within a time frame
https://np.reddit.com/reddittips/comments/2ix73n/use_cloudsearch_to_search_for_posts_on_reddit/
Here's the CloudSearch URL I used to filter my posts on Reddit from May 15, 2017 to July 27, 2017:
https://np.reddit.com/btc/search?sort=relevance&q=author%3A%22ydtm%22+timestamp%3A1494806400..1500938780&restrict_sr=on&syntax=cloudsearch
If you want to customize the above CloudSearch URL for yourself (and for different dates), then make the following 2 changes:
  • Change my Reddit name ydtm to your Reddit name, and
  • Use a site like Epoch Converter to convert the "from" and "to" dates to UNIX timestamp format, and change the date range 1494806400..1500938780 to your date range in the URL above.
Conclusion
So the new View Count statistic could provide useful new information about who is viewing and reacting to your posts.
Maybe someone could come up with some theories why 8500 "people" would view a post making the rather obscure economic argument that "SegWit = MERS".
Maybe arguing that "SegWit = MERS" struck a nerve?
Meanwhile, more discussion is needed about the bombshell article Risk of SegWit – U.S. Contract Law, where Jimmy Nguyen talked about the legal catastrophe which SegWit could cause by deleting the "chain of ownership data" for bitcoins being transferred among parties.
submitted by ydtm to btc [link] [comments]

Why is does it take so long to shut down an node used only as a JSON-RPC server?

I'm trying to sync a full node that will only be used as a JSON-RPC server (no mining). I tried to modify the config file and added a service unit, so that the node can run in a low-end VPS with minimum RAM and CPU capabilities. The problem is that the server takes too long to stop, and it's terminated by the system, so it always start rewinding blocks that have been already downloaded.
Here is my configuration file:
server=1 daemon=1 #debug=mempool debug=rpc # If run on the test network instead of the real bitcoin network # testnet=1 # You must set rpcuser and rpcpassword to secure the JSON-RPC api # Please make rpcpassword to something secure, `5gKAgrJv8CQr2CGUhjVbBFLSj29HnE6YGXvfykHJzS3k` for example. # Listen for JSON-RPC connections on  (default: 8332 or testnet: 18332) rpcuser=myuser rpcpassword=pypassword rpcport=8332 # Enable blocks pruning #prune=550 # Limit dbcache=50 maxconnections=4 rpcthreads=2 
And the service unit:
# It is not recommended to modify this file in-place, because it will # be overwritten during package upgrades. If you want to add further # options or overwrite existing ones then use # $ systemctl edit bitcoind.service # See "man systemd.service" for details. # Note that almost all daemon options could be specified in # /etc/bitcoin/bitcoin.conf [Unit] Description=Bitcoin daemon After=network.target [Service] ExecStart=/usbin/bitcoind -daemon=0 -datadir=/home/jsonrpc/bitcoin -conf=/home/jsonrpc/bitcoin/settings.conf ExecStop=/usbin/bitcoin-cli -datadir=/home/jsonrpc/bitcoin -conf=/home/jsonrpc/bitcoin/settings.conf stop # Creates /run/bitcoind owned by bitcoin #RuntimeDirectory=/home/jsonrpc/bitcoin WorkingDirectory=/home/jsonrpc/bitcoin User=jsonrpc Group=jsonrpc TimeoutStopSec=15m #CPUQuota=4% #MemoryLimit=128M #IOReadIOPSMax=10 #IOWriteIOPSMax=10 Type=simple #Restart=on-failure # Hardening measures #################### # Provide a private /tmp and /vatmp. PrivateTmp=true # Mount /usr, /boot/ and /etc read-only for the process. ProtectSystem=full # Disallow the process and all of its children to gain # new privileges through execve(). NoNewPrivileges=true # Use a new /dev namespace only populated with API pseudo devices # such as /dev/null, /dev/zero and /dev/random. PrivateDevices=true # Deny the creation of writable and executable memory mappings. # Commented out as it's not supported on Debian 8 or Ubuntu 16.04 LTS #MemoryDenyWriteExecute=true [Install] WantedBy=multi-user.target 
submitted by rraallvv to Bitcoin [link] [comments]

Bitcoind over tor. A miniguide from personal experience (I'm not an expert)

The problem

Light SPV clients are today the best solution to use bitcoin on a mobile without leaving your secret key in the hands of a company but:

Mitigation

1) With many SPV light clients today you can connect to nodes you choose and they can so be either trusted or even controlled by you (es: one node at home and one node at the office)
2) If this connection is over Tor you can avoid being eavesdropped by someone being it a criminal or a malicious or censoring third part
3) Your transactions are not linked to a given or known IP address

The setup

1) Download and synchronize the blockchain with your node
mv BitcoinDatadipeers.dat /tmp 
this will move the file peers.dat to /tmp (which is better for your privacy).
2) From your tor setup directory
cp torrc.sample torrc tor --hash-password "" ->  
to set up a control port and a password for an external application in our case is bitcoin
https://stem.torproject.org/tutorials/the_little_relay_that_could.html
3) add these lines to your torrc file

torrc

ControlPort 9051 CookieAuthentication 1 HashedControlPassword  
add these lines to your bitcoin.conf file

bitcoin.conf

 proxy=127.0.0.1:9050 listen=1 onlynet=onion listenonion=1 discover=0 torcontrol=127.0.0.1:9051 torpassword= 
4) start tor
tor 
5) start bitcoind
bitcoind -daemon 
On your mobile setup your SPV client to run on Tor.
Greenbits works well with Orbot.
Tell your client to connect via SPV to your new onion address.
Bonus: you don't need to open any port on your router at home or at the office.
This is a mini straight forward guide by a non expert.
I encourage you to study the documentation at
https://www.torproject.org/docs/documentation.html.en
as well as:
https://github.com/bitcoin/bitcoin/blob/mastedoc/tor.md
submitted by gabridome to Bitcoin [link] [comments]

bitcoin daemon service gets stuck in the command-line

I modified bitcoin.service like follows
# It is not recommended to modify this file in-place, because it will # be overwritten during package upgrades. If you want to add further # options or overwrite existing ones then use # $ systemctl edit bitcoind.service # See "man systemd.service" for details. # Note that almost all daemon options could be specified in # /etc/bitcoin/bitcoin.conf [Unit] Description=Bitcoin daemon After=network.target [Service] ExecStart=/usbin/bitcoind -daemon -datadir=/home/deploy/.bitcoin -conf=/home/deploy/.bitcoin/bitcoin.conf -pid=/run/bitcoind.pid # Creates /run/bitcoind owned by bitcoin RuntimeDirectory=bitcoind User=deploy Group=deploy Type=forking PIDFile=/run/bitcoind.pid Restart=on-failure # Hardening measures #################### # Provide a private /tmp and /vatmp. PrivateTmp=true # Mount /usr, /boot/ and /etc read-only for the process. ProtectSystem=full # Disallow the process and all of its children to gain # new privileges through execve(). NoNewPrivileges=true # Use a new /dev namespace only populated with API pseudo devices # such as /dev/null, /dev/zero and /dev/random. PrivateDevices=true # Deny the creation of writable and executable memory mappings. # Commented out as it's not supported on Debian 8 or Ubuntu 16.04 LTS #MemoryDenyWriteExecute=true [Install] WantedBy=multi-user.target 
so that the settings and data are kept under the user deploy's home directory, the only problem is that when I run the command to start the service, it gets stuck as if it wasn't running in daemon mode. Then I have to enter CTR-C to get the command prompt again.
$ sudo systemctl start bitcoind ^C $ sudo systemctl status bitcoind ● bitcoind.service - Bitcoin daemon Loaded: loaded (/lib/systemd/system/bitcoind.service; disabled; vendor preset: enabled) Active: activating (start) since Thu 2018-10-04 01:45:26 CEST; 25s ago Process: 51145 ExecStart=/usbin/bitcoind -daemon -datadir=/home/deploy/.bitcoin -conf=/home/deploy/.bitcoin/bitcoin.conf -pid=/run/bitcoind.pid (code=exited, status=0/SUCCESS) Tasks: 12 Memory: 578.0M CPU: 14.100s CGroup: /system.slice/bitcoind.service └─51147 /usbin/bitcoind -daemon -datadir=/home/deploy/.bitcoin -conf=/home/deploy/.bitcoin/bitcoin.conf -pid=/run/bitcoind.pid Oct 04 01:45:26 host systemd[1]: Starting Bitcoin daemon... Oct 04 01:45:26 host systemd[1]: bitcoind.service: PID file /run/bitcoind.pid not readable (yet?) after start: No such file or directory 
submitted by rraallvv to Bitcoin [link] [comments]

How to easily make your own trustless BU Docker image for 1.0.0

Docker is awesome for running a BU node, but at the same time, I always felt very ambivalent about trusting bitcoin software being delivered by a 3rd party. What if they sneak in some kind of back door into my client?
For this reason, I think the best thing to do is to write your own basic docker package and build it yourself. Here's a basic sample for a Dockerfile to build BU 1.0.0 (I found it online and updated it slightly):
FROM debian:jessie ARG VERSION=1.0.0 ARG SHA256HASH=65b2061c7de35afa2f094f27aa48ef6c5a75a54ea0516948303a04c65ecbc2d5 RUN apt-get update && \ apt-get install -y wget ca-certificates && \ apt-get clean && \ wget https://www.bitcoinunlimited.info/downloads/bitcoinUnlimited-${VERSION}-linux64.tar.gz && \ echo "${SHA256HASH} bitcoinUnlimited-${VERSION}-linux64.tar.gz" | sha256sum -c - && \ tar -xzvf bitcoinUnlimited-${VERSION}-linux64.tar.gz -C /uslocal --strip-components=1 && \ rm bitcoinUnlimited-${VERSION}-linux64.tar.gz VOLUME /vabitcoin EXPOSE 8333 ENTRYPOINT ["bitcoind","-printtoconsole","-datadir=/vabitcoin","-dbcache=4000"] 
Anyone with a basic knowledge of Unix should be able to verify this script as legit. It downloads BU directly from the BU website over HTTPS. It checks the hash. It is all contained in this one file, so there's no code to chase around and verify. On Mac, I installed Docker using the package that the docker team provides on their website (rather than using brew) -- it's nice.
Create a new directory and place the above text into a file called "Dockerfile". From there, simply run:
docker build -t bitcoin-unlimited . docker image save bitcoin-unlimited | gzip > bitcoin-unlimited.tar.gz 
Congrats, now you have a docker archive created. You can generally import this archive wherever you want. For example, my Network Attached Storage server has support for containers, so I just imported it there using the web UI.
Note: the script I gave doesn't set up the bitcoin RPC stuff for being able to use bitcoin-cli. If you want to set that up, do something more like this guy's scripts: https://github.com/jrruethe/docker-bitcoin-unlimited
@ BU Team would love to have an official docker + vm image delivered securely from your site
submitted by garoththorp to btc [link] [comments]

I may have fucked up ? (reward from the retrieval for help)

I purchased half a coin earlier today and didnt know much about bitcoin so i was oblivious to the fact that i needed to download the entire blockchain, after about 8 hours it was three quarters finished i found out i had filled my drive. I then tried to use this:
"-datadir=d:\BitCoinData"
with the intentions to move the blockchain to that folder. then it made which i beleive a new wallet. I downloaded the chain again and later tried to switch the wallet.dat file from the last wallet. now it shows the recieve history with the intended transfer but no actual btc in my wallet.
Edit: Thank you all for help, made it alot easier to deal with !!
submitted by Happymessy to Bitcoin [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]

rPi3 full node sync woes

preface: a couple of weeks ago there was a thread about someone running x86/x64 hardware and was concerned with the time taken to perform a full sync. i added a comment, slightly off topic, stating i had been running a full node on a Rpi3 for 8 days, and i was estimating a 2 week sync end-2-end - more of a FYI comment than anything "helpful".
... estimated 2 weeks full sync ...
today i'm on day 16 (i had to reboot on the 8th day, so did shutdown bitcoind via cli before "init 6" - downtime was no more than 20 minutes) but i'm still only upto block 373600-odd.
whilst i know a rpi3 is not known for it's stella CPU performance, i would have expected this to have completed by now.
i'm using an external 1TB hdd (brand new WD mechanical laptop) for storage, on the latest raspbian build, and bitcoind was built afresh from git (built 13.1 loosely using the following guide: http://raspnode.com/diyBitcoin.html . console-only raspbian install, but full wallet compile)
my questions
first, is anyone else out there doing the same as me?!
should i have expected this to have completed by now? or am i being hopefull and what i'm seeing is average
are there any addional configurations i should try, such as cache sizes or other command line switches? currently running straight-out-of-the-tin: "bitcoind --datadir=/home/pi/bitcoinData --daemon"
clincher: is a rpi3 really suitable for a node, or is better hardware really a requirement nowerdays?
additional:
net conx is 150M-down/15M-up, unthrottled, so i dont suspect external/internet interference
connections count to other nodes seems to bounce from 3-20 randomly. as i type this it's at 7
the cli command interface sometimes completes in a second, sometimes upto 30 seconds
i don't know: am i expecting more than i should be outta this device, or am i really having an issue. I know it takes a while for a full sync, but i was kinda expecting this to be done by now.
it is "working", in a fashion, as the block count is going up, but it's sloooooow!
any suggestions/feedback welcomed.
edit: formatting
submitted by RandomUserBob to Bitcoin [link] [comments]

Sent BTC from wallet to another, both wallets empty

I wanted to move my bitcoins from Bitcoin QT to Electrum. I took electrum's address, sent it from QT and both wallets are empty. I had to do some critical system funcitons which was the impetus to this move. QT was 50% of my harddrive. I made the move, was too pressed for time to confirm the transaction, and deleted bitcoin folder.
I made a backup of the wallet just in case. A few days later, I noticed the funds never made it to electrum. Loaded the backup on QT just to be sure, and QT is empty as well.
Are the bitcoins gone or can I investigate this further? It was .91 BTC.
edit: Resolved! For anyone who may be having the same issue and searches for this.. There was a lot of good info but litecoin-p2pool pointed out that due to a datadir command I performed to mvoe the directory from C:\ to d:\, I inadvertently created a new wallet. Bringing the original wallet back to d:\ performed a rescan which turned up the coins.
submitted by pawsforbear to BitcoinBeginners [link] [comments]

The bitcoin-qt core wallet in pruned mode, cold storage and scaling: test results.

CONCLUSION
 
DETAILS
First a wallet was created in the following way:
bitcoin-qt -connect=wrong_ip_address -prune=550 -listen=0 -datadir=/home/use.bitcoin_pruned &
The trick here is to add a wrong ip address so bitcoin-qt won't start loading blocks. The -listen=0 makes it possible to run bitcoin-qt while bitcoind (as a full archival node) is running in the background on the same computer.
 
Now some "watch only" addresses, that already had some bitcoin in them, were added
(in bitcoin-qt: help -> Debug window -> Console)
importaddress watch_only_address "" false
The pruned blockchain was then created by inserting the correct ip address (pointing to my node) or by removing "-connect=ip_address" completely.
 
Because bitcoin-qt was not the only program, creating the pruned blockchain was a very long process that took about 5 days! I could speed up the process a lot by turning off bitcoind and running the pruned node as a bitcoind with some extra priority:
sudo /usbin/ionice -c 2 -n 0 /usbin/nice -n -20 ./bitcoind -datadir=/home/use.bitcoin_pruned/
Had I done that from the start, it could have been much faster and maybe 1 or 2 days would have been enough.
The final pruned blockchain has a size of: 2542 MB so about 2.5 GB.
 
I now moved the wallet.dat to wallet.dat_back and restarted bitcoin-qt. The program will create a new wallet that can be used to receive and then send transactions. If you now add a private key that already has some bitcoins in it, they will NOT be visible. There is no reason for that as the balances (not the history) are in the UTXO set.
 
I now started bitcoin-qt with the original wallet.dat file. The bitcoins in the watch only addresses are now visible. I then imported the private key of one of the addresses but the move of the bitcoins from "Watch only" to "Spendable" was not visible in bitcoin-qt. However, after a restart of bitcoin-qt the funds were visible in the "Spendable" section of the wallet. I then did a transaction to another address. Now in this case I want the change of the transaction to stay within MY "watch only" addresses and they shouldn't move to the (arbitrary) addresses created when the wallet was created. This is fortunate possible in bitcoin-qt. You have to choose in bitcoin-qt:
Settings -> Options -> Wallet -> Enable coin controle features.
It is then possible to choose the return address to be one of the watch only addresses (with or without bitcoins in them). It all worked just fine! It is not clear to me why bitcoin-qt has the option to "importprunedfunds", that doesn't seem necessary.
 
Of course, a big thank you to all developers who implemented the currently available great features.
submitted by sumBTC to Bitcoin [link] [comments]

-reindex option doesn't fix a corrupted blockchain, it's downloading all over again.

This is a follow up to the corrupted blockchain problem described by me 5 days ago: https://www.reddit.com/BitcoinBeginners/comments/8zysbx/error_when_running_a_bitcoin_core_node_corruption/
As bitusher suggested, I ran:
./bitcoind.exe -reindex --datadir=G:\Bitcoin\Bitcoin_core\Bitcoin\blockchain 
Before that I had even tried the option -reindex-chainstate but it failed for some reason.
After about 8 hours, the reindex finished but it's downloading the blockchain all over again although I already have 200 GB of blockchain data. I can see this by running:
Bitcoin\daemon> .\bitcoin-cli.exe getblockcount 323136 (wait some minutes...) Bitcoin\daemon> .\bitcoin-cli.exe getblockcount 326069 
The point when it went from reindexing to downloading the blockchain all over again looks like this in debug.log:
2018-07-24 08:32:09 Reindexing block file blk01265.dat... 2018-07-24 08:33:57 Loaded 962 blocks from external file in 107945ms 2018-07-24 08:33:57 Reindexing finished 2018-07-24 08:33:57 Pre-allocating up to position 0x100000 in rev00000.dat 2018-07-24 08:33:58 UpdateTip: new best=00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 height=1 version=0x00000001 log2_work=33.000022 tx=2 date='2009-01-09 02:54:25' progress=0.000000 cache=0.0MiB(1txo) 2018-07-24 08:33:58 UpdateTip: new best=000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd height=2 version=0x00000001 log2_work=33.584985 tx=3 date='2009-01-09 02:55:44' progress=0.000000 cache=0.0MiB(2txo) ... 2018-07-24 15:28:52 UpdateTip: new best=00000000000000000c84841e1450c8644dfe5a85528ae551f8862a688b55db61 height=331606 version=0x00000002 log2_work=81.568221 tx=52347394 date='2014-11-25 21:30:09' progress=0.149665 cache=2153.7MiB(16335495txo) 2018-07-24 15:28:52 Pre-allocating up to position 0x200000 in rev00200.dat 2018-07-24 15:28:53 UpdateTip: new best=0000000000000000103e002b3231dbee391cf38a2890e310b3e9ee3b785a172a height=331607 version=0x00000002 log2_work=81.568291 tx=52348058 date='2014-11-25 21:40:24' progress=0.149667 cache=2153.7MiB(16334996txo) 2018-07-24 15:28:53 UpdateTip: new best=00000000000000001ac7a4a8f8b910236cfbe1ec2343af4fbe9b8dd1691b7433 height=331608 version=0x00000002 log2_work=81.56836 tx=52348254 date='2014-11-25 21:42:35' progress=0.149667 cache=2153.6MiB(16334923txo) 2018-07-24 15:28:53 UpdateTip: new best=000000000000000006ecf1eb304f3edf56f8ebea62183f8ffbb37653433d196b height=331609 version=0x00000002 log2_work=81.56843 tx=52348821 date='2014-11-25 21:52:17' progress=0.149669 cache=2153.7MiB(16334989txo) 2018-07-24 15:28:53 UpdateTip: new best=00000000000000001864ff1e384b409d9c26745e3dc36a77cb3068959c6244f7 height=331610 version=0x00000002 log2_work=81.5685 tx=52349053 date='2014-11-25 21:55:54' progress=0.149670 cache=2153.7MiB(16335046txo) 2018-07-24 15:28:53 UpdateTip: new best=000000000000000019ff0a26dd1c684661a624f52a78185ba60ad63a464be92e height=331611 version=0x00000002 log2_work=81.568569 tx=52349229 date='2014-11-25 21:57:40' progress=0.149670 cache=2153.6MiB(16334946txo) 2018-07-24 15:28:54 UpdateTip: new best=00000000000000000775b876ee6d5ef4e74ec728d92ea37f249cf4183e8d8447 height=331612 version=0x00000002 log2_work=81.568639 tx=52350965 date='2014-11-25 22:27:56' progress=0.149675 cache=2153.7MiB(16335409txo) 2018-07-24 15:28:54 Pre-allocating up to position 0x1200000 in rev00199.dat 2018-07-24 15:28:54 UpdateTip: new best=000000000000000009547c69932fa9cc2a8d2c9f6449ef23db13da3f71ac8d40 height=331613 version=0x00000002 log2_work=81.568709 tx=52351547 date='2014-11-25 22:36:56' progress=0.149677 cache=2153.6MiB(16334933txo) 
I am feeling pretty frustrated because I can't run a simple bitcoin node every once in a while. Seems like every time I close bitcoind or bitcoin-qt the blockchain gets corrupted. I have found several people complaining about this problem online but I haven't found any definitive solution. Seems like avoiding windows is a good thing (I like to use the same blockchain folder that I store in an external hard drive in both windows and linux).
TLDR
1 - How to avoid getting a corrupted blockchain in both windows and linux and both bitcoin-qt and bitcoind?
2 - How to fix a corrupted blockchain quickly, if this is even possible. -reindex and -reindex-chainstate don't seem to work in my case.
If this doesn't get solved here, I am opening an issue in bitcoin's github.
submitted by johnturtle to BitcoinBeginners [link] [comments]

Bitcoin core wallets

Hello all, I have Bitcoin core wallet#1 (loaded) running on PC#1. I want to set up a brand new core wallet#2 (empty) with a different private key on PC#2. I installed Bitcoin core on PC#2 and fired up the app to create a new wallet.dat/datadir. Can I copy over the datadir from PC#1 to PC#2, swap out the (loaded) wallet.dat with the new (empty) wallet.dat, and then run the app to sync it up? I want to avoid having to download the whole blockchain again if possible. Thanks for any advice.
submitted by autofocus111 to BitcoinBeginners [link] [comments]

Changing cryptocurrency wallet location (Dogecoin - Bitcoin - Litecoin ....) #Chaincoin Masternode Technical Support #NowIsTheTime Tone Vays - Full Node Config - From My Understanding - 03 June 2017 bitcoin比特币核心+移动硬盘,使用冷存储方法教程。(物理隔绝的方式方法) How to create wallet and fast sync network Dimecoin  IT Vlogs

So lets create a separate window and attach to the reddit1 node. Purpose of geth attach: Running parallel activities geth attach ipc:$ethereum_home/reddit1/geth.ipc ... Mein PC lädt gerade den Bitcoin-Client herunter nebst der ewig langen Blockchain. Kann ich diese sehr große Datei auf einem anderen Laufwerk als C:\ betreiben? Crypto News; General Info; Mining Hardware; Mining Software; Tests and Reviews; Recent Posts. Team Red Miner 0.7.4 Addressing 4GB VRAM GPUs Support for Ethash; New XMRig 6.0.0-Beta Miner With KAWPOW Support for AMD and Nvidia GPUs; New SRBMiner-MULTI Miner 0.4.5 With Support for Epic Cash (EPIC) Bitmain Antminer T19 Bitcoin ASIC Now Up for Pre-Order; PhoenixMiner 5.0b Update Addressing Support ... Bitcoin-Prognose: Kursentwicklung 5.000 Euro, 10.000 Euro oder sogar 500.000 Euro? Der Bekanntheitsgrad von Bitcoin, die Marktetablierung und vor allem der Preis von Bitcoin nehmen stetig zu. Kostete ein Bitcoin im Jahr 2011 noch einen US-Dollar, so wurde die 5.000-Dollar-Marke im September 2017 nur knapp verfehlt. Doch gibt es keine Grenzen ... /r/btc was created to foster and support free and open Bitcoin discussion, Bitcoin news, and exclusive AMA (Ask Me Anything) interviews from top Bitcoin industry leaders! Bitcoin is the currency of the Internet. A distributed, worldwide, decentralized digital money. Unlike traditional currencies such as dollars, bitcoins are issued and managed without the need for any central authority whatsoever.

[index] [144] [249] [46037] [30483] [12588] [26027] [23498] [43757] [20486] [1532]

Changing cryptocurrency wallet location (Dogecoin - Bitcoin - Litecoin ....)

Donate some doge if it worked :D D9MgoqshfSKrEn44CDJyikyoYwfnXMYbTS Donate some Litecoin LKUhYUzviqPycCzvEEDRHYBQ9hNXvB6s87 Demo ! Demo ! Demo ! "C:\Program Files ... How to create wallet and fast sync network Dimecoin Today, I will guide you How to create a wallet of dimecoin. Excuse me for not being able to use the mic to speak to guide people. 1. We first ... 钱包网址 https://bitcoin.org 快捷方式更改命令 -datadir=G:\bitcoin (横杠前面一定要有一个空格) 喜欢就订阅 esbcoind -datadir=.esbcoin2 -daemon - laucnh wallet daemon of second masternode esbcoin-cli -datadir=.esbcoin2 masternode status - check status second masternode Website: https://esbc.pro #Chaincoin revolution. I will do some live Chaincoin Masternode setup support. Thanks for watchin! CHC Stream Donations Here, Thanks! Cd7dPp1vC9L5fWtC1WtGpmX...

#