Difference between revisions of "Running a full node"

From DigiByte Wiki
Jump to navigation Jump to search
m (Small grammatical and spelling changes, change link to digibyte.org)
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<h2>Running a full DigiByte Node &#8211; How anybody can help DigiByte!</h2>
+
 
<p>A lot of people often ask about how they can contribute to DigiByte if they&#8217;re not overly technical, don&#8217;t have a lot of money, don&#8217;t have expensive mining hardware, and the good news is: There is a way you can contribute!</p>
+
==Running a full DigiByte Node How anybody can help DigiByte!==
<p>In fact, by running a full DigiByte Node, you directly contribute to maintaining the &#8220;consensus&#8221; of the Blockchain, and this guide will help you to do just that.</p>
+
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!
<h3>What do we mean by maintaining consensus?</h3>
+
 
<p>(A quick background to help you understand what you&#8217;re going to be doing)</p>
+
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.
<p>The DigiByte Blockchain is a way for people all over the world who don&#8217;t know, and don&#8217;t specifically trust each other, to agree on &#8220;this is how things are&#8221;, specifically in relation to &#8220;You have XYZ DigiByte in your wallet, and I have ABC DigiByte in my wallet&#8221;. This is done firstly through miners verifying transactions, both ensuring they&#8217;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 &#8220;agree&#8221; on who found the block first. This all contributes to the &#8220;consensus&#8221; of the network.</p>
+
 
<p><b>Look at it like this:</b><br />
+
===What do we mean by maintaining consensus?===
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.<br />
+
(A quick background to help you understand what you’re going to be doing)
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.<br />
+
 
To simplify things, we believe whoever has the most &#8220;consensus&#8221;, so over the next few blocks it will become clear who&#8217;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 &#8220;consensus&#8221; 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 &#8220;It was actually Bob who found the block, not Sally&#8221;.</p>
+
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.
<p>This is often why when you&#8217;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).</p>
+
 
<p>You can also find additional information on the Bitcoin Wiki under https://bitcoin.org/en/posts/how-to-run-a-full-node </p>
+
'''Look at it like this:'''<br /> 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.<br /> 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.<br /> 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”.
<h3>Sounds great, how can I contribute to this?</h3>
+
 
<p>I&#8217;m glad you asked! You can contribute by running a full &#8220;node&#8221;, of the DigiByte Core Wallet.</p>
+
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).
<p>Here&#8217;s what you&#8217;ll need as part of that:</p>
+
 
<ol>
+
You can also find additional information on the Bitcoin Wiki under [https://bitcoin.org/en/posts/how-to-run-a-full-node https://bitcoin.org/en/posts/how-to-run-a-full-node]
<li>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!)</li>
+
 
<li>A computer with a minimum of 4GB of RAM, as the DigiByte Core Wallet will use up to 2GB of RAM</li>
+
<span class="mw_htmlentity"></span>
<li>Enough free drive space, lets say 200GB. At the time of writing the DigiByte Blockchain is only 11GB but it grows a small amount daily of course</li>
+
 
<li>A decent internet connection, ideally without a data cap / limit</li>
+
===Sounds great, how can I contribute to this?===
</ol>
+
I’m glad you asked! You can contribute by running a full “node”, of the DigiByte Core Wallet.
<p>If this sounds like you, then that&#8217;s fantastic! You&#8217;ve got everything you need to contribute to the network consensus, which in turn builds on the security.</p>
+
 
<p>We&#8217;re going to presume you&#8217;re running on Windows, but, you can do this exactly the same on Linux and Mac OSX also.</p>
+
Here’s what you’ll need as part of that:
<p>To start with, head on over to http://digibyte.io and click on Downloads. From here you&#8217;ll want the Core Wallet for your PC.</p>
+
 
<p>Once downloaded, run through the setup, but you don&#8217;t need to fire the wallet up just yet.</p>
+
# 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!)  
<p>We&#8217;re going to modify some settings and generate you a new digibyte.conf file.</p>
+
# A computer with a minimum of 4GB of RAM, as the DigiByte Core Wallet will use 3GB+ of RAM  
<p>Next, click on the text, push Ctrl + A to select it all, and then push Ctrl + C to copy it.</p>
+
# Needs to be running a 64-bit OS, Windows 7, 8.1, 10, Mac OSX & Linux all acceptable.
<p>Now we push the Windows Key + R and in this we&#8217;re going to type &#8220;notepad&#8221;, and then click &#8220;OK&#8221;</p>
+
# 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  
<p>Paste the following in the notepad file:</p>
+
# A decent internet connection, ideally without a data cap / limit  
<p> </p>
+
 
addnode=seed1.digibyte.io<br />
+
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.
addnode=seed2.digibyte.io<br />
+
 
addnode=seed3.digibyte.io<br />
+
We’re going to presume you’re running on Windows, but, you can do this exactly the same on Linux and Mac OSX also.
addnode=seed.digibyte.io<br />
+
 
addnode=seed.digibyteprojects.com<br />
+
To start with, head on over to [http://digibyte.org http://digibyte.org] 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"
addnode=digihash.co<br />
+
 
addnode=digiexplorer.info<br />
+
 
addnode=seed.digibyteguide.com<br />
+
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: [https://www.dgbwiki.com/index.php?title=Speeding_up_sync_for_your_DigiByte_Core_Wallet Speeding up sync for your DigiByte Core Wallet].
addnode=explorer-1.us.digibyteservers.io<br />
+
 
max connections=150<br />
+
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.
<p>Then go File &#8211;&gt; Save As, browse to your Desktop, and call the file:<br />
+
 
&#8220;digibyte.conf&#8221;</p>
+
===Port forward port number 12024 in your router===
<p><strong>NOTE: <em>In this instance you <span style="text-decoration: underline;">must</span> include the speech marks, otherwise it will save it as digibyte.conf.txt which you <span style="text-decoration: underline;">don&#8217;t</span> want!</em></strong></p>
+
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/ https://whatismyipaddress.com/]<span class="mw_htmlentity"></span> You’ll want to take note of your IPv4 Address.
<p>You&#8217;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:<br />
+
 
%AppData%\DigiByte<br /></p>
+
Also use:</span>[http://whatsmyrouterip.com/ whatsmyrouterip.com]<span class="mw_htmlentity">to find the local IP address of your router. You can just copy this IP address and paste it in your browser. This website is capable of detecting the local ip addresses of most routers without any action.
<p>and push enter<br /></p>
+
 
<p>Drag the digibyte.conf from your Desktop into the folder that opened, or copy / paste it, whatever&#8217;s easiest for you.</p>
+
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:</span>[http://www.pcwintech.com/port-forwarding-guides http://www.pcwintech.com/port-forwarding-guides]and<span class="mw_htmlentity">[https://portforward.com https://portforward.com] .
<p>You&#8217;re almost there! Now, you can fire up your DigiByte Core Wallet.</p>
+
 
<p>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&#8217;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>.</p>
+
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:
<p>Once you&#8217;re all synchronized up to the network, you&#8217;re now effectively keeping a copy of the whole Blockchain on your PC, and this is what you&#8217;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.</p>
+
 
<p>To proceed we&#8217;re going to need to know the IP address of your computer, on your network. To find this we&#8217;re going to go to this website: https://whatismyipaddress.com/<br />
+
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.
You&#8217;ll want to take note of your IPv4 Address:</p>
+
 
<p>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&#8217;s a helpful website that will aid you in this over at: https://portforward.com .</p>
+
Check here if your node is open:<span class="mw_htmlentity"></span>[https://nodes.digibyte.host/ DigiByte Open Nodes Map]
<p>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:</p>
+
 
<p>You&#8217;ll want to enter the Port &#8220;12024&#8221;, the protocol as &#8220;TCP&#8221;, and enter your computers IPv4 address that you noted down earlier, then save and apply the settings in your router.</p>
+
===Why do we need to do this?===
<h3>Why do we need to do this?</h3>
+
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.
<p>Without doing this, your wallet is unreachable from the rest of the world , so you can&#8217;t relay the Blockchain on to others.</p>
+
 
<p>By port-forwarding, you&#8217;re telling your router &#8220;Whenever somebody tries to come visit on Port 12024, they&#8217;re here for the DigiByte Wallet, so send them through to my computer&#8221;.</p>
+
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”.
<p>Great, I&#8217;ve done this, how do I know it&#8217;s working?</p>
+
 
<p>The easiest way is to hover your mouse over the &#8220;nodes&#8221; down the bottom-right corner of your wallet. After about 15-30 minutes you&#8217;ll notice it&#8217;s gone up a fair amount, over the &#8220;8&#8221; default</p>
+
Great, I’ve done this, how do I know it’s working?
<p>Look at &#8220;Connections&#8221;, if there&#8217;s more than a dozen then it means you&#8217;re accepting connections from the DigiByte Network, you&#8217;re relaying blocks to them, and you&#8217;re contributing to the security of the DigiByte Blockchain / Network!</p>
+
 
<p>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"</p>
+
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.
<p></p>
+
 
<h3>Isn&#8217;t that bad for my wallet? Can&#8217;t they run off with my DigiByte?</h3>
+
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!
<p>No, when creating the wallet, it was setup in such a way that your wallet &#8220;data&#8221; 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&#8217;re unable to access your DigiByte and unable to steal them.</p>
+
 
 +
You can also go to the website: [https://www.ipfingerprints.com/portscan.php 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.

Latest revision as of 13:04, 4 April 2021

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:

  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 3GB+ of RAM
  3. Needs to be running a 64-bit OS, Windows 7, 8.1, 10, Mac OSX & Linux all acceptable.
  4. 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
  5. 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.org 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.comto find the local IP address of your router. You can just copy this IP address and 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-guidesandhttps://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.