To Node Or Not To Node

in #bitcoin7 years ago


Bitcoin_kryptowaluty.jpg


There seems to be some misconceptions out there about running a Bitcoin full node.

The main one's are:


  • It's expensive.
  • It's complicated.
  • It really doesn't do any good.

I'm going to give my experience with running a full node. Maybe this will help clear things up.

When I learned the importance of running a full node I set out to figure out how to do it.

At first I thought it was as easy as downloading the Bitcoin Core wallet from bitcoin.org. So I did. It took a couple days to download the blockchain. Here are the specs for the computer used:

AMD A10-7850K Radeon R7, 12 Compute Cores 4C+8G @ 4GHz
16GB Ram
250GB SSD

I was able to use my computer as normal while the blockchain downloaded.

Within a couple days I had the wallet and blockchain ready to go. After a few weeks I was looking at my memory stats and noticed I was filling up my SSD with blockchain data (currently it's about 15GB per year). While I knew this would happen I decided to start cleaning out some dead files and folders to make more room for the data. I still was not pleased about the amount of space going to the blockchain. At the time I was learning more about full nodes and such and discovered I really wasn't helping that much with my wallet as it only had eight connections. I needed to open port 8333 in my router to allow nodes to connect to mine.

Now I must tell you, at this point I was a bit frustrated as I was not technically minded about all this Bitcoin stuff and my mind was swimming in technical data I was finding all over the forums. It's interesting how ten different answers to one question can confuse you. That's what happens when you don't know what the heck you're looking at. I was still learning how to use the terminal on my Linux system!

So here I am not really helping the network and filling my already too small SSD with block data. So I kept reading and swimming through data on the forums and websites. I eventually came to the conclusion I could no longer use my daily driver computer as my full node. I needed a dedicated computer for the job. This way I wouldn't have to worry about performance or filling the hard drive. I had an old computer I had been practicing learning terminal on (that's about all it was good for) so I decided to re-purpose it to running a node.

Great! Now I had a computer I could use that didn't cost me a dime!

This computer is no winner. Here are the specs:

HP Compaq (around 2008)
AMD Athlon LE 1640 @ 2.7 Ghz
2GB RAM
320GB HD (SATA)


000_1806.JPG

This is a crossover computer as it has IDE (40 pin) and SATA connectors. I replaced the 320GB IDE HD for a 320GB SATA HD from my laptop. There it is hanging loose at the bottom.

This computer is a BEAST! (It took about seven days to download the blockchain!) Plus, as you can see, the side is permanently off and needs a fan on it at all times to keep it from overheating!

Now it was time to set my old computer up for a new job - node running.

Here are the steps:

  1. Install OS
  2. Set static IP address
  3. Port forward (open) 8333
  4. Install Bitcoin - QT or Bitcoind

Note: Bitcoin - QT is the graphical interface. Bitcoind is CLI (Command Line Interface) only.

First you need to install an OS

I use Lubuntu as the OS is lightweight and Ubuntu based. There is tons of data online regarding Ubuntu so it seemed the natural choice. Much of this data will work with any of the Ubuntu based systems including Mint. Many Debian based systems too.

If you are using the computer as a node-only computer you only need a lightweight OS.

Next - Set static IP address

The next thing you need to do is to set a static IP address on your network. Yeah I know, I got confused just seeing that the first time. It seemed like I would tackle one thing and there would always be that one more thing to do and learn about. I don't know how to static my IP address! I had visions of more swimming in data and being confused as hell.

I'm not going to describe it here as the link I include takes you directly to the site that shows you in detail how to do this.

Next - Port forward (open) 8333

Once I had my static IP address set, all I had left to do is configure my router to open port 8333. The things I read on the Internet made it seem pretty easy to do this. Doesn't it always seem that way? Well, apparently my router was the bottom of the barrel cheapo router (supplied by my IP). It had no clear "Port Forwarding" to input data. It was so bad I couldn't even find a manual online for it. I eventually found a possible way to do it with the virtual server section it had. I input the data - no go. It wouldn't save it. After many unsuccessful tries I gave up. The next day I called my IP and asked if they could help me. They said they would do it for me. I said I appreciate that but I want to do it myself so I can learn. Come to find out I couldn't do it directly. They had to do it from their end. My connection was in a pool and they would switch pools occasionally and my router couldn't be set. Okay, whatever. I asked how long it would take and the guy said he'd put it in today (it was Friday) and it should be ported by next business day. They called me later that day and said I was ported! I checked online and sure enough it said PORT 8333 OPEN! The links are below.

It's really not that difficult. Just have something handy that is soft to throw at the wall when you get frustrated!

The best thing about having a dedicated computer to run a node is you can set it up at your own pace. You can walk away if something isn't going right.

Links

How to set your static IP address.
https://www.sjwrc.com/static_ip-linux/

How to port forward your router.
http://www.pcworld.com/article/244314/how_to_forward_ports_on_your_router.html

Check to see if your port 8333 is open.
https://www.lurkmore.com/mining/port8333/

Next - Installing Bitcoin Core - qt or d

https://bitcoin.org/en/full-node#minimum-requirements
This will walk you through downloading Bitcoin-qt or Bitcoind (I run qt over my regular network and working on running d through TOR. The specs for my second computer are at the end of this article).

Using YouTube to answer any questions was very helpful.

Bitnodes.21 is a great site. You should go through it and check it out. You can check your port 8333 here too. Plus it will give you more data as well. Just start clicking on links and you'll see.
https://bitnodes.21.co/nodes/live-map/

Well, there you go. That is how to set up a full node.

Now I'll go back to the three questions:

It's expensive.

My computer cost me nothing. My power bill has shown no noticeable increase (I run the nodes 24/7). My internet bill has not increased.

Note: Check with your internet provider or your monthly plan to see if you are limited in usage. If you are and you go over your limit you may be charged or they'll throttle you back or cut you off. Make sure you know your data and bandwidth limits.


It's complicated.

This is subjective of course. If you have a somewhat working knowledge of computers and don't implode when faced with a problem you should be okay.


It really doesn't do any good.

This is from Bitcoin.org:

A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.

Most full nodes also serve lightweight clients by allowing them to transmit their transactions to the network and by notifying them when a transaction affects their wallet. If not enough nodes perform this function, clients won’t be able to connect through the peer-to-peer network—they’ll have to use centralized services instead.

Many people and organizations volunteer to run full nodes using spare computing and bandwidth resources—but more volunteers are needed to allow Bitcoin to continue to grow. This document describes how you can help and what helping will cost you.

Bitcoin Q&A: What is the role of nodes?


This is an 8 minute video with Andreas M. Antonopoulos explaining the importance of running a full node.

Clearing Up Misconceptions About Full Nodes (wiki)
https://en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes


Help the network if you can.

Running a full node works for me as I don't have restrictions on my internet usage and my computer was free. I would run a full node even if there was a little cost increase.

If you can manage it, the network would benefit and we all win.

Second Computer

I wanted to run a second node on TOR so I decided to get another computer. After scouring Craigslist and eBay I wasn't satisfied with what I was finding. My budget was $100 - no more.

A few months earlier I was looking at refurbished laptops on Newegg.com and so I thought I'd take a look. I couldn't believe what I was finding there. Dektops for under $100 shipped. Granted some weren't quite what I needed but I did find a few. Here's what I settled on:

Hp Compaq 6305
AMD A6-5400B @ 3.6GHz
4GB RAM
500GB HD (SATA)

000_1811.JPG

(It came with Windows 10 but that didn't last long)

This computer cost me $86 out the door. That's right, shipping and all - $86! And it came with brand new wired USB keyboard and mouse!

It was refurbished and shipped by Arrow Global Asset Disposition, Inc. through Newegg.

When I got this thing I opened it up to see what was inside. I was pleasantly surprised. The inside was spotless and the cabling was organized.

000_1809.JPG

I fired it up with Windows to see if she booted okay - not one glitch. I then wiped Windows and installed Lubuntu - flawless.

Note: This computer originally shipped with Windows 8 on it. That means it has Secure Boot. This will need to be disabled if you plan on using a non-Windows OS. I knew this before I purchased it and planned on disabling it. Come to find out the refurbishing company did it for me! All I had to due is change the boot to DVD (can't boot from USB) and install Lubuntu from the DVD then change the boot back to HD and that's it. DONE!

This computer is running qt and it doesn't break a sweat. I believe it downloaded the blockchain in 3 days (no more). It will do as a spare computer in a pinch as well.

If you can manage it, give running a full node a shot. While there was a bit of frustration at times I had a blast doing this and I learned a lot. I recommend it.



Sort:  

Great post! Thanks for all the details.

No problem. :)

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.030
BTC 61766.31
ETH 2428.16
USDT 1.00
SBD 2.64