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

    写一道CODEVS的题目 其实我还是很喜欢CODEVS的界面的 主要是系统地学习一下悬线法这个看似十分简单,实际就是十分简单的算法 对于一些详细的东西参考dalao's blog,不喜勿喷 对于悬线法 ...

  2. mfc 进程的优先级

    知识点:  进程优先级  获取当前进程句柄  优先级设置  优先级变动  优先级获取 一.进程优先级(优先级等级) 简单的说就是进程(线程)的优先级越高,那么就可以分占相对多的CPU时间片. ...

  3. python 回溯法 子集树模板 系列 —— 18、马踏棋盘

    问题 将马放到国际象棋的8*8棋盘board上的某个方格中,马按走棋规则进行移动,走遍棋盘上的64个方格,要求每个方格进入且只进入一次,找出一种可行的方案. 分析 说明:这个图是5*5的棋盘. 图片来 ...

  4. flask, SQLAlchemy, sqlite3 实现 RESTful API 的 todo list, 同时支持form操作

    flask, SQLAlchemy, sqlite3 实现 RESTful API, 同时支持form操作. 前端与后台的交互都采用json数据格式,原生javascript实现的ajax.其技术要点 ...

  5. StringUtils类方法归纳

    StringUtils方法概览 IsEmpty/IsBlank - checks if a String contains text IsEmpty/IsBlank – 检查字符串是否有内容. Tri ...

  6. CS229笔记:线性回归

    线性回归问题 首先做一些符号上的说明: \(x^{(i)}\):特征(feature) \(y^{(i)}\):目标变量(target variables) \(\mathcal{X}\):特征空间 ...

  7. 一、Django前后端交互之Ajax和跨域问题

    一.Ajax介绍 1.概述 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Jav ...

  8. PAT甲题题解-1019. General Palindromic Number (20)-又是水题一枚

    n转化为b进制的格式,问你该格式是否为回文数字(即正着写和倒着写一样)输出Yes或者No并且输出该格式又是水题... #include <iostream> #include <cs ...

  9. 【Alpha】第七次Scrum meeting

    今日任务一览: 姓名 今日完成任务 所耗时间 刘乾 今日没有做很多事...一天都在沟通细化需求与画电路图 2 鲁聃 生成物理报告实验页面的生成 Issue链接:https://github.com/b ...

  10. Linux读书笔记第五章

    主要内容: 什么是系统调用 Linux上的系统调用实现原理 一个简单的系统调用的实现 1. 什么是系统调用 简单来说,系统调用就是用户程序和硬件设备之间的桥梁. 用户程序在需要的时候,通过系统调用来使 ...