GETH的安装和使用(Windows)
Posted Kris 蒋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GETH的安装和使用(Windows)相关的知识,希望对你有一定的参考价值。
目录
一、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();
以上是关于GETH的安装和使用(Windows)的主要内容,如果未能解决你的问题,请参考以下文章