以太坊私链教程:(一)如何创建私链

目标

  • 安装与创世
  • 创建账户
  • 如何挖矿

前言

在区块链火热的今天,各种ICO层出不穷,甚至成为了某种不可描述的载体,但山寨ICO的门槛似乎不低,关注区块链的朋友们无法快速地入门。现在隆重为大家介绍一个区块链平台:以太坊,它是一个平台和一种编程语言,完成了底层的技术性难题,我们只需要在它的基础上设计自己的智能合约,将自己的应用通过合约接入到区块链体系中。

经过

环境安装

我们使用 Windows 10做为第一次的入门试验环境
1、下载Geth 安装包https://geth.ethereum.org/downloads/

以太坊私链教程:(一)如何创建私链
下载 for Windows 版

2、安装,此过程会添加到环境变量,一切都是自动化的,无需额外设置
3、安装进程100%后,Close掉安装界面;安装程序仅仅在开始菜单中建立两个链接,并不会在桌面有快捷方式,也不会有乱七八糟的插件安装。

创世

  • 准备一个干净的磁盘空间,例如 E:\ETH专门用于本系列教程
  • 创建创世配置文件 E:\ETH\genesis.json,内容如下
   {
       "coinbase": "0x0000000000000000000000000000000000000000",
       "config": {
              "homesteadBlock": 5
        },
       "difficulty": "0x20000",
       "extraData": "0x",
       "gasLimit": "0x2FEFD8",
       "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578",
       "nonce": "0x0",
       "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
       "timestamp": "0x00",
       "alloc": {
              "dbdbdb2cbd23b783741e8d7fcf51e459b497e4a1":
              {
                  "balance":"100000000000000000000000000000"
              }
       }
    }
  • 创建私链文件夹 BlackiceChain
以太坊私链教程:(一)如何创建私链
创世文件与私链文件夹位置
  • 运行(Win+R) cmd


    以太坊私链教程:(一)如何创建私链
    CMD
  • 输入以下始化(创世)命令,回车执行,创世过程很快就能完成。
 geth --datadir "E:\ETH\BlackiceChain" init "E:\ETH\genesis.json"
以太坊私链教程:(一)如何创建私链
命令执行
  • 创世完成后,我们可以通过命令进入控制台
geth --datadir "E:\ETH\BlackiceChain" console

我们也可以把这个命令保存为一个console.bat,不用每次都输入命令

以太坊私链教程:(一)如何创建私链
批处理
以太坊私链教程:(一)如何创建私链
控制台

创建账户

刚创世完成的系统中是不存在任何账户的,现在我们手工创建第一个账户。

  • 进入console控制台
  • 输入 personal.newAccount('Password'),这里对密码复杂度没有要求,任意能记住的字符就行了,系统生成一个账户,返回账户地址(公钥)。
    以太坊私链教程:(一)如何创建私链
    创建账户

    -生成的新账户是没有任何资产的,此时余额为0,我们通过以下代码查询余额。

accounts为账户集合,index 0即是我们刚才创建的第一个账户
getBalance为查询余额的函数,参数为账户实例

eth.getBalance(eth.accounts[0])
以太坊私链教程:(一)如何创建私链
查询资产

挖矿

新创建的账户一穷二白,不过不要怕,私链中很容易就能挖到币,下面我们介绍如何开始与停止挖矿

  • 挖矿很简单,在console执行下面的命令开始挖
miner.start()

挖矿前有一个很长时间的初始化过程,视电脑配置情况不定,请耐心等待

以太坊私链教程:(一)如何创建私链
开始挖矿

由于私链很容易挖到,所以挖一会儿就可以停了;不过这时候由于刚才开启的console已经被挖矿阻塞了,无法执行stop指令,我们需要attch到进程上去停止它。

另外打开一个cmd,执行下面的指令,我们可以看到它返回了true,并且挖矿的console也停止了滚动

geth attach --datadir "E:\ETH\BlackiceChain" --exec "miner.stop()"
以太坊私链教程:(一)如何创建私链
停止挖矿

这时我们来查询下余额

geth attach --datadir "E:\ETH\BlackiceChain" --exec "eth.getBalance(eth.accounts[0])"
以太坊私链教程:(一)如何创建私链
可怕的余额

为了方便起见,我们可以将上述命令保存为bat文件

总结

本实验主要演示如何在Windows下搭建一个私链节点,并采用脚本自动开始与结束挖矿,下一次我们将继续学习如何使用挖到的私币。

下期预告

以太坊私链教程:(二)转账、矿工

上一篇:Kaggle 教程系列:机器学习模型是如何工作的?


下一篇:Python大数据:jieba分词,词频统计