Go-ethereum: Better guidance for install/update in docs (help users install latest stable)

Created on 17 Nov 2019  路  5Comments  路  Source: ethereum/go-ethereum

Hi! I've been using the Geth docs, and I wanted to suggest a couple of changes:

  1. The 'Most Linux Systems' recommends using go get and go install. Using these commands as is installs the most recent build, meaning that if there have been any commits after a stable release, the unstable will be downloaded. I would like to recommend guidance for downloading the latest stable version as the default. If there is a way to use a variable that contains the last stable release version and append that to the go get (e.g. go get -d github.com/ethereum/[email protected]), I think that would be amazing. One note is that users may need to export GO111MODULE=on in the shell first.

Otherwise, at least emphasizing that users who are looking for the latest stable should manually check what the latest stable version is and use go get with the version number, following the same syntax as above. Another option is adding an item to update the installation guidance every time a new release is released.

  1. A similar issue exists in the 'Building without a Go workflow' section, which uses a git clone to build Geth, and will also download the latest (unstable) commit.

  2. Especially with Istanbul approaching, I believe that it would be beneficial to spell out what updating Geth looks like in the different modes of installing Geth. There is virtually no explicit guidance for this anywhere online. While some options may be somewhat obvious (updating via a package manager), explicit guidance would be terrifically helpful in my humble opinion. (As an example, how quickly are the package managers updated? Will Geth users relying on the PPA, BSD, or the Arch package get 1.9.7 in time for Istanbul?) In addition, instructions for updating using Go, or even what to delete and rebuild using Git I feel would help reduce upgrade friction.

Thanks for all the amazing work!

docs

All 5 comments

Also in the readme:

Building geth requires both a Go (version 1.10 or later)

I tried make geth with 1.11 and it failed. After upgrading to 1.13, it worked.

@wschwab Could you take a look at https://geth.ethereum.org/docs/install-and-build/installing-geth ?
Does this suffice or do you think we should additional docs?

Maybe I'm looking at the wrong thing, but to my understanding none of the issues are resolved here: following the instructions in https://geth.ethereum.org/docs/install-and-build/installing-geth#build-go-ethereum-from-source-code will still install the nightly (unstable) build, no?

Another way of saying this is that there still isn't any guidance for installing by version in Go and/or using export GO111MODULE=on. (Maybe in more recent versions of Go the latter is unnecessary - my only experience with Go is installing Geth.) Similar guidance for building using Git is also lacking.

I didn't see any of the ideas in the third point in the original issue addressed, either.

I want to be super clear: you guys are awesome. I don't mean any of this as a complaint. As someone who doesn't know Go, I feel like I'm in a good place for understanding where the friction in installing Geth for someone who isn't as familiar with Go is, and maybe even extrapolating to users who aren't super technical. I feel like anyone should be able to spin up a node (hardware allowing), and made these suggestions to try and make Geth more accessible to people who want to use it.

That's all!

@wschwab please take a look at: https://github.com/ethereum/go-ethereum/pull/21548

Ah, now I see. I'm going to close this issue - you are addressing the major points I mentioned in that PR. In closing, I'll just reiterate that trying to find some way to automate the docs to mention the latest stable release each time there is a new release would go a long way in sustainability, though I don't know how to do such a thing myself. As of now, the docs should be updated on each release, which is a bit tedious.

Thanks for working on this!

Was this page helpful?
0 / 5 - 0 ratings