目录

一、Geth介绍

二、Geth安装

1.下载安装

2.配置环境变量

三、Geth私有链搭建

1.创建创世块文件

2.初始化区块链

3.启动私有节点

四、账户交易

1.创建账户

2.挖矿操作

3.查看区块和奖励

​4.转账交易


一、Geth介绍

Geth 又名Go Ethereum.是以太坊协议的三种实现之一,由Go语言开发,完全开源的项目。Geth可以被安装在很多操作系统上,包括Windows、Linux、Mac的OSX、Android或者IOS系统。

Geth的作用:Geth是以太坊协议的具体落地实现,通过Geth,你可以实现以太坊的各种功能,如账户的新建编辑删除,开启挖矿,ether币的转移,智能合约的部署和执行等等

二、Geth安装

1.下载安装

Windows系统进入官网下载,下载地址:Downloads | Go Ethereum

紧接着进行“傻瓜式安装”,一直点击next,修改安装路径后点击install,geth完成安装。

2.配置环境变量

右键我的电脑,点击电脑属性,进入高级系统设置——环境变量——新建系统变量

启动命令管理器检查geth是否安装成功

geth version

geth help

三、Geth私有链搭建

1.创建创世块文件

新建genesis.json文件,放在所安装geth的根目录下

{  "config": {    "chainId": XXX,    "homesteadBlock": 0,    "eip150Block": 0,    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",    "eip155Block": 0,    "eip158Block": 0,    "byzantiumBlock": 0,    "constantinopleBlock": 0,    "petersburgBlock": 0,    "istanbulBlock": 0,    "ethash": {}  },  "nonce": "0x0",  "timestamp": "0x5ddf8f3e",  "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",  "gasLimit": "0x47b760",  "difficulty": "0x00002",  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",  "coinbase": "0x0000000000000000000000000000000000000000",  "alloc": { },  "number": "0x0",  "gasUsed": "0x0",  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"}

2.初始化区块链

要创建使用此创世块的区块链节点,首先使用geth init导入并设置新链的规范创世块。这需要将路径genesis.json作为参数传递。在命令行输入以下任意一个命令执行,当log信息中显示了Successfully wrote genesis state,说明geth初始化完成。

geth init --datadir xxxx genesis.json   //"xxxx"是指定数据存放的目录,例如datageth --datadir xxxx init genesis.json

3.启动私有节点

初始化完成后,创世区块已经产生,启动私有节点就可以对其进行操作。当界面显示Welcome to the Geth JavaScript console!就成功进入了。

geth --datadir "xxxx" --networkid " />node1.log

–networkid后面跟数字,表示指定这个私有链的网络id。以太坊公网的网络id是1,为了不与公有链网络冲突,运行私有链节点的时候要指定自己的网络id并且不能为1;

–nodiscover是让控制台启动以后不去同步节点;

2>node1.log就是将日志信息输出到当前目录下的output.log的文件里;

四、账户交易

1.创建账户

使用personal对象,在客户端创建一个账户

personal.newAccount("xxx")    //新建账户eth.accounts    //查询当前节点下所有账户

2.挖矿操作

输入以下命令进行挖矿操作。start中的参数X代表用于挖矿的线程数量,空值默认为全部。该命令将自动执行挖矿程序。

开始挖矿:miner.start()或者miner.start(X)确认挖矿状态:eth.mining停止挖矿:miner.stop()设置挖矿账户miner.setEtherbase(account[" /> 

3.查看区块和奖励

输入以下命令进行查看

eth.blockNumbereth.getBalance(eth.accounts[0])//这里的accounts[0]就是我们创建的第一个账户

4.转账交易

转账之前需要先对账户执行解锁操作。要使交易被处理,必须要挖矿,启动挖矿后,等待挖到一个区块之后就可以停止挖矿了。完成交易操作后去查询转账账户和收款账户,金额都会有变化。

解锁账户:personal.unlockAccount(eth.accounts[" />