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

简介: 目标安装与创世创建账户如何挖矿前言在区块链火热的今天,各种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下搭建一个私链节点,并采用脚本自动开始与结束挖矿,下一次我们将继续学习如何使用挖到的私币。

下期预告

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

相关文章
|
区块链
dapp互助公排智能合约系统开发指南与规则
智能合约作为区块链技术应用最广泛的场景之一
|
Go 区块链
以太坊挖矿系统开发二开源码
以太坊挖矿系统开发二开源码
|
前端开发 JavaScript Java
马蹄链DAPP合约项目系统开发技术方案丨(源码搭建)
马蹄链DAPP合约项目系统开发技术方案丨(源码搭建)
109 0
|
区块链
DAPP马蹄链智能合约系统开发功能详情丨DAPP马蹄链智能合约开发源码部署
 DAPP是DecentralizeDAPPlication的缩写,中文叫分布式应用/去中心化应用)。通常来说,不同的DAPP会采用不同的底层区快开发平台和共识机制,或者自行发布代币(也可以使用基于相同区快平台的通用代币)。
|
区块链
马蹄链智能合约开发正式版丨马蹄链dapp智能合约系统开发(开发规则 )丨马蹄链智能合约源码案例
  本质上来说,智能合约是一段程序,它以计算机指令的方式实现了传统合约的自动化处理。智能合约程序不只是一个可以自动执行的计算机程序,它本身就是一个系统参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。
|
存储 Ubuntu Linux
马蹄链DAPP系统开发技术搭建部署教程
马蹄链DAPP系统开发技术搭建部署教程
202 0
|
安全 Linux 区块链
教你吃透以太坊的测试网络
主网络中的以太币是有价值的,在主网络上直接进行钱包软件或者智能合约的开发将会是非常危险的,稍有不慎就会损失以太币,甚至影响整个主网络的运行。同时,因为主网络使用人数多,矿工更是不计其数,如果是在开发一个wakuang软件,用一台开发软件的笔记本电脑几乎不可能挖出一个区块,这就导致测试几乎不可行。 于是,出于测试和学习的目的,便会有一小部分节点,使用与主网络不同的创世区块,开启一条全新的区块链,并在上面wakuang和测试,这就是测试网络(Testnet)。.........
714 0
教你吃透以太坊的测试网络
|
Ubuntu 区块链 开发工具
私链智能合约挖矿dapp系统开发详情介绍(模式可定制)
私链智能合约挖矿dapp系统开发详情介绍(模式可定制)
|
区块链 计算机视觉 C++
BSC币安链智能合约系统开发搭建技术(参照)
BSC币安链智能合约系统开发搭建技术(参照)
721 0