mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
Review further install steps
This commit is contained in:
parent
dfdd032d81
commit
18a5f9d3d3
6 changed files with 65 additions and 49 deletions
|
|
@ -4,10 +4,10 @@ title: Installation instructions for ARM
|
||||||
|
|
||||||
Geth is built for ARM using cross-compilation. See [Cross compiling Ethereum](Cross-compiling-Ethereum) for more details.
|
Geth is built for ARM using cross-compilation. See [Cross compiling Ethereum](Cross-compiling-Ethereum) for more details.
|
||||||
|
|
||||||
## RasPi 2
|
## RasberryPi 2
|
||||||
|
|
||||||
1. Download the precompiled binary from https://geth.ethereum.org/downloads/
|
1. Download the pre-compiled binary from <https://geth.ethereum.org/downloads/>
|
||||||
1. Copy it to a location in $PATH (i.e. /usr/local/bin)
|
2. Copy it to a location in $PATH (i.e., `/usr/local/bin`)
|
||||||
1. Run `geth`
|
3. Run `geth`
|
||||||
|
|
||||||
Further details: https://github.com/ethereum/wiki/wiki/Raspberry-Pi-instructions
|
Further details: <https://github.com/ethereum/wiki/wiki/Raspberry-Pi-instructions>
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,27 @@
|
||||||
---
|
---
|
||||||
title: Installation instructions for Arch
|
title: Installation instructions for Arch
|
||||||
---
|
---
|
||||||
|
|
||||||
## Installing using pacman
|
## Installing using pacman
|
||||||
|
|
||||||
The `geth` package is available from the [community repo](https://www.archlinux.org/packages/community/x86_64/geth/).
|
The `geth` package is available from the [community repo](https://www.archlinux.org/packages/community/x86_64/geth/).
|
||||||
|
|
||||||
You can install it using
|
You can install it using:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pacman -S geth
|
pacman -S geth
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installing from source
|
## Installing from source
|
||||||
Install dependencies
|
|
||||||
|
Install dependencies:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pacman -S git go gcc
|
pacman -S git go gcc
|
||||||
```
|
```
|
||||||
|
|
||||||
Download and build geth
|
Download and build geth:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git clone https://github.com/ethereum/go-ethereum
|
git clone https://github.com/ethereum/go-ethereum
|
||||||
cd go-ethereum
|
cd go-ethereum
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,18 @@
|
||||||
---
|
---
|
||||||
title: Installation instructions for FreeBSD
|
title: Installation instructions for FreeBSD
|
||||||
---
|
---
|
||||||
|
|
||||||
## Building from source
|
## Building from source
|
||||||
|
|
||||||
### Installing binary package
|
### Installing binary package
|
||||||
|
|
||||||
Binary packages tend not to be up to date (1.8.9 at the time of writing) with the latest version (1.8.16 at the time of writing). It is recommended that you use ports or compile it yourself.
|
Binary packages tend not to be up to date (1.8.9 at the time of writing) with the latest version (1.8.16 at the time of writing). We recommend that you use ports or compile go-ethereum yourself.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pkg install go-ethereum
|
pkg install go-ethereum
|
||||||
```
|
```
|
||||||
|
|
||||||
The `geth` command is then available on your system in `/usr/local/bin/geth`, you can start it e.g. on the testnet by typing:
|
The `geth` command is then available on your system in `/usr/local/bin/geth`.
|
||||||
|
|
||||||
```shell
|
|
||||||
geth -rinkeby
|
|
||||||
```
|
|
||||||
|
|
||||||
### Using ports
|
### Using ports
|
||||||
|
|
||||||
|
|
@ -24,6 +21,7 @@ Go to the `net-p2p/go-ethereum` ports directory:
|
||||||
```shell
|
```shell
|
||||||
cd /usr/ports/net-p2p/go-ethereum
|
cd /usr/ports/net-p2p/go-ethereum
|
||||||
```
|
```
|
||||||
|
|
||||||
Then build it the standard way (as root):
|
Then build it the standard way (as root):
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
@ -32,9 +30,7 @@ make install
|
||||||
|
|
||||||
### Building Geth (command line client)
|
### Building Geth (command line client)
|
||||||
|
|
||||||
Ports are slightly more up to date (1.8.14 at the time of writing)
|
Ports are slightly more up to date (1.8.14 at the time of writing). Clone the repository to a directory of your choosing:
|
||||||
|
|
||||||
Clone the repository to a directory of your choosing:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git clone https://github.com/ethereum/go-ethereum
|
git clone https://github.com/ethereum/go-ethereum
|
||||||
|
|
@ -46,12 +42,15 @@ Building `geth` requires the Go compiler:
|
||||||
pkg install go
|
pkg install go
|
||||||
```
|
```
|
||||||
|
|
||||||
If your golang version is >= 1.5, build the `geth` program using the following command.
|
If your golang version is >= 1.5, build the `geth` program using the following command:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd go-ethereum
|
cd go-ethereum
|
||||||
make geth
|
make geth
|
||||||
```
|
```
|
||||||
If your golang version is < 1.5 (quarterly packages, for example), use the following command instead.
|
|
||||||
|
If your golang version is < 1.5 (quarterly packages, for example), use the following command instead:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd go-ethereum
|
cd go-ethereum
|
||||||
CC=clang make geth
|
CC=clang make geth
|
||||||
|
|
|
||||||
|
|
@ -42,14 +42,18 @@ Building `geth` requires the Go compiler:
|
||||||
brew install go
|
brew install go
|
||||||
```
|
```
|
||||||
|
|
||||||
Finally, build the `geth` program using the following command.
|
<!-- TODO: Test -->
|
||||||
|
|
||||||
|
Build the `geth` program using the following command.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd go-ethereum
|
cd go-ethereum
|
||||||
make geth
|
make geth
|
||||||
```
|
```
|
||||||
|
|
||||||
If you see some errors related to header files of Mac OS system library, install XCode Command Line Tools, and try again.
|
<!-- TODO: Check and correct -->
|
||||||
|
|
||||||
|
If you see errors related to header files of the macOS system library, install XCode Command Line Tools, and try again.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
xcode-select --install
|
xcode-select --install
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,30 @@
|
||||||
|
---
|
||||||
|
title: Installation instructions for Ubuntu
|
||||||
|
---
|
||||||
|
|
||||||
|
## Install on Ubuntu via PPAs
|
||||||
|
|
||||||
|
You can install go-ethereum on Ubuntu-based distributions using the built-in launchpad PPAs (Personal Package Archives). We provide a single PPA repository with both our stable and our development releases for Ubuntu versions `trusty`, `xenial`, `zesty` and `artful`.
|
||||||
|
|
||||||
|
Install dependencies first:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo apt-get install software-properties-common
|
||||||
|
```
|
||||||
|
|
||||||
|
To enable our launchpad repository run:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo add-apt-repository -y ppa:ethereum/ethereum
|
||||||
|
```
|
||||||
|
|
||||||
|
After that you can install the stable version of go-ethereum:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install ethereum
|
||||||
|
```
|
||||||
|
|
||||||
Or the development version with:
|
Or the development version with:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
|
||||||
|
|
@ -2,17 +2,12 @@
|
||||||
title: Running in Docker
|
title: Running in Docker
|
||||||
---
|
---
|
||||||
|
|
||||||
We keep a Docker image with recent snapshot builds from the `develop` branch [on DockerHub](https://hub.docker.com/r/ethereum/client-go/). In addition to the container based on [Ubuntu](http://www.ubuntu.com) (158 MB), there is a smaller image using [Alpine Linux](https://alpinelinux.org) (35 MB). To use the alpine [tag](https://hub.docker.com/r/ethereum/client-go/tags), replace `ethereum/client-go` with `ethereum/client-go:alpine` in the examples below.
|
We maintain a Docker image with recent snapshot builds from our `develop` branch on DockerHub. In addition to the container based on Ubuntu (158 MB), there is a smaller image using Alpine Linux (35 MB). To use the alpine [tag](https://hub.docker.com/r/ethereum/client-go/tags), replace `ethereum/client-go` with `ethereum/client-go:alpine` in the examples below.
|
||||||
|
|
||||||
To pull the image, run this command:
|
To pull the image and start a node, run these commands:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker pull ethereum/client-go
|
docker pull ethereum/client-go
|
||||||
```
|
|
||||||
|
|
||||||
Start a node with:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
docker run -it -p 30303:30303 ethereum/client-go
|
docker run -it -p 30303:30303 ethereum/client-go
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -22,7 +17,7 @@ To start a node that runs the JSON-RPC interface on port **8545**, run:
|
||||||
docker run -it -p 8545:8545 -p 30303:30303 ethereum/client-go --rpc --rpcaddr "0.0.0.0"
|
docker run -it -p 8545:8545 -p 30303:30303 ethereum/client-go --rpc --rpcaddr "0.0.0.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
**WARNING: This opens your container to external calls. "0.0.0.0" should _not_ be used when exposed to public networks**
|
**WARNING: This opens your container to external calls. You should not use "0.0.0.0" when exposed to public networks.**
|
||||||
|
|
||||||
To use the interactive JavaScript console, run:
|
To use the interactive JavaScript console, run:
|
||||||
|
|
||||||
|
|
@ -32,11 +27,13 @@ docker run -it -p 30303:30303 ethereum/client-go console
|
||||||
|
|
||||||
## Using Data Volumes
|
## Using Data Volumes
|
||||||
|
|
||||||
To persist downloaded blockchain data between container starts, use Docker [data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/#/mount-a-host-directory-as-a-data-volume). Replace `/path/on/host` with the location you want to store the data in.
|
To persist downloaded blockchain data between container starts, use Docker [data volumes](https://docs.docker.com/engine/tutorials/dockervolumes/#/mount-a-host-directory-as-a-data-volume). Replace `/path/on/host` with the location you want to store the data.
|
||||||
|
|
||||||
|
```shell
|
||||||
docker run -it -p 30303:30303 -v /path/on/host:/root/.ethereum ethereum/client-go
|
docker run -it -p 30303:30303 -v /path/on/host:/root/.ethereum ethereum/client-go
|
||||||
|
```
|
||||||
|
|
||||||
* * *
|
## Different image versions
|
||||||
|
|
||||||
We maintain four different docker images for running the latest stable or development versions of Geth.
|
We maintain four different docker images for running the latest stable or development versions of Geth.
|
||||||
|
|
||||||
|
|
@ -45,24 +42,9 @@ We maintain four different docker images for running the latest stable or develo
|
||||||
- `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
|
||||||
|
|
||||||
<!-- TODO: What are these? Maybe best not in getting started -->
|
The images have the following ports automatically exposed:
|
||||||
|
|
||||||
We also maintain four different docker images for running the latest stable or development versions of miscellaneous 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-{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
|
|
||||||
|
|
||||||
<!-- TODO: Same again -->
|
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
<!-- TODO: And again -->
|
|
||||||
|
|
||||||
_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._
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue