摸索以太坊区块链技术几个月了。最近打算逐步的把自己学到的东西和大家分享一下。
在阅读本文之前,希望大家能对区块链的概念能有所了解。这样操作过程中的环节理解更深入。下面开始进入准备。
因为本次是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. 关于EL表达式中requestScope和param区别

    今天演示EL表达式的时候发现自己jsp的基础实在是薄弱,在这个很简单的问题上迷惑了很久. 首先在看遇到的问题: 在浏览器地址输入,表示传入一个参数test,值为123 http://localhost ...

  2. c# 多线程和异步

    有时候需要多线程来运行处理后端和UI的更新. 通常用 ((Action)delegate() { if (isBussy) { return; } isBussy = true; while (tru ...

  3. WPF save listbox config

    UI <Grid x:Class="WzlyTool.ReplyContentUI" xmlns="http://schemas.microsoft.com/win ...

  4. 20155307实验八 《网络对抗》 Web基础

    20155307实验八 <网络对抗> Web基础 实验过程 Web前端:HTML 使用netstat -aptn查看80端口是否被占用(上次实验设置为Apache使用80端口),如果被占用 ...

  5. WPF自定义控件的自定义属性绑定后不更新问题

    原文:WPF自定义控件的自定义属性绑定后不更新问题 需要在绑定时设置属性变更触发 UpdateSourceTrigger=PropertyChanged 例如: <Border CornerRa ...

  6. 汇编 sub减法指令 比较指令CMP JZ条件跳转指令

    二.SUB指令 减法指令SUB (SUBtract) 格式: SUB A,B //A=A-B; 功能: 两个操作数的相减,即从A中减去B,其结果放在A中. 二.CMP 和JZ 指令 比较指令CMP 格 ...

  7. pandas 索引与列相互转化

    1. 准备数据 import pandas as pd from io import StringIO csv_txt = '''"date","player1" ...

  8. 微信小程序之可滚动视图容器组件 scroll-view

    1. 纵向滚动 scroll-y 当 设置为scroll-y 时, 需要将其高度设为固定值 如果整个页面,即最外层标签为scroll-view,需要并将其高度设为100%,也需要将page设为100% ...

  9. stl源码剖析 详细学习笔记 算法(4)

    //---------------------------15/03/31---------------------------- //lower_bound(要求有序) template<cl ...

  10. jira webhook 事件触发并程序代码调用jenkins接口触发构建操作

    要解决的问题 开发管理工具触发站点构建事件,事件处理中需要调用Jenkins接口开始构建动作. 我的应用场景: 使用jira作为管理工具,在jira中创建自定义的工作流来规定测试,上线,发布等流程,并 ...