区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..
在做一些测试工作的时候, 为了方便控制以及更快的进入真正的测试工作,可能需要搭建一个私有的以太坊网络.
而以太坊节点之间能够互相链接需要满足1)相同的协议版本2)相同的networkid,所以搭建私有网络最方便的方法就是通过geth命令中的--networkid选项,设置一个与主网不同的networkid(主网的networkid为1),这也是官方推荐的方法.
下面开始建立私有以太坊网络:
mkdir private-geth
cd private-geth
建立创世纪区块文件,是一个json格式的文件:
vim genesis.json
在创世纪区块的json文件中填入以下内容, 并保存.
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x40000",
"extraData" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc": { }
}
初始化创世纪节点,并设置data目录:
geth --datadir ./data/00 init genesis.json

启动节点, 加上console 表示启动后,启用命令行:
geth --datadir ./data/00 --networkid 15 console

在有一个账户之前,什么事情都不能干....,先继续在命令行中输入命令,查看当前节点中的账户:
> eth.accounts
[]
输出了一个"[]",说明毛都么有一根,更别说账户了.既然没有,那就来创建一个,继续输入命令:
> personal.newAccount("123456")
正常情况,命令行会输出:
INFO [05-15|23:59:29] New wallet appeared url=keystore:///home/zl/Documents/p… status=Locked
"0x5b901c2495c077f515ae84fc53206f2eb3bf8296"
再用之前查看账户的命令看看:
> eth.accounts
["0x5b901c2495c077f515ae84fc53206f2eb3bf8296"]
有输出了"0x5b.......96"这一串就是账户的地址.
账户有了,接下来做点更有意思的事,开始挖矿....继续在命令行书输出:
> miner.start()
INFO [05-16|00:07:25] Updated mining threads threads=0
INFO [05-16|00:07:25] Starting mining operation
null
INFO [05-16|00:07:25] Commit new mining work number=1 txs=0 uncles=0 elapsed=38.053ms
INFO [05-16|00:07:28] Generating DAG in progress epoch=0 percentage=0 elapsed=1.715s
INFO [05-16|00:07:30] Generating DAG in progress epoch=0 percentage=1 elapsed=3.448s
INFO [05-16|00:07:31] Generating DAG in progress epoch=0 percentage=2 elapsed=5.059s
INFO [05-16|00:07:33] Generating DAG in progress epoch=0 percentage=3 elapsed=6.799s
INFO [05-16|00:07:35] Generating DAG in progress epoch=0 percentage=4 elapsed=8.373s
...................................这个percenage=100,也就是100%以后.,就不断的出现下面的提示.............
INFO [05-16|00:24:54] Successfully sealed new block number=36 hash=95fdfd…1411ee
INFO [05-16|00:24:54]
区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..的更多相关文章
- 区块链--Ubuntu上搭建以太坊私有链
1.搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:https://githu ...
- 转:使用 Go-Ethereum 1.7.2搭建以太坊私有链
使用 Go-Ethereum 1.7.2搭建以太坊私有链 目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底 ...
- Mac环境搭建以太坊私有链
原文地址: 石匠的blog 为了测试以太坊智能合约,最方便的是在本地搭建一个以太坊私有链.在mac上搭建环境主要需要以下步骤. geth安装 geth是go-ethereum的简写,是一个用go语言编 ...
- 使用 Go-Ethereum 1.7.2搭建以太坊私有链
目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球 ...
- docker 搭建以太坊私有链搭建
最近区块链,火得不行,身边也有朋友准备玩这个,说是搭了一个星期,没有把环境搭建起来,叫我帮忙看看环境怎么搭建 于是我找到了官方的地址 https://github.com/ethereum/go-et ...
- CentOS7搭建以太坊私有链
1. 环境准备:Win10 64位安装 VM VirtualBox,操作系统版本: CentOS-7-x86_64-Everything-1611.iso(7.71G). 切换root账号,方便安装程 ...
- Mac搭建以太坊私有链
记录过程与问题 一.安装 以go版本的ethereum进行安装 brew tap ethereum/ethereum brew install ethereum # 如果希望基于ethereum的de ...
- ubuntu系统搭建以太坊私有链
1.安装curl.git apt-get update apt-get install git apt-get install curl 2.安装go curl -O https://storage. ...
- 区块链学习:Windows下搭建以太坊私有链环境
一:安装geth客户端 Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,下载解压后只有一个Geth.exe问价,运行安装即可,下载地址如下: https://github. ...
随机推荐
- 自动化利器-YUM仓库搭建实战
本地YUM仓库搭建实战 YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的reposito ...
- 【Hexo】Hexo+Github构建个人博客 (三):添加皮肤主题
一.选择主题 选择你自己喜欢的主题 参考: 1.Hexo官网主题 2.知乎:有哪些好看的 Hexo 主题? 二.配置主题 1.我选择了hexo-theme-yilia这个主题,简洁大方,功能齐全: 这 ...
- Shell括号之间的区别
前言 初次学习Shell,对于括号的使用肯定很困惑,所以我打算将其整理成一篇文章 单括号 { } 表达变量的值,在不引起歧义的时候可以省略大括号 例子: var=1 echo ${var} # 或者e ...
- 老李分享:大数据框架Hadoop和Spark的异同 1
老李分享:大数据框架Hadoop和Spark的异同 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...
- C语言枚举类型(Enum)深入理解
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...
- JavaScript Array 技巧
filter():返回该函数会返回true的项组成的数组 ,,,,]; var result = num.filter(function(item,index,array){ ); }) consol ...
- 修改Gradle 和Maven本地仓库的位置 方法
关于Maven的配置: 用过Maven的兄弟应该知道Maven可以通过配置 conf文件夹下面的settings.xml文件来修改maven下载的包,默认是下在c盘的用户文件夹下的.m2中,日积月累. ...
- [编织消息框架][JAVA核心技术]动态代理应用10-水平扩展方案
服务分为系统服务同用户服务两种 水平扩展是基于系统服务,而拆分方式又有几种方案,按数据跟业务情况来做决策 1.每个服务独立存储(图1):每个服务只负责一个或多个领域实体存储,A服务不能直接修改B服务的 ...
- Linux下Memcached的安装步骤
一.安装gcc# yum -y install gcc 二.安装libevent# wget http://www.monkey.org/~provos/libevent-2.0.12-stable. ...
- ASP.NET CORE部署到Linux
ASP.NET CORE部署到CentOS中 在Linux上安装.NET Core 参考:https://www.microsoft.com/net/core#linuxcentos 配置Nginx ...