GETH的安装和使用(Windows)

目录

 一、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"是指定数据存放的目录,例如data
geth --datadir xxxx init genesis.json


3.启动私有节点

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

geth --datadir "xxxx" --networkid ???? --port ????? --http --http.api "eth,net,web3,miner,admin" --http.addr "localhost" --http.port ???? console --nodiscover 2>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.blockNumber
eth.getBalance(eth.accounts[0])//这里的accounts[0]就是我们创建的第一个账户


 4.转账交易

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

解锁账户:personal.unlockAccount(eth.accounts[?],"password");
转账:eth.sendTransaction({from: eth.accounts[?], to: eth.accounts[?],value: web3.toWei(?,"ether")})
查看交易:txpool.status
查看交易详情:txpool.inspect.pending
挖矿交易:miner.start(1);admin.sleepBlocks(1);miner.stop();

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>