Running a full node

From DigiByte Wiki
Revision as of 08:11, 13 April 2019 by TwoFace (talk | contribs)
Jump to navigation Jump to search

Running a full DigiByte Node – How anybody can help DigiByte!

A lot of people often ask about how they can contribute to DigiByte if they’re not overly technical, don’t have a lot of money, don’t have expensive mining hardware, and the good news is: There is a way you can contribute!

In fact, by running a full DigiByte Node, you directly contribute to maintaining the “consensus” of the Blockchain, and this guide will help you to do just that.

What do we mean by maintaining consensus?

(A quick background to help you understand what you’re going to be doing)

The DigiByte Blockchain is a way for people all over the world who don’t know, and don’t specifically trust each other, to agree on “this is how things are”, specifically in relation to “You have XYZ DigiByte in your wallet, and I have ABC DigiByte in my wallet”. This is done firstly through miners verifying transactions, both ensuring they’re signed correctly and then incorporating them into the Blockchain, that block is then broadcast to the DigiByte Blockchain network, and all the nodes effectively “agree” on who found the block first. This all contributes to the “consensus” of the network.

Look at it like this:
Bob finds block # 5930525 and announces it to the network, and that the rest of the DigiByte network can start to work on the next block.
A fraction of a second later, Sally finishes working on block # 5930525 and also announces it to the network. Who do we believe?
To simplify things, we believe whoever has the most “consensus”, so over the next few blocks it will become clear who’s working on which chain, and the people who believed Sally found the block will eventually change over to using the chain that believes Bob found it, forming even more “consensus” to help other people decide which chain is correct. Over a short period of time (seconds to minutes with DigiByte), the network confirms and agrees “It was actually Bob who found the block, not Sally”.

This is often why when you’re sending transactions, people will want to wait 6 blocks to ensure the transaction is 100% definitely sent and is well and truly incorporated into the blockchain (Approx 90 seconds with DigiByte).

You can also find additional information on the Bitcoin Wiki under https://bitcoin.org/en/posts/how-to-run-a-full-node

Sounds great, how can I contribute to this?

I’m glad you asked! You can contribute by running a full “node”, of the DigiByte Core Wallet.

Here’s what you’ll need as part of that:

  1. A computer that is left on as much as possible (24/7 is ideal, but even just 8-12 hours a day is still a contribution!)
  2. A computer with a minimum of 4GB of RAM, as the DigiByte Core Wallet will use up to 2GB of RAM
  3. Around 15-20GB free drive space. At the time of writing the DigiByte Blockchain is only 10GB but it grows a small amount daily of course
  4. A decent internet connection, ideally without a data cap / limit

If this sounds like you, then that’s fantastic! You’ve got everything you need to contribute to the network consensus, which in turn builds on the security.

We’re going to presume you’re running on Windows, but, you can do this exactly the same on Linux and Mac OSX also.

To start with, head on over to http://digibyte.io and click on Downloads. From here you’ll want the Core Wallet for your PC.

Once downloaded, run through the setup, but you don’t need to fire the wallet up just yet.

We’re going to modify some settings and generate you a new digibyte.conf file.

Next, click on the text, push Ctrl + A to select it all, and then push Ctrl + C to copy it.

Now we push the Windows Key + R and in this we’re going to type “notepad”, and then click “OK”

Paste the following in the notepad file:

addnode=seed1.digibyte.io
addnode=seed2.digibyte.io
addnode=seed3.digibyte.io
addnode=seed.digibyte.io
addnode=seed.digibyteprojects.com
addnode=digihash.co
addnode=digiexplorer.info
addnode=seed.digibyteguide.com
addnode=explorer-1.us.digibyteservers.io
max connections=150

Then go File –> Save As, browse to your Desktop, and call the file:
“digibyte.conf”

NOTE: In this instance you must include the speech marks, otherwise it will save it as digibyte.conf.txt which you don’t want!

You’ll now have a digibyte.conf, you can put this into the right place to be used by the DigiByte Core Wallet. You again want to push Windows Key + R, but this time type in:
%AppData%\DigiByte

and push enter

Drag the digibyte.conf from your Desktop into the folder that opened, or copy / paste it, whatever’s easiest for you.

You’re almost there! Now, you can fire up your DigiByte Core Wallet.

It may take some time to sync to begin with. This is partly due to the fact DigiByte is the longest UTXO Blockchain in existence, and so you’re syncing WAY more blocks than Bitcoin and Ethereum. DigiByte has also seem some explosive growth at the end of 2017 and start of 2018 which has unfortunately negatively impacted the sync time too. Thankfully we have a guide that will help speed it up, you can view it here: http://www.digibyteguide.com/user-guides/speeding-up-sync-for-your-digibyte-core-wallet/</a>.

Once you’re all synchronized up to the network, you’re now effectively keeping a copy of the whole Blockchain on your PC, and this is what you’re going to help with by sharing with others! We just need to do one more thing and allow other people to also connect to your wallet, just in the same way that your wallet connects to other people.

To proceed we’re going to need to know the IP address of your computer, on your network. To find this we’re going to go to this website: https://whatismyipaddress.com/
You’ll want to take note of your IPv4 Address:

Now this next part is going to require a bit of knowledge of your Router / Modem, and unfortunately will differ for each and every single model / manufacturer out there. However, thankfully there’s a helpful website that will aid you in this over at: https://portforward.com .

Follow the guide to log in to your router, and setup a port-forward according to the guide at port-forward.com, however when it asks you for details:

You’ll want to enter the Port “12024”, the protocol as “TCP”, and enter your computers IPv4 address that you noted down earlier, then save and apply the settings in your router.

Why do we need to do this?

Without doing this, your wallet is unreachable from the rest of the world , so you can’t relay the Blockchain on to others.

By port-forwarding, you’re telling your router “Whenever somebody tries to come visit on Port 12024, they’re here for the DigiByte Wallet, so send them through to my computer”.

Great, I’ve done this, how do I know it’s working?

The easiest way is to hover your mouse over the “nodes” down the bottom-right corner of your wallet. After about 15-30 minutes you’ll notice it’s gone up a fair amount, over the “8” default

Look at “Connections”, if there’s more than a dozen then it means you’re accepting connections from the DigiByte Network, you’re relaying blocks to them, and you’re contributing to the security of the DigiByte Blockchain / Network!

You can also go to the website: https://www.ipfingerprints.com/portscan.php and fill in your IP-adress and start port: 12024 and end port: 12024. If your node is open for connections, the state of the port is "open"

Isn’t that bad for my wallet? Can’t they run off with my DigiByte?

No, when creating the wallet, it was setup in such a way that your wallet “data” is separate from the Blockchain, so anybody who connects is unable to see your balance, unable to see your details, and more of all they’re unable to access your DigiByte and unable to steal them.