GETH的安装和使用(Windows)_geth安装
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
一、Geth介绍
Geth 又名Go Ethereum.是以太坊协议的三种实现之一由Go语言开发完全开源的项目。Geth可以被安装在很多操作系统上包括Windows、Linux、Mac的OSX、Android或者IOS系统。
Geth的作用Geth是以太坊协议的具体落地实现通过Geth你可以实现以太坊的各种功能,如账户的新建编辑删除开启挖矿ether币的转移智能合约的部署和执行等等
二、Geth安装
1.下载安装
Windows系统进入官网下载下载地址Downloads | Go Ethereum
紧接着进行“傻瓜式安装 ”一直点击next修改安装路径后点击installgeth完成安装。
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.startX
确认挖矿状态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();