区块链开发-搭建基于以太坊的私有链环境

一:安装geth客户端

     1.下载geth客户端

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

     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"

}

      2. 在windows启动区块链节点

       进入Windows下Geth的目录 ,放置配置好的genesis.json 文件,执行如下命令:

       geth --datadir "%cd%\chain" init genesis.json

       3、启动geth console

         geth --identity "HDetherum" --rpc --rpccorsdomain "*" --datadir "%cd%\chain" --port "30303" --rpcapi     "db,eth,net,web3" --networkid 95520 -nodiscover --verbosity=5 console 2>>hdchain.log

       可以看到Listening on [::]:30303和Welcome to the Geth JavaScript console!的提示,说明已经启动成功

      4、启动节点

       进入Geth命令行模式,使用命令:geth console

三: 使用节点创建账号

启动节点成功后,会进入Geth的命令行模式,输入如下命令

personal.newAccount()

系统会提示你输入账号密码, 并确认,最后会显示一个新生成的账号。

四:下载安装图形化钱包

下载地址:https://github.com/ethereum/mist/releases/

找到Ethereum-Wallet-win64-xxx.zip 下载安装即可。按照上述步骤进行之后(启动节点的命令行不要关闭)的前提下,运行这个钱包,运行Ethereum-Wallet.exe,即启动成功,如果区块链正常的话,会在右上角显示“PRIVATE-NET”,点击“LAUNCH APPLICATION”进入图形界面即可

五:连接其他节点

首先要知道自己的节点信息,在Geth命令行界面下输入命令,注意大小写

admin.nodeInfo    或     admin.nodeInfo.enode

系统会显示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")})

你可能感兴趣的:(区块链开发-搭建基于以太坊的私有链环境)