以太坊开发文档01 - 安装并运行节点

 
  

Geth

前线工具被称为Geth的(古英语中的第三人称单数的“去”结合。非常合适给出GETH是写在围棋。Geth的是运行在围棋中实现一个完整的复仇军节点的多用途命令行工具。它提供了三个接口:命令行子命令和选项,Json-rpc服务器和交互式控制台。

为了安装Geth,打开一个命令行或终端工具(如果你不确定如何做到这一点,可以考虑等待一个更友好的版本),然后粘贴下面的命令:

bash <(curl https://install-geth.ethereum.org)  

该脚本将检测您的操作系统,并尝试安装以太坊CLI。有关包管理器的更多选项,请查看特定于操作系统的子部分。

第一次运行

为了本指南的目的,我们将重点介绍交互式控制台,一个JavaScript环境。控制台的历史在会话之间保持不变,为使用客户端提供了一种强大且灵活的方式。您可以使用向上和向下箭头键(如标准命令行)来浏览命令历史记录。开始使用在终端上输入以下代码

geth console

一旦geth完全启动,你应该看到一个>提示,让你知道控制台已经准备就绪。要退出,请exit在提示符下键入并点击[enter]

使用stderr

控制台的输出可以被记录或重定向:

geth console 2>>geth.log

使用标准工具,可以在一个单独的窗口中监视日志:

tail -f geth.log

或者,也可以使用交互式控制台运行一个终端,另一个终端可以直接运行日志输出。

  1. 打开两个终端
  2. 第二终端类型tty输出将是类似的东西/dev/pts/13
  3. 在主终端中输入: geth console 2>> /dev/pts/13

这将允许您监视您的节点,而不会混淆交互式控制台。


Linux安装选项

于Debian / Ubuntu

从PPA安装

有关最新开发快照,无论是ppa:ethereum/ethereumppa:ethereum/ethereum-dev是必要的。如果您想要最后一个PoC版本的稳定版本,请只添加第一个。

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum

安装后,运行geth account new在您的节点上创建一个帐户。

您现在应该能够运行geth并连接到网络。

确保检查不同的选项和命令 geth --help

您也可以只安装geth使用CLI apt-get install geth,如果你不想安装其他实用程序(bootnodeevmdisasmrlpdumpethtest)。

编译安装

建立Geth(命令行客户端)

将存储库克隆到您选择的目录:

git clone https://github.com/ethereum/go-ethereum

安装最新的Go(v1.4)发行版,如果你还没有的话:

请参阅说明

建设geth需要安装一些外部库:

sudo apt-get install -y build-essential libgmp3-dev golang

最后,geth使用以下命令构建程序。

cd go-ethereum
make geth

你现在可以运行build/bin/geth来启动你的节点。

ARCH

从源代码安装

安装依赖关系

pacman -S git go gcc gmp

下载并建立geth

git clone https://github.com/ethereum/go-ethereum
cd go-ethereum
make geth

Mac安装

用Homebrew安装

如果您没有Homebrew,请先安装

然后运行以下命令添加水龙头并安装geth

brew tap ethereum/ethereum
brew install ethereum

您可以运行--devel以下命令来安装开发分支

brew install ethereum --devel

安装后,运行geth account new在您的节点上创建一个帐户。

您现在应该能够运行geth并连接到网络。

确保检查不同的选项和命令 geth --help

有关选项和修补程序,请参阅:https//github.com/ethereum/homebrew-ethereum

源代码编译

建立Geth(命令行客户端)

将存储库克隆到您选择的目录:

git clone https://github.com/ethereum/go-ethereum

建设geth需要安装一些外部库:

  • GMP
  • GO
brew install gmp go

最后,geth使用以下命令构建程序。

cd go-ethereum
make geth

你现在可以运行build/bin/geth来启动你的节点。


Windows安装

从Chocolatey安装

对于主分支:

choco install geth-stable

有关更多信息,请参阅https://chocolatey.org/packages/geth-stable

开发分支:

choco install geth-latest

有关更多信息,请参阅https://chocolatey.org/packages/geth-latest

编译安装

  1. http://git-scm.com/downloads安装Git
  2. https://storage.googleapis.com/golang/go1.4.2.windows-amd64.msi安装Golang
  3. http://win-builds.org/1.5.0/win-builds-1.5.0.exe安装winbuild c:\winbuilds
  4. 在这里运行win build。去掉像QT和GTK这些不需要的大依赖是安全的。应该确定依赖关系的确切列表
  5. 安装环境路径
    1. 添加GOROOT指出,c:\goGOPATHc:\godev(你可以自由挑选这些路径)。
    2. 设置PATH%PATH%;%GOROOT%\bin;%GOPATH%\bin;c:\winbuilds\bin
  6. 打开终端并首先安装godep: go get -u github.com/tools/godep
  7. 打开终端并下载以太坊 go get -d -u github.com/ethereum/go-ethereum
  8. 尝试建立以太坊,导航c:\godev\src\github.com\ethereum\go-ethereum\cmd\geth和运行git checkout develop && godep go install

如果您想从其他分支构建旁路godep go installgo install并手动检查依赖关系。

用Cygwin构建的PowerShell脚本

警告:此安装方法当前无法正确链接。给消息“ld:找不到-lmingwex”和“ld:找不到-lmingw32”

#REQUIRES -Version 3.0

# Set local directory paths
$basedir = $env:USERPROFILE
$downloaddir = "$basedir\Downloads"

# Set Go variables
$golangroot = "$basedir\golang"
$gosrcroot = "$basedir\go"
$golangdl = "https://storage.googleapis.com/golang/"

# Set cygwin variables
$cygwinroot = "$basedir\cygwin"
$cygwinpackages = "gcc-g++,binutils,make,git,gmp,libgmp10,libgmp-devel"
$cygwinmirror = "http://cygwin.mirrorcatalogs.com"
$cygwindl = "https://cygwin.com/"

# Finalize paths based on processor architecture
if ($ENV:PROCESSOR_ARCHITECTURE -eq "AMD64") {
  $golangdl = $golangdl + "go1.5.1.windows-amd64.zip"
  $cygwindl = $cygwindl + "setup-x86_64.exe"
} else {
  $golangdl = $golangdl + "go1.5.1.windows-386.zip"
  $cygwindl = $cygwindl + "setup-x86.exe"
}

# Download dependencies
Invoke-WebRequest $cygwindl -UseBasicParsing -OutFile "$downloaddir\cygwin-setup.exe"
Invoke-WebRequest $golangdl -UseBasicParsing -OutFile "$downloaddir\golang.zip"

# Install Cygwin & dependencies
Invoke-Expression "$downloaddir\cygwin-setup.exe --root $cygwinroot --site $cygwinmirror --no-admin --quiet-mode --packages=$cygwinpackages"
# Install Golang
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory("$downloaddir\golang.zip", $golangroot)

# Set environment variables
# Only works locally
$env:GOROOT = "$golangroot\go"
$env:GOPATH = $gosrcroot
$env:PATH = "$env:PATH;$cygwinroot\bin;$golangroot\go\bin;$gosrcroot\bin"
# Only works in new sessions
[Environment]::SetEnvironmentVariable("GOROOT", $env:GOROOT, "User")
[Environment]::SetEnvironmentVariable("GOPATH", $env:GOPATH, "User")
[Environment]::SetEnvironmentVariable("PATH", $env:PATH, "User")


# Download go-ethereum source
go get github.com/tools/godep
git clone https://github.com/ethereum/go-ethereum $env:GOPATH/src/github.com
cd $env:GOPATH/src/github.com/ethereum/go-ethereum
godep go install .\cmd\geth


在Docker中运行

我们使用DockerHub上develop分支的最近快照构建来保留一个Docker镜像先运行这个:

docker pull ethereum/client-go

用以下方式启动节点:

docker run -it -p 30303:30303 ethereum/client-go

要启动在端口8545上运行JSON-RPC接口的节点,请运行:

docker run -it -p 8545:8545 -p 30303:30303 ethereum/client-go --rpc

警告:这将打开您的容器到外部电话

要使用交互式JavaScript控制台,请运行:

docker run -it -p 30303:30303 ethereum/client-go console


ARM的安装说明

Geth是使用交叉编译为ARM构建的。有关更多详细信息,请参阅交叉编译以太坊

RasPi 2

  1. 从master分支下载预编译的二进制文件
  2. 将其复制到$ PATH中的位置(即/ usr / bin / local)
  3. 跑 geth

更多详细信息:https//github.com/ethereum/wiki/wiki/Raspberry-Pi-instructions



你可能感兴趣的:(Dapp)