Running a full node
- 1 Running a full DigiByte Node – How anybody can help DigiByte!
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? We go by which answer is more difficult if no blocks have been added to the chain yet.
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:
- 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!)
- A computer with a minimum of 4GB of RAM, as the DigiByte Core Wallet will use 3GB+ of RAM
- Needs to be running a 64-bit OS, Windows 7, 8.1, 10, Mac OSX & Linux all acceptable.
- Enough free drive space, let's say 200GB. At the time of writing the DigiByte Blockchain is only 22GB but it grows a small amount daily of course
- 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.Now, you can fire up your DigiByte Core Wallet, usually by running "DigiByte Core (64-bit)" or look for "digibyte-qt"
It may take some time to sync to begin with, however on a moderately recent PC you can expect the sync to be completed in approx 4-6 hours. 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. Thankfully we have a guide that will help speed it up, you can view it here: Speeding up sync for your DigiByte Core Wallet.
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.
Port forward port number 12024 in your router
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.
Also use: whatsmyrouterip.com to find the local IP address of your router. You can just copy this IP address ans paste it in your browser. This website is capable of detecting the local ip addresses of most routers without any action.
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: http://www.pcwintech.com/port-forwarding-guides and 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.
Check here if your node is open: DigiByte Open Nodes Map
Why do we need to do this?
Without doing this step, your node can only establish connections "outbound" to other nodes that are publicly accessible. You can still relay transactions / blocks, however your node won't be discoverable by others, and so the impact you have is much more limited.
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. This is because it will only open 8 outbound connections to others, however if you have, say 10 or 12, then you've received inbound connections from other nodes over the internet who've discovered you.
Look at “Connections”, if there’s more than 8 then it means you’re accepting connections from the DigiByte Network, and your port-forward has worked successfully!
You can also go to the website: https://www.ipfingerprints.com/portscan.php and fill in your IP-address 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.