什么是以太坊节点
随着比特币的出现,基于区块链的技术逐渐变得越来越流行,开发人员能够在区块链平台开发分布式应用程序,许多人认为这是解决目前互联网数据不安全,被滥用的解决方案。
以太坊使用区块链技术允许任何人公开dapps(分布式应用程序),让服务提供商和用户进行直接连接。
在以太坊网络上,每个客户端都是一个节点,并且是更大网络的一部分,因此在建立客户端时,必须将整个网络的数据库和交易数据。在本文中,我们将回顾在Ubuntu(Linux)服务器上设置以太坊节点的过程。
前提条件
在开始设置节点相关的配置和命令之前,需要一些基础知识,因此您应该在某种程度上熟悉以下内容:
- 区块链技术及其工作原理。
- 管理geth客户端帐户
节点类型
网络上基本上有两种类型的节点,
- 轻量级节点
- 完整节点
轻量级节点可以在低配置机器上运行,因此保持区块链数据的浅拷贝,而全节点保持网络进行的所有交易数据。
在我们的设置中,我们将审查这两个系统,以便对如何处理流程有一个具体的讲解。
设置Geth客户端(节点)
以太坊区块链有许多客户,但最安全和有据可查的都包括在内
- Mist钱包
- Geth钱包 Mist钱包是一个基于GUI(图形用户界面)的客户端,用户可以方便操作钱包,也可以在Mist钱包上开发合同。
建立一个Mist钱包
要设置Mist钱包,请去以太坊官方下载。进入下载部分,您会看到下载按钮,您可以通过该按钮下载Mist钱包的新版本。
这需要一些时间来设置,因为它必须下载区块链的数据库,在下载完成后,您的计算机变成以太网网络上的一个节点。
在Mist钱包创建合同
通常,在Mist网络或以太坊网络上构建合同是可靠的,它是一种强类型语言。创建合同就像部署应用程序一样简单,只需将合同代码放在指定的目录下。
设置Geth客户端钱包。
对于不同的操作系统,可以通过不同的方式建立geth客户端。
设置为Windows
Chocolatey软件包管理器,它提供了一种简单的方法来获取所需的构建设置和工具。
接下来,我们运行命令行指令安装我们需要的构建工具。
C:\Windows\system32> choco install gitC:\Windows\system32> choco install golangC:\Windows\system32> choco install mingw
安装这些软件包将设置路径环境变量。
接下来,让我们确保安装Go
C:\Users\xxx> set "GOPATH=%USERPROFILE%"C:\Users\xxx> set "Path=%USERPROFILE%\bin;%Path%"C:\Users\xxx> setx GOPATH "%GOPATH%"C:\Users\xxx> setx Path "%Path%"C:\Users\xxx> mkdir src\github.com\ethereumC:\Users\xxx> git clone https://github.com/ethereum/go-ethereum src\github.com\ethereum\go-ethereumC:\Users\xxx> cd src\github.com\ethereum\go-ethereumC:\Users\xxx> go get -u -v golang.org/x/net/context
最后,编译geth的命令
C:\Users\xxx\src\github.com\ethereum\go-ethereum> go install -v ./cmd/...
使用所有设置,我们都可以使用Windows上的设置。
在Linux上设置(Debian)
从ppa安装
sudo apt-get install software-properties-commonsudo add-apt-repository -y ppa:ethereum/ethereumsudo apt-get updatesudo apt-get install ethereum
安装后,运行geth account new以在您的节点上创建一个帐户。您现在应该可以运行geth并连接到网络。
还有其他的选择,如从源代码构建
从源代码上构建
建立Geth(命令行客户端)
- 将存储库克隆到您选择的目录
git clone https://github.com/ethereum/go-ethereum
- 安装最新版本的Go(v1.7)如果你还没有它
- 构建geth需要安装的Go和C编译器。
sudo apt-get install -y build-essential golang
- 使用以下命令继续构建
cd go-ethereummake geth
- 要启动节点,请运行 build/bin/geth
在Mac上设置
开始以太坊最简单的方法就是运行homebrew。
接下来,安装geth
brew tap ethereum/ethereumbrew install ethereum
管理帐户
一定要记住你的密码
从根本上说,客户账户管理是通过账户命令提供的
$ geth account <command> [options...] [arguments...]
您可以创建新帐户,列出现有帐户,将私钥导入新帐户,迁移至新密钥格式并更改密码。
我们将回顾一些重要的命令来了解。
创建账户
$ geth account newYour new account is locked with a password. Please give a password. Do not forget this password.Passphrase:Repeat Passphrase:Address: {168sdunina2ee09042d83d7c5811b5334789349934}
列出账户
$ geth account listAccount #0: {5afdd78bdacb56ab1dad28741ea2a0e47fe41331} keystore:///tmp/mykeystore/UTC--2017-04-28T08-46-27.437847599Z--5afdd78bdacb56ab1dad28741ea2a0e47fe41331Account #1: {9acb9ff906641a434803efb474c96a837756287f} keystore:///tmp/mykeystore/UTC--2017-04-28T08-46-52.180688336Z--9acb9ff906641a434803efb474c96a837756287f
将私钥导入具有自定义datadir的节点
$ geth account import --datadir /someOtherEthDataDir ./key.prvThe new account will be encrypted with a passphrase.Please enter a passphrase now.Passphrase:Repeat Passphrase:Address: {7f444580bfef4384839403049823453c9d}
结论
区块链技术对于很多人来说还是比较新的,这方面还有很多工作要做,但构建dapps和使用分布设置对于新手也应该不成问题。