摸索以太坊区块链技术几个月了。最近打算逐步的把自己学到的东西和大家分享一下。
在阅读本文之前,希望大家能对区块链的概念能有所了解。这样操作过程中的环节理解更深入。下面开始进入准备。
因为本次是windows环境下的私有链环境搭建,所以需要做以下准备
1.win10系统,64位
2.以太坊钱包(我用的0.8.1版本 https://github.com/ethereum/mist/releases/tag/0.8.1)
3.以太坊geth客户端(我用的是1.4.11版本 https://github.com/ethereum/go-ethereum/releases/tag/v1.4.11)
首先,将geth客户端的压缩包解压,得到geth.exe放置在任意位置(注意,文件路径中不能出现中文。本文以D盘的blockchain文件夹为例)
这里写图片描述
然后在该文件夹下创建创世块的初始化文件genesis.json
内容如下
{
“difficulty”: “0x40000”,
“extraData”: “Genesis Block”,
“gasLimit”: “0xffffffff”
}
注释 “difficulty”: “0x40000”,//难度,该值越大,出块越慢。 “extraData”: “Genesis Block”,//附加信息,随意填写 “gasLimit”: “0xffffffff”//每个块所能容载的gas上线,可以暂时理解为
win键 + r 进入cmd命令行
键入 d: 是命令行进入d盘
键入 cd blockchain 进入d盘的blockchain目录
键入 geth –help 查看是否能够输入帮助信息
键入 geth –datadir “%cd%\chain” init genesis.json 将创世块信息初始化
键入 geth –datadir “%cd%\chain” console 打开geth的控制台
在控制台键入 personal.newAccount(‘123.abc’) 创建用户 123.abc 为用户的密码,自定义即可(该用户用来启动私有链时的矿工)
键入 exit 退出geth控制台
键入 geth –targetgaslimit 4294967295 –rpc –rpcaddr “192.168.1.104” –rpcport “8101” –port “30301” –rpcapi “eth,web3,personal” –networkid 2016 –identity 2016 -nodiscover -maxpeers 5 –datadir “%cd%\chain” -unlock 0 -rpccorsdomain “*” –mine console 启动私有链节点
注释
targetgaslimit –每个块的gas上限,这里可以暂时理解为容量 rpc –启动rpc通信,可以进行智能合约的部署和调试 rpcaddr –rpc接口的地址 rpcport –rpc接口的端口号 port –网络监听端口,用于节点之间通信 rpcapi –设置rpc的范围,暂时开启eth,web3,personal足够 networkid –设置当前区块链的网络ID,是一个数字,可以随便写 identity –区块链的标示,随便填写,用于标示目前网络的名字 nodiscover 禁止被网络中其它节点发现,需要手动添加该节点到网络 maxpeers 最大节点数量 datadir –设置当前区块链网络数据存放的位置 unlock –解锁某用户(此处用用户坐标来控制,解锁后的用户调用接口发起交易时,不要需要提供密码) rpccorsdomain 限制rpc访问源的ip,代表不限制 mine 允许挖矿 console –启动命令行模式,可以在Geth中执行命令*
键入回车
命令行中出现Passphrase:
键入 刚才创建用户是定义的密码
然后等待出现类似如下信息时:
I1208 17:49:49.023354 ethash.Go:291] Generating DAG: 0%
I1208 17:49:55.636941 ethash.go:291] Generating DAG: 1%
I1208 17:50:01.952089 ethash.go:291] Generating DAG: 2%
I1208 17:50:08.887566 ethash.go:291] Generating DAG: 3%
I1208 17:50:15.176846 ethash.go:291] Generating DAG: 4%
I1208 17:50:21.314108 ethash.go:291] Generating DAG: 5%
I1208 17:50:27.396949 ethash.go:291] Generating DAG: 6%
则证明开始创建创世块,等待进度至100%后,便会开始挖矿了。
这时,解压以太坊钱包到任意目录(本文以d盘ethwallet为例)
打开ethwallet文件夹,运行Ethereum-Wallet.exe
出现如下画面
这里写图片描述
关闭该窗口
出现如下窗口
这里写图片描述
如果右上角出现“PRIVATE-NET”则证明钱包客户端已经连接到了我们的私有节点。
点击“LAUNCH APPLICATION”
进入钱包主页面
如下
这里写图片描述
由于挖矿比较消耗cpu,所以此时打开控制台
键入 miner.stop() 停止挖矿。不要在意输出的刷屏,只管输入完成后回车即可,如果输入正确,回车后会输出“true”。
键入 miner.start(1) 使用一个cpu挖矿,减少对电脑性能的消耗。
下面我们进入下一个环节,交易
因为我们现在只有一个用户,没办法正常交易,所以现在主页面点击“ADD ACCOUNT” 创建另外一个用户,按照步骤输入密码,确认密码后,创建用户工作就完成了。
点击“ACCOUNT2”进入账户详情页面,复制用户地址
这里写图片描述
复制时,会出现提示“Warning: you are on the Test www.mhylpt.com Network. Be careful not to transfer real funds to this account.”。不用理他,点击OK。
然后点击钱包界面的“SEND”,进入交易发送界面
这里写图片描述
点击“FROM”下方输入栏,选择交易的发起人,我们选“Main account” ,因为当前只有他的账户下有以太币。“TO”下方的输入栏我们输入刚才复制的“ACCOUNT2”的地址。“AMOUNT”处输入本次要交易的以太币数量,以10个为例。输入10。其他的地方不用管,我们把滚动条拖到最下方,左下方有个“SEND”按钮,点击一下。弹出如下窗口
这里写图片描述
在输入栏中输入主账户的密码,点击“SEND TRANSACTION”交易就发出去了。
页面会自动跳转会主页面。我们将滚动条滚到下面。
这里写图片描述
我们可以看到我们刚才从主账户像“ACCOUNT2”发起的交易。
这里写图片描述
好了,这样的话,一个私有链搭建就完成了。也进行了一个简单的交易。万里长征的第一步迈出去了。不要觉得很麻烦,因为后续的种种比这要麻烦的多。
后续的Linux环境搭建,以及智能合约我也会慢慢的更新。希望大家共同学习,共同进步

转自http://www.hjha178.com /u014409380/article/details/53522581

0


0

上一篇区块链开发(三)编写调试第一个以太坊智能合约
下一篇Ubuntu系统搭建以太坊开发平台过程
相关文章推荐
• 区块链开发(一)搭建基于以太坊的私有链环境
• MySQL在微信支付下的高可用运营--莫晓东
• 区块链学习(三)Windows下搭建以太坊私有链环境
• 容器技术在58同城的实践--姚远
• 区块链学习(三)linux下搭建以太坊私有链环境
• SDCC 2017之容器技术实战线上峰会
• 以太坊学习笔记:私有链搭建操作指南
• SDCC 2017之数据库技术实战线上峰会
• 以太坊私有链搭建及智能合约部署与调用
• 腾讯云容器服务架构实现介绍--董晓杰
• 区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
• 微博热点事件背后的数据库运维心得--张冬洪
• 以太坊私有链环境下智能合约部署流程
• 【区块链】搭建基于ethereum以太坊环境的私有链 - mac
• 以太坊(1)--在CentOS 6.5上搭建以太坊私有链的步骤(图文详细)
• 区块链开发(零)如何开始学习以太坊及区块链

查看评论
2楼 靖凡无所畏惧 2017-11-30 10:26发表 [回复] [引用] [举报]厉害了,向博主学习
1楼 MisshqZzz 2017-08-02 11:17发表 [回复]
[html] view plain copy
geth –targetgaslimit 4294967295 –rpc –rpcaddr “www.hjha178.com 192.168.1.104” –rpcport “8101” –port “30301” –rpcapi “eth,web3,personal” –networkid 2016 –identity 2016 -nodiscover -maxpeers 5 –datadir “%cd%\chain” -unlock 0 -rpccorsdomain “*” –mine console

我启动私有节点的时候,卡住了。请问这个IP和端口我用现成的就可以吗?

以太坊 链私有链环境搭建(windows)的更多相关文章

  1. 解决remix在线编译器连接本地私有链环境不成功的问题

    一.部署合约到私有链环境 选择"environment"里的"Web3 Provider" 弹出RPC连接地址输入框 输入我们Geth客户端安装服务器的IP:9 ...

  2. Windows搭建以太坊的私有链环境

    1.下载Geth.exe 运行文件,并安装 https://github.com/ethereum/go-ethereum/releases/ 下载后,只有一个Geth.exe的文件 2.cmd进入按 ...

  3. Mac下基于testrpc和truffle的以太坊智能合约开发环境搭建

    原文地址:石匠的blog truffle是一个基于Javascript开发的一套智能合约开发框架,使用Solidity语言编写合约.truffle有一套自动的项目构建机制,集成了开发,测试和部署的各个 ...

  4. 美图DPOS以太坊教程(Docker版)

    一.前言 最近,需要接触区块链项目的主链开发,在EOS.BTC.ethereum.超级账本这几种区块链技术当中,相互对比后,最终还是以go-ethereum为解决方案. 以ethereum为基准去找解 ...

  5. 以太坊客户端geth的基本操作命令

    以太坊客户端geth的基本操作命令搭建了私有链环境之后,整理了一下客户端的一些基本的操作命令: 启动命令重复上篇博客步骤,先将区块链客户端启动,命令如下: geth –datadir “%cd%\ch ...

  6. 以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约

    以太坊开发(二)使用Ganache CLI在私有链上搭建智能合约 在上一篇文章中,我们使用Truffle自带的客户端Truffle Develop,在私有链上搭建并运行了官方提供的WebPack智能合 ...

  7. docker 搭建以太坊私有链搭建

    最近区块链,火得不行,身边也有朋友准备玩这个,说是搭了一个星期,没有把环境搭建起来,叫我帮忙看看环境怎么搭建 于是我找到了官方的地址 https://github.com/ethereum/go-et ...

  8. 区块链--Ubuntu上搭建以太坊私有链

    1.搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:https://githu ...

  9. 转:区块链开发(一)搭建基于以太坊go-ethereum的私有链环境

    区块链开发(一)搭建基于以太坊go-ethereum的私有链环境 wo541075754 · 2016-11-07 13:00:03 · 3730 次点击 · 预计阅读时间 3 分钟 · 约1小时前  ...

随机推荐

  1. Scala--文件和正则表达式

    一.读取行 import scala.io.Source val source = Source.fromFile("D:\\documents\\Scala\\MyDemo\\t.txt& ...

  2. 自研后端HTTP请求参数验证器服务ParamertValidateService

    好处:方便了后端对HTTP请求中参数进行核验,只需一次编写效验器,一行代码便可对所有参数的pojo进行参数核验!而且更改效验逻辑时只需要更改效验器类即可,实现了解耦合. 只需要程序员按照规范开发一个P ...

  3. [笔记] Redis的安装与配置超级详细

    目录 Windows下安装与配置 下载 安装 验证安装 配置服务 测试 Linux下安装与配置 准备工作 安装 验证与测试 Macox下安装与配置 准备工作 安装 验证与测试 Redis 在 Wind ...

  4. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  5. [ZJOI2018]保镖

    [ZJOI2018]保镖 Tags:题解 题意 链接 初始在平面上有一些点,九条可怜随机出现在一个矩形内的任意一点.若九条可怜出现在\(O\)点,则平面上所有的点都从\(P_i\)移动到\(P'_i\ ...

  6. MFC如何为程序添加标题

    1.在CMainFrame类中找到函数PreCreateWindow,在该函数中添加 cs.style &=~FWS_ADDTOTITLE;//去掉窗口的 自动标题 属性. 这句很重要不然的话 ...

  7. Java虚拟机笔记(五):JVM中对象的分代

    为什么要分代 为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用, ...

  8. Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例

    这篇文章介绍如何使用 Jpa 和 Thymeleaf 做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个 Demo 来试试它的效果,越 ...

  9. Configuration Section Designer for VS2017

    Configuration Section Designer是在Visual Studio中设计符合.Net配置体系配置文件和代码的神器.然而,它的源码已经很久不维护了.现在在新的VS2017中无法使 ...

  10. 如何在百度云虚拟机中配置thinkphp5,并且url去掉index.php

    第一步:将public目录下的index.php移到和public同级目录下,[或者直接在public同级目录下新建一个index.php] 第二步:那么这个新的index.php文件的内容如下: & ...