Start next steps

This commit is contained in:
Chris Ward 2019-09-06 13:52:50 +02:00
parent c49abfc4a8
commit dfdd032d81
2 changed files with 43 additions and 54 deletions

View file

@ -4,10 +4,10 @@ title: Installation instructions for macOS
## Installing with Homebrew ## Installing with Homebrew
By far the easiest way to install go-ethereum is to use our By far the easiest way to install go-ethereum on macOS is to use [our
Homebrew tap. If you don't have Homebrew, [install it first](http://brew.sh). Homebrew tap](https://github.com/ethereum/homebrew-ethereum). If you don't have Homebrew, [install it first](http://brew.sh).
Then run the following commands to add the tap and install `geth`: Then run the following commands to add the tap and install the `geth` executable:
```shell ```shell
brew tap ethereum/ethereum brew tap ethereum/ethereum
@ -24,9 +24,7 @@ After installing, run `geth account new` to create an account on your node.
You should now be able to run `geth` and connect to the network. You should now be able to run `geth` and connect to the network.
Make sure to check the different options and commands with `geth --help` Find the different options and commands with `geth --help`
For options and patches, see: <https://github.com/ethereum/homebrew-ethereum>
## Building from source ## Building from source

View file

@ -1,16 +1,19 @@
--- ---
title: Installing Geth title: Installing Geth
--- ---
The Go implementation of Ethereum can be installed using a variety of ways. These include obtaining it as part of Mist; installing it via your favorite package manager; downloading a standalone pre-built bundle; running as a docker container; or building it yourself. This document will detail all of these possibilities to get you quickly joining the Ethereum network using whatever means you prefer.
* [Install from a package manager](#install-from-a-package-manager) <!-- TODO: Remove most of this? -->
* [Install on macOS via Homebrew](#install-on-macos-via-homebrew)
* [Install on Ubuntu via PPAs](#install-on-ubuntu-via-ppas) You can install the Go implementation of Ethereum using a variety of ways. These include obtaining it as part of Mist; installing it via your favorite package manager; downloading a standalone pre-built bundle; running as a docker container; or building it yourself. This document will detail all of these possibilities to get you quickly joining the Ethereum network using whatever means you prefer.
* [Install on Windows via Chocolatey](#install-on-windows-via-chocolatey)
* [Download standalone bundle](#download-standalone-bundle) - [Install from a package manager](#install-from-a-package-manager)
* [Run inside docker container](#run-inside-docker-container) - [Install on macOS via Homebrew](#install-on-macos-via-homebrew)
* [Build it from source code](#build-it-from-source-code) - [Install on Ubuntu via PPAs](#install-on-ubuntu-via-ppas)
* [Building without a Go workflow](#building-without-a-go-workflow) - [Install on Windows via Chocolatey](#install-on-windows-via-chocolatey)
- [Download standalone bundle](#download-standalone-bundle)
- [Run inside docker container](#run-inside-docker-container)
- [Build it from source code](#build-it-from-source-code)
- [Building without a Go workflow](#building-without-a-go-workflow)
## Install from a package manager ## Install from a package manager
@ -22,23 +25,17 @@ The simplest way to install go-ethereum on Ubuntu distributions is via the built
To enable our launchpad repository please run: To enable our launchpad repository please run:
```
sudo add-apt-repository -y ppa:ethereum/ethereum sudo add-apt-repository -y ppa:ethereum/ethereum
```
After that you can install the stable version of Go Ethereum: After that you can install the stable version of Go Ethereum:
```
sudo apt-get update sudo apt-get update
sudo apt-get install ethereum sudo apt-get install ethereum
```
Or the develop version via: Or the develop version via:
```
sudo apt-get update sudo apt-get update
sudo apt-get install ethereum-unstable sudo apt-get install ethereum-unstable
```
### Install on Windows via Chocolatey ### Install on Windows via Chocolatey
@ -50,9 +47,9 @@ All our stable releases and develop builds are distributed as standalone bundles
We create the following standalone bundles: We create the following standalone bundles:
* 32bit, 64bit, ARMv5, ARMv6, ARMv7 and ARM64 archives (`.tar.gz`) on Linux - 32bit, 64bit, ARMv5, ARMv6, ARMv7 and ARM64 archives (`.tar.gz`) on Linux
* 64bit archives (`.tar.gz`) on macOS - 64bit archives (`.tar.gz`) on macOS
* 32bit and 64bit archives (`.zip`) and installers (`.exe`) on Windows - 32bit and 64bit archives (`.zip`) and installers (`.exe`) on Windows
For all archives we provide separate ones containing only Geth, and separate ones containing Geth along with all the developer tools from our repository (`abigen`, `bootnode`, `disasm`, `evm`, `rlpdump`). Please see our [`README`](https://github.com/ethereum/go-ethereum#executables) for more information about these executables. For all archives we provide separate ones containing only Geth, and separate ones containing Geth along with all the developer tools from our repository (`abigen`, `bootnode`, `disasm`, `evm`, `rlpdump`). Please see our [`README`](https://github.com/ethereum/go-ethereum#executables) for more information about these executables.
@ -62,26 +59,26 @@ To download these bundles, please head the [Go Ethereum Downloads](https://geth.
If you prefer containerized processes, you can run go-ethereum as a docker container too. We currently maintain four different docker images for running the latest stable or develop versions of Geth. If you prefer containerized processes, you can run go-ethereum as a docker container too. We currently maintain four different docker images for running the latest stable or develop versions of Geth.
* `ethereum/client-go:latest` is the latest develop version of Geth - `ethereum/client-go:latest` is the latest develop version of Geth
* `ethereum/client-go:stable` is the latest stable version of Geth - `ethereum/client-go:stable` is the latest stable version of Geth
* `ethereum/client-go:{version}` is the stable version of Geth at a specific version number - `ethereum/client-go:{version}` is the stable version of Geth at a specific version number
* `ethereum/client-go:release-{version}` is the latest stable version of Geth at a specific version family - `ethereum/client-go:release-{version}` is the latest stable version of Geth at a specific version family
We also maintain four different docker images for running the latest stable or develop versions of miscellaneous Ethereum tools. We also maintain four different docker images for running the latest stable or develop versions of miscellaneous Ethereum tools.
* `ethereum/client-go:alltools-latest` is the latest develop version of the Ethereum tools - `ethereum/client-go:alltools-latest` is the latest develop version of the Ethereum tools
* `ethereum/client-go:alltools-stable` is the latest stable version of the Ethereum tools - `ethereum/client-go:alltools-stable` is the latest stable version of the Ethereum tools
* `ethereum/client-go:alltools-{version}` is the stable version of the Ethereum tools at a specific version number - `ethereum/client-go:alltools-{version}` is the stable version of the Ethereum tools at a specific version number
* `ethereum/client-go:alltools-release-{version}` is the latest stable version of the Ethereum tools at a specific version family - `ethereum/client-go:alltools-release-{version}` is the latest stable version of the Ethereum tools at a specific version family
The image has the following ports automatically exposed: The image has the following ports automatically exposed:
* `8545` TCP, used by the HTTP based JSON RPC API - `8545` TCP, used by the HTTP based JSON RPC API
* `8546` TCP, used by the WebSocket based JSON RPC API - `8546` TCP, used by the WebSocket based JSON RPC API
* `30303` TCP and UDP, used by the P2P protocol running the network - `30303` TCP and UDP, used by the P2P protocol running the network
* `30304` UDP, used by the P2P protocol's new peer discovery overlay - `30304` UDP, used by the P2P protocol's new peer discovery overlay
*Note, if you are running an Ethereum client inside a docker container, you might want to mount in a data volume as the client's data directory (located at `/root/.ethereum` inside the container) to ensure that downloaded data is preserved between restarts and/or container life-cycles.* _Note, if you are running an Ethereum client inside a docker container, you might want to mount in a data volume as the client's data directory (located at `/root/.ethereum` inside the container) to ensure that downloaded data is preserved between restarts and/or container life-cycles._
## Build it from source code ## Build it from source code
@ -89,15 +86,11 @@ Go Ethereum (as its name implies) is written in [Go](https://golang.org), and as
Assuming you have Go installed, you can download our project via: Assuming you have Go installed, you can download our project via:
```
go get -d github.com/ethereum/go-ethereum go get -d github.com/ethereum/go-ethereum
```
The above command will checkout the default version of Go Ethereum into your local `GOPATH` work space, but it will not build any executables for you. To do that you can either build one specifically: The above command will checkout the default version of Go Ethereum into your local `GOPATH` work space, but it will not build any executables for you. To do that you can either build one specifically:
```
go install github.com/ethereum/go-ethereum/cmd/geth go install github.com/ethereum/go-ethereum/cmd/geth
```
Or you can also build the entire project and install `geth` along with all developer tools by running `go install ./...` in the repository root inside your `GOPATH` work space. Or you can also build the entire project and install `geth` along with all developer tools by running `go install ./...` in the repository root inside your `GOPATH` work space.
@ -105,10 +98,8 @@ Or you can also build the entire project and install `geth` along with all devel
If you do not want to set up Go work spaces on your machine, only build `geth` and forget about the build process, you can clone our repository directly into a folder of your choosing and invoke `make`, which will configure everything for a temporary build and clean up after itself: If you do not want to set up Go work spaces on your machine, only build `geth` and forget about the build process, you can clone our repository directly into a folder of your choosing and invoke `make`, which will configure everything for a temporary build and clean up after itself:
```
git clone https://github.com/ethereum/go-ethereum.git git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum cd go-ethereum
make geth make geth
```
This will create a `geth` (or `geth.exe` on Windows) executable file in the `go-ethereum/build/bin` folder that you can move wherever you want to run from. The binary is standalone and doesn't require any additional files. This will create a `geth` (or `geth.exe` on Windows) executable file in the `go-ethereum/build/bin` folder that you can move wherever you want to run from. The binary is standalone and doesn't require any additional files.