-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Basic "How To Run A Full Node" Page #711
Conversation
Awesome, thanks for writing this down! |
|
||
* 2 gigabytes of memory (RAM) | ||
|
||
* Broadband Internet connection |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe "A good broadband Internet connection"?
To my understanding, many broadband connections aren't this fast and may in fact slow down the network.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I'll change that.
For reference, I just checked the stats on my fastest and best connected node (with >99% uptime) and it says the average for the last 30 days is 592 Kbit outgoing and 63 Kbit incoming. That outgoing is may be a bit high for a low-end DSL connection around here, but the average is skewed by the fact that my connection supports up to 100 Mbit/s and regularly sees peaks of about 14 MBit/s---much higher than supported by most home connections around here.
Based on that, I think pretty much any broadband connection would be an asset to the network. However, a connection with low outgoing speed will more commonly get saturated, giving a poor experience to the volunteer---so I think saying "a good connection" is warranted.
@harding Thanks! Very useful page to have, I just reported what I found, maybe I'll have time to review it more carefully a bit later. I've noticed there is no mention of opening port 8333? I wonder if the page should be translated, 25 languages is time-consuming and there is a lot of words there, but it's an important page. |
@saivann thanks for your comments! I replied to a few; the rest I plan on implementing as you propose. Yeah, about half a second after I clicked "Submit pull request", I realized I forgot about port 8333. :-) I'll write something about it tomorrow. AFAICT, translation has a lot of things going against it:
It seems to me like it's probably better to put off translations for the short term until we see the page in action. That way, if nobody ever visits the page or it ends up changing too often, we don't bother to even try to get it translated. @schildbach My pleasure! |
The preview has been updated. I hope to get a Windows 7 VM setup tonight so I can write Windows instructions tomorrow. |
Wow; great work. How did you determine that 6 hours per day is the minimum requirement? The problem with nodes that don't run 24/7 is that they don't become well-connected since their IP address is constantly being purged from the address lists held be other nodes on the network. Gavin has also noted that we want nodes that are always on: https://www.reddit.com/r/Bitcoin/comments/1scd4z/im_running_a_full_node_and_so_should_you/cdw3lrh?context=3 |
@jlopp I used the highly scientific method called guessing. :-) Based on monitoring my own full node stats---including the intermittent-on devel node on my laptop---I know that it typically takes 30 to 60 minutes of node uptime before the seeders start sending me BitcoinJ-based SPV clients. Five hours of serving SPV clients seems like a reasonable contribution to the network to me. In addition, based on my I actually think a lower value than 6 hours a day would still be a positive contribution to the network. I specified higher requirements than strictly necessary in all categories, including uptime, because there was some concern about contributors with marginal resources becoming disappointed and making comments that would hurt volunteer morale. I agree with Gavin's comment that we need more always-on full nodes. However, those nodes haven't appeared in the year since he made that comment---so what are we to do? |
Commit 83c419e adds instructions for Windows 7, Ubuntu Server, and Other Linux Distributions---see the complete list of changes below. This is my final planned commit for the full-node page, although I will re-review when 0.10.0 final is released. The preview has been updated.
|
@harding Maybe you could still mention something like "Ideally, you should keep your PC running. However, 6 hours a day remains a good minimum"? |
ACK. This will be a great resource and I'll do what I can to get it added to as many FAQs as possible. From the discussions I've had with devs, it seems that the best hope we have of getting more people to run nodes is to make it easier. Getting rid of the need for bootstrapping is a good start; hopefully pruning will be another step in the right direction. But the ideal scenario would be for it to be straightforward enough that a guide such as this isn't even necessary :) |
@jlopp Thanks! And I would love to see this guide become unnecessary. |
Bump will this be getting merged and pushed soon? |
@jlopp Since these instructions are specific to Bitcoin Core 0.10.0, which hasn't been released yet, I'm not planning on merging this until 0.10.0 is released on Bitcoin.org and the Ubuntu PPA repository has been updated. (However, unless there are any changes to 0.10.0's install procedures or someone finds a problem on the page, I am finished writing.) |
@harding I have just read through the whole document once again and it's awesome! Thanks for your extensive research and clear step-by-step instructions! The only remaining suggestion I have is about dropping some duplicate content. What would you think about having only one Ubuntu version (Ubuntu 14.04 or Ubuntu 14.10), with graphical and command line instructions? At a first glance, the only difference I have found between the duplicate command line instructions is how to access the terminal when installing Bitcoin Core (one over SSH, one with the swirl icon). Maybe this can be merged together? |
@saivann good idea re: Ubuntu instructions---I'll do that. Thanks for the complement! |
LGTM, Thanks! |
Note: 0.10.0 packages have been uploaded for Ubuntu 14.10, so I'll be retesting these instructions tomorrow. I'll also work on revising the block chain size text as discussed in #749 I'm aiming for merging this Monday morning EDT (noonish UTC). |
Add basic page with some general information plus instructions for Ubuntu 14.10. Change a link on the participate page to point to the full node page. This page is being added as English-only for now. I figure we can convert it into a translation template after we have instructions for Windows and Mac OS X, and after the instrutions have actually been tested with the released version of Bitcoin Core 0.10.0. (These Ubuntu instructions were tested with RC3 and the old Ubuntu packaging.)
Made numerous corrections suggestion by Saivann Carignan (thanks!), including: * Replaced GUI autostart instructions with using Bitcoin Core GUI's own autostart option. * Described minimum upload speed requirements. * Described metered bandwidth requirements. Also added a warning about exceeding periodic bandwidth limits. * List items that ended with complete sentences (subject+predicate) received terminal punctuation. Did not terminally punctuate sentence fragments (sentences missing a subject or predicate). Also suggested by Saivann, I added an extended section describing setting up port forwarding on home routers and opening firewall ports to allow inbound connections to port 8333.
* Added instructions for Windows 7, but only for Bitcoin Core GUI. I added a stub for anyone who wants to write instructions for using the daemon on Windows. * Added instructions for Ubuntu 14.04 LTS Server, but only for Bitcoin core daemon. I assume most server users run headless. * Added instructions for Other Linux Distributions, for both GUI and daemon. Hopefully the instructions are general enough to apply to most distributions but specific enough that they actually help readers. * Added a stub for Windows 8.1 as I don't have access to a copy, and all the pay-per-hour Windows VPSes I can find run some version of Windows Server. (I have the same problem with OS X.) * Hid some subsections in the table of contents: I found having subsections named "Bitcoin Core GUI" and "...Daemon" within multiple sections distracting, so I hid them in the TOC. * Added basic PGP verification instructions: I didn't try to explain PGP to newbies, but I did provide instructions useful to people who have used PGP before. These instructions are currently displayed in the Windows 7 and Other Linux Distributions sections (where users download from Bitcoin.org). * Made sure the end of each install section points to the Network Configuration section so users open port 8333. Closes #410
Thanks Jameson Lopp and Saivann Carignan!
Suggested by Saivann Carignan (thanks!)
Mention that many OSes enter a low-power mode that's bad for Bitcoin when their screensavers activate. Closes #698
Rebased and added commit f61f66d which adds a link to this guide from the Download page. Also updated the preview. In the absence of critical feedback, this will be merged around 12:00 UTC Monday. |
Hi, Harding and All! Unfortunately, websites are still not published. Why is that? Can you help me? We're needed to add bitcoin news website: http://www.coinfox.info (ENG), http://www.coinfox.ru (RU) and http://www.coinfox.es (ES) for https://bitcoin.org/ru/resources ("News" maybe) Sincerely, Igor Chepkasov |
Preview: http://dg4.dtrt.org/en/full-node
Note: this page is less grandiose than I had hoped. I realized I was procrastinating on it, so I decided to just see what I could do in an afternoon. Suggestions for improvements welcome.
Related: issue #410