First draft
This commit is contained in:
27
docs/_install-and-build/Build-from-Source.md
Normal file
27
docs/_install-and-build/Build-from-Source.md
Normal file
@ -0,0 +1,27 @@
|
||||
<!-- TODO: Maybe move? -->
|
||||
|
||||
## Build from source
|
||||
|
||||
Go Ethereum (as its name implies) is written in [Go](https://golang.org), and as such to build from source code you need to have at least Go 1.7 installed (preferably the latest version, currently at 1.9.2). This guide does not go into details on how to install Go itself, for that please read the [Go installation instructions](https://golang.org/doc/install).
|
||||
|
||||
Assuming you have Go installed, you can download our project via:
|
||||
|
||||
```shell
|
||||
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:
|
||||
|
||||
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.
|
||||
|
||||
### Building without a Go workflow
|
||||
|
||||
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
|
||||
cd go-ethereum
|
||||
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.
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: Installation instructions for Mac
|
||||
title: Installation instructions for macOS
|
||||
---
|
||||
|
||||
## Installing with Homebrew
|
||||
|
||||
By far the easiest way to install go-ethereum is to use our
|
||||
@ -13,7 +14,7 @@ brew tap ethereum/ethereum
|
||||
brew install ethereum
|
||||
```
|
||||
|
||||
You can install the develop branch by running `--devel`:
|
||||
You can install the develop branch using the `--devel` parameter:
|
||||
|
||||
```shell
|
||||
brew install ethereum --devel
|
||||
@ -25,7 +26,7 @@ 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`
|
||||
|
||||
For options and patches, see: https://github.com/ethereum/homebrew-ethereum
|
||||
For options and patches, see: <https://github.com/ethereum/homebrew-ethereum>
|
||||
|
||||
## Building from source
|
||||
|
||||
@ -44,6 +45,7 @@ brew install go
|
||||
```
|
||||
|
||||
Finally, build the `geth` program using the following command.
|
||||
|
||||
```shell
|
||||
cd go-ethereum
|
||||
make geth
|
||||
|
@ -0,0 +1,6 @@
|
||||
Or the development version with:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get install ethereum-unstable
|
||||
```
|
@ -21,6 +21,7 @@ To start a node that runs the JSON-RPC interface on port **8545**, run:
|
||||
```shell
|
||||
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**
|
||||
|
||||
To use the interactive JavaScript console, run:
|
||||
@ -35,3 +36,33 @@ To persist downloaded blockchain data between container starts, use Docker [data
|
||||
|
||||
docker run -it -p 30303:30303 -v /path/on/host:/root/.ethereum ethereum/client-go
|
||||
|
||||
* * *
|
||||
|
||||
We maintain four different docker images for running the latest stable or development versions of Geth.
|
||||
|
||||
- `ethereum/client-go:latest` is the latest development 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:release-{version}` is the latest stable version of Geth at a specific version family
|
||||
|
||||
<!-- TODO: What are these? Maybe best not in getting started -->
|
||||
|
||||
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
|
||||
- `8546` TCP, used by the WebSocket based JSON RPC API
|
||||
- `30303` TCP and UDP, used by the P2P protocol running the network
|
||||
- `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._
|
||||
|
Reference in New Issue
Block a user