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

简介: 目标安装与创世创建账户如何挖矿前言在区块链火热的今天,各种ICO层出不穷,甚至成为了某种不可描述的载体,但山寨ICO的门槛似乎不低,关注区块链的朋友们无法快速地入门。

目标

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

前言

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

经过

环境安装

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

img_d03dbb37c9fe92c679497f3a3eebafc1.png
下载 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
img_2a57cb5b242379dcd45cb8321f221bc7.png
创世文件与私链文件夹位置
  • 运行(Win+R) cmd


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

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

img_d070c7cc81530977dd6f4406ebccbd68.png
批处理
img_3cdf14e788a9ec5e011075131c87a71e.png
控制台

创建账户

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

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

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

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

eth.getBalance(eth.accounts[0])
img_b3f963f2f1c8550130773e9b385f78cd.png
查询资产

挖矿

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

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

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

img_01f26747a53197671828c30869050ecc.png
开始挖矿

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

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

geth attach --datadir "E:\ETH\BlackiceChain" --exec "miner.stop()"
img_b5ab165af4f37e1f7da46f87353b970d.png
停止挖矿

这时我们来查询下余额

geth attach --datadir "E:\ETH\BlackiceChain" --exec "eth.getBalance(eth.accounts[0])"
img_e93c1bd10d50c18e38434bd03eb170ec.png
可怕的余额

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

总结

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

下期预告

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

相关文章
|
算法 分布式数据库 区块链
区块链入门教程
区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。
|
区块链 开发者
教程(1):关于如何上链的简单直接的操作教程
这是一篇关于如何上链的简单直接地操作流程。
1533 0
教程(1):关于如何上链的简单直接的操作教程
|
3月前
|
网络性能优化 网络虚拟化 数据安全/隐私保护
网络基础知识笔记(五)接口管理
网络基础知识笔记(五)接口管理
|
8月前
管理入门到管理进阶需要什么
管理入门到管理进阶需要什么
51 0
|
区块链 C# Windows
以太坊开发入门,完整入门篇
一个适合区块链新手的以太坊DApp开发教程: http://xc.hubwiz.com/course/5a952991adb3847553d205d1 一个用区块链、星际文件系统(IPFS)、Node.
3575 0
|
监控 大数据 流计算
环境篇之项目概述|学习笔记
快速学习环境篇之项目概述
|
区块链 算法 开发者
带你读《深入理解以太坊》之一:以太坊概述
这是一本从原理和实践两个层面系统、深入讲解以太坊技术的专著,从设计理念、技术架构、共识算法、智能合约、以太坊虚拟机、开发工具、DApp开发、企业以太坊解决方案、跨链技术等近10个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。
|
测试技术 区块链 数据安全/隐私保护
10分钟完成阿里云环境搭建以太坊私有链
10分钟快速搭建以太坊私有链
5036 0
|
存储 算法 区块链
以太坊原理简介
本文介绍以太坊的一些基础概念,以及基本原理。主要内容包括:以太坊是什么、以太坊网络、账户类型、账户状态、交易、费用、gas、叔块、以太坊区块链结构、以太坊结构
4017 0