以太坊ETH(windows)配置

一:安装geth客户端
1.下载geth客户端
Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,下载解压后只有一个Geth.exe问价,运行安装即可,下载地址如下:

2.安装
点击运行 geth-windows-amd64-1.7.3-4bb3c89d.exe文件进行安装
安装后用cmd命令打开命令行,进入到你安装geth的目录下,输入geth –help 命令,如果输出一大堆关于geth的信息如下图则说明安装成功。当前geth命令只能在geth对应的目录下使用,如果想要在任何目录使用geth命令,只要把你安装geth的目录的路径加入到系统环境环境变量path中即可。

二:配置自己的创世文件:  
1.配置genesis.json文件
配置自己的创世块是为了区分公有链,同一个网络中,创世块必须是一样的,否则无法联通。在刚刚Geth安装目录下放置初始化创世块文件名字为genesis.json
文件内容是:
{
  "config": {
        "chainId": 10,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x02000000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}
参数名称
参数描述
mixhash
与nonce配合用于挖矿,由上一个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。
nonce
nonce就是一个64位随机数,用于挖矿,注意他和mixhash的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。
difficulty
设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度
alloc
用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的账号,需要的时候自己创建即可以。
coinbase
矿工的账号,随便填
timestamp
设置创世块的时间戳
parentHash
上一个区块的hash值,因为是创世块,所以这个值是0
extraData
附加信息,随便填,可以填你的个性信息
gasLimit
该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为我们是私有链,所以填最大。

2. 在windows启动区块链节点
进入Windows下Geth的目录 ,放置配置好的 genesis.json 文件,执行如下命令
geth  --datadir "%cd%\chain" init genesis.json

创建数据存放地址并初始化创世块
geth --identity "JPZetherum" --rpc --rpccorsdomain "*" --datadir "%cd%\chain" --rpcaddr "192.168.1.176" --port "30303"  --rpcapi "db,eth,net,web3,personal" --networkid 95527 -nodiscover  --mine --verbosity=5 console 2>>jpzchain.log
参数名称
参数描述
datadir
设置当前区块链网络数据存放的位置
console
启动命令行模式,可以在Geth中执行命令
nodiscover
私有链地址,不会被网上看到
identity
区块链的标示,随便填写,用于标示目前网络的名字
init
指定创世块文件的位置,并创建初始块
port
网络监听端口
rpc
启动rpc通信,可以进行 智能 合约的部署和调试
rpcapi
设置允许连接的rpc的客户端,一般为db,eth,net,web3,personal
networkid
设置当前区块链的网络ID,用于区分不同的网络,是一个数字
可以看到Listening on [::]:30303和Welcome to the Geth JavaScript console!的提示,说明已经启动成功

三:  使用节点创建账号
启动节点成功后,会进入Geth的命令行模式,输入如下命令
personal.newAccount()
系统会提示你输入账号密码,并确认,最后会显示一个新生成的账号。

四:下载安装图形化钱包
找到Ethereum-Wallet-win64-xxx.zip 下载安装即可。按照上述步骤进行之后(启动节点的命令行不要关闭)的前提下,运行这个钱包,运行Ethereum-Wallet.exe,即启动成功,如果区块链正常的话,会在右上角显示“PRIVATE-NET”,点击“LAUNCH APPLICATION”进入图形界面即可。
五:连接其他节点:
首先要知道自己的节点信息,在Geth命令行界面下输入命令,注意大小写
admin.nodeInfo
系统会显示
enode:"enode://1e3c1727cd3bee9f25edeb5dbb3b880e03e41f8eec99566557f3ee0422734a8fcad17c161aa93d61bdbfb28ed152c143c7eb501db58bc63502a104a84b62d742@0.0.0.0:30303
其中
enode://1e3c1727cd3bee9f25edeb5dbb3b880e03e41f8eec99566557f3ee0422734a8fcad17c161aa93d61bdbfb28ed152c143c7eb501db58bc63502a104a84b62d742@0.0.0.0:30303
就是自己节点的信息,注意要把”0.0.0.0”换成你自己的IP。将这个信息发送给其他节点,在其他节点的命令行中输入:
admin.addPeer(‘enode://1e3c1727cd3bee9f25edeb5dbb3b880e03e41f8eec99566557f3ee0422734a8fcad17c161aa93d61bdbfb28ed152c143c7eb501db58bc63502a104a84b62d742@192.168.1.101:30303’
如果添加成功,输入admin.peers会显示出新添加的节点。

六:  控制台基本操作:

1.查询账户: 
   
eth.accounts

  
2.创建账户,密码为“123456”:
   
personal.newAccount('123456')
  
3.账户赋值给变量:
    
user1 =eth.accounts[0]  

4.查询账户余额:
   
eth.getBalance(user1)
 
5.显示当前区块:
    
eth.blockNumber

6.开始挖矿(默认第一个账户得到挖矿收益,1为挖矿占用的CPU数量):
   
miner.start(1)
  
7.停止挖矿:
   
miner.stop()
 
8.解锁账户(获得账户使用权):
   
personal.unlockAccount(user1, "123456")
 
9.user1转账3以太币给user2:
    
eth.sendTransaction({from: user1, to: user2, value: web3.toWei(3,"ether")})

猜你喜欢

转载自blog.csdn.net/baidu_31247899/article/details/79421632