【本文目标】

根据本文指导,可以在WINDOUWS环境下完成以太坊智能合约部署前的比较环境准备。

【技术收获】

如何在WINDOW(笔者以WINDOWS 10为例)环境搭建以太坊开发环境,按照以下安装顺序完成安装后,你将获得相关知识和一个可使用的ETHEREUM环境:

1,安装VMware虚拟机

2,安装Ubuntu系统

3,配置远程登录Ubuntu系统

4,安装git,NodeJS,solc,testrpc,truffle,Geth客户端

5,可选按照Ganache, Lite-Server, MetaMask(WINDOWS本机),

【结果】环境安装成功后,就可以启动以太坊进行转账和智能合约运行了。

【实操课程列表】

第一课 如何在WINDOWS环境下搭建以太坊开发环境

第二课 如何实现以太坊最简智能合约“Hello World”的运行

第四课 以太坊开发框架Truffle从入门到实战

第六课 技术小白如何开发一个DAPP区块链应用(以宠物商店为例)

第七课 技术小白如何在45分钟内发行通证(TOKEN)并上线交易

第八课 如何调试以太坊官网的智能合约众筹案例

【说明】未列出的课程为知识普及的非实操类课程,所有区块链文章参考“区块链入口”专栏。


1,安装VMware虚拟机

【概念普及】VMWare (Virtual Machine ware)是一个“虚拟PC”软件公司.它的产品可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少。

(1)下载VMware虚拟机安装软件

笔者以安装VMware 10为例。安装程序下载地址:https://pan.baidu.com/s/1bl2hHYllKB7X0Z8p50IAOA  密码:o0ki

(2) 点击安装VMware具体配置

请购买或者合法获取许可证密钥,例如 NV4CL-0J3D6-ZZMM1-T10QH-13DPX ,然后就安装成功了。

(3) 创建LINUX-UBUNTU空白虚拟机

笔者曾在WINDOWS 10 64bit笔记本上选择Ubuntu 64操作系统,提示出现错误,后来安装并使用Ubuntu操作系统。

2,安装Ubuntu操作系统

(1)下载Ubuntu操作系统安装盘(.ISO)

Ubuntu为免费软件,笔者选择安装的是“优麒麟17.10.1”版本,下载地址为http://www.ubuntukylin.com/downloads/

(2)加载虚拟光驱,安装Ubuntu系统

3,配置远程登录Ubuntu系统

(1)在Ubuntu上安装ssh服务端

1) 安装ssh服务端

apt-get install openssh-server  #安装完毕后ssh默认已启动

netstat -nat | grep 22  #查看22号端口是否处于监听状态

2) 关闭掉防火墙

sudo ufw disable

【说明】使用ifconfig命令查看虚拟机的IP地址,

3) 更改网络配置,采用桥模式,跟本机WINDOWS采用相同的路由器配置

3) 测试与本机连接情况

虚拟机是独立IP。可在本机WINDOWS系统下运行CMD命令行:ping 192.168.1.11,能否PING通。一般情况下可正常连接。

(2)在本机安装Xshell 4程序

【目的】安装好Xshell,就可以在本机访问虚拟机,不受虚拟机屏幕过小限制。

1) 下载安装程序包

链接:https://pan.baidu.com/s/1rsHiK2YN2WmiMCH15NKzXg 密码:qi5x

2)安装配置

配置好对应虚拟机的IP地址和登录用户名/密码后,就可以远程访问本机的Ubuntu系统命令行了。

【说明】点击工具栏的编码按钮,设置为Unicode(UTF-8)方式,能正常显示中文。

4,安装git,NodeJS,solc,testrpc,truffle,Geth客户端

(1)安装git,NodeJS

【目的】Git可用于从GitHub获取源代码;NodeJS以太坊开发框架Truffle需要。

输入以下命令安装git:

sudo apt-get install git

注意】如果在安装git时出现E:Package ‘git’ has no installation candidate错误提示,只需使用以下命令代替即可:sudo apt-getinstall git-core

因为以太坊开发需要使用开发框架,但是,目前最好用且使用人数最多的是第三方开发框架Truffle。而Truffle建议系统所用NodeJS版本为5.0以上,因此,我们就需要安装NodeJS的最新版本。

有多种方法安装NodeJS:

方法一:使用apt,输入以下命令安装NodeJS 6.0以上版本(成功):

sudo apt-get install curl

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash

sudo apt-get install -y nodejs

方法二:从Node官网下载源码并解压,然后自行编译安装(以安装Node V6.9.2为例):

tar -zxvf node-v6.9.2.tar.gzcd node-v6.9.2

sudo ./configuresudo make

sudo make install

方法二因为要重新编译,因此耗费的时间可能多一点。

(2)安装solc

【目的】编译以太坊智能合约使用。

输入以下命令安装solc:

sudo npm install -g solc

安装完后,我们就会发现在终端中输入solc命令返回一个出错信息。这是因为solc只是一个程序集,如果我们想要在终端中使用solc程序编译智能合约,则需要安装solc-cli,这是solc的命令行界面。

sudo npm install -g solc-cli

输入以下命令可以一并安装solc和solc-cli(推荐使用此命令安装):

sudo npm install -g solc solc-cli --save-dev

如果输入solcjs --help命令,有以下输出,则表明solc和solc-cli安装成功:

到了这里,如果想以后的智能合约编译工作不使用geth控制台来完成,那么solc编译器就算安装完了。但是,如果我们需要在geth控制台使用solc编译器,那么我们仍然需要安装solc二进制包。输入以下命令安装solc二进制包:

sudo add-apt-repository ppa:ethereum/ethereum

sudo apt-get update

sudo apt-get install solc

如果在输入第一条命令的时候出现了错误,可以尝试重新启动系统来解决。

【注意】

如果你安装了webthree-umbrella,那么solc就会默认安装,但是我们在终端输入solc并没有显示可用的命令,我们需要输入以下命令手动建立软链接:

sudoln-s/home/zcc/webthree-umbrella/solidity/build/solc/solc /bin/solc

这样就能直接在终端使用solc程序了。

【可选操作】

配置npm源为国内源(可选,可加快下载速度),命令行输入:

sudo npm config set registry http://registry.npm.taobao.org

不想用他们的,再设置回原来的就可以了:

sudo npm config set registry https://registry.npmjs.org

(3)安装testrpc

输入以下命令安装testrpc:

sudo npm install -g ethereumjs-testrpc

如果输入testrpc命令,有以下输出,则表明testrpc安装成功:

注意

(1)参考网页中的命令没有sudo,但是因为-g参数是表示全局安装,则需要使用root权限才能安装成功。

(2)安装过程可能会出错,可以多试几次安装命令。

(4)安装truffle

【目的】Truffle 是世界一流的开发环境,为以太坊的测试框架和资产管道,致力于使以太坊开发者的生活更容易。

输入以下命令:

sudo npm install -g truffle

如果输入truffle version命令,有以下输出,则表明truffle安装成功:

(5)安装Geth客户端

【目的】Geth是Go Ethereum开源项目的简称,它是使用Go语言编写且实现了Ethereum协议的客户端软件,也是目前用户最多,使用最广泛的客户端。通过Geth客户端与以太坊网络进行连接和交互可以实现账户管理、合约部署、挖矿等众多有趣且实用的功能。Geth支持Windows、Mac及Linux等主流操作系统。

有多种以太坊客户端,安装go-ethereum输入以下命令:

sudo apt-get install software-properties-common

sudo add-apt-repository -y ppa:ethereum/ethereum

sudo apt-get update

sudo apt-get install ethereum

如果能运行GETH命令则表示按照成功了。

(6)安装 Ganache 【可选】

【定义】Ganache是为以太坊开发准备的个人区块链钱包,你可以用它执行智能合约,研发应用和执行测试用例。Ganache的前身是testrpc,跟testrpc的作用一样。

Ganache现在有两个版本,一个是带图形界面的版本,下载地址:

https://github.com/trufflesuite/ganache/releases

这些可执行文件的后缀都比较奇葩,参见下面的对应关系:

●  Windows: Ganache-*.appx

●  Mac: Ganache-*.dmg

●  Linux: Ganache-*.AppImage

(1)在Ubuntu上安装采用命令行方式

命令如下:

sudo npm install -g ganache-cli

具体的命令行参数配置参见github:

https://github.com/trufflesuite/ganache-cli

安装界面截图:

运行命令:

ganache-cli

调用命令可显示10个虚拟账号和私钥:

Ganache-cli的命令参数帮助文档:

https://github.com/trufflesuite/ganache-cli/blob/master/README.md

(2)在WINDOWS上安装Ganache

https://github.com/trufflesuite/ganache/releases目录下下载最新的WINDOWS版本安装文件

ganache-setup-1.1.0.exe

(3) 在Ubuntu上安装Ganache图形化界面程序

下载.AppImage的程序,

wget https://github.com/trufflesuite/ganache/releases/download/v1.1.0/ganache-1.1.0-x86_64.AppImage//下载ganache

chmod +x ganache-1.1.0-x86_64.AppImage//修改权限为可执行文件

sudo ./ganache-1.1.0-x86_64.AppImage //启动ganache

【结果】在作者的Ubuntu安装Gnaache图形程序没有成功,只能使用Ganache-clli版本了,可能是作者的Ubuntu是32位的,而程序是64位的原因?但是同样的操作在欧阳哥哥的环境是成功的,运行的界面同WINDOWS的界面程序。故障待探索。

【注意】这个操作要在Ubuntu的本机命令行界面进行操作,不可在Xshell的远程命令操作,否则不发触发图形界面。

【问题】如何启动远程Ganache服务器呢?

把HOSTNAME的IP地址更换为远程服务器地址,例如192.168.80.144,点击RESTART按钮。

(7)安装 MetaMask 【可选】

【定义】MetaMask 是一款插件形式的以太坊轻客户端,开发过程中使用MetaMask和我们的dapp进行交互是个很好的选择。

假设你运行的是CHROME浏览器,则官网下载扩展程序的链接地址(需要VPN翻墙):

https://chrome.google.com/webstore/detail/nkbihfbeogaeaoehlefnkodbefgpgknn

或者从百度云盘获取:

链接:https://pan.baidu.com/s/1N0oH5AzbLqU0B3YIwNSvjQ 密码:77sl

在CHROME浏览器地址输入:chrome://extensions/

【MetaMask官网】https://metamask.io/#how-it-works

(8)安装 lite-server 【可选】

【定义】lite-server 是轻量级的,仅适用于开发 的 node 服务器, 它仅支持 web app。 它能够为你打开浏览器, 当你的html或是JavaScript文件变化时,它会识别到并自动帮你刷新浏览器, 还能使用套接字自动注入变化的CSS, 当路由没有被找到时,它将自动后退页面。

安装与使用

以下是被推荐的安装lite-server的方式:

$ npm install lite-server --save-dev

在你的项目中的 package.json 文件中添加一个 “script” 入口:

Inside package.json… “scripts”: {

“dev”: “lite-server”  },

有了上面的script 入口, 你就可以通过以下命令来启动 lite-server 了:

$ npm run dev


说明:本环境搭建得到了欧阳哥哥的指导,敬表谢意。

参考文档:

(1)VMware+CentOS+LAMP安装实践

(2) Ubuntu Kylin学习笔记

(3) Ubuntu系统搭建以太坊开发平台过程

知识对接服务:

我和欧阳哥哥在知识星球开通了区块链入门专栏,用于存放简书区块链入门专栏文章的工程源码等内容,并建立专项微信群用于技术交流,欢迎加入。

第二课 如何在WINDOWS环境下搭建以太坊开发环境相关推荐

  1. 第一课 如何在WINDOWS环境下搭建以太坊开发环境

    目录:https://blog.csdn.net/qq_40452317/article/details/90270046 [本文目标] 根据本文指导,可以在WINDOUWS环境下完成以太坊智能合约部 ...

  2. Win7环境下搭建Android安卓开发环境

    Win7环境下搭建Android安卓开发环境(原创教程) 此教程以32位win7旗舰版系统为基础,其它版本系统请根据情况自行调整.教程在2012年9月16日写,所有软件为当时的最新版. 准备文件(文件 ...

  3. 铂链第1课 如何在WINDOWS操作系统下搭建BOTTOS开发环境

    1. 文章摘要 铂链(Bottos)是国内首个基于区块链技术的数据共享.AI模型共享生态一站式应用平台,是实现将数据和模型通过点对点网络进行登记发行.转让交易的去中心化网络共享协议. [本文目标] 辉 ...

  4. qt5.9支持linux,Linux环境下搭建Qt5.9开发环境

    在Linux环境下搭建Qt开发环境有两种方式:一种是图形界面的安装,另一种是源代码的安装.下面,分别就这两种安装方式进行说明. 一.图形界面的安装. 1. 在QT官网下载Qt安装包,这里下载最新(20 ...

  5. Windows下搭建ARM11裸机开发环境(1):工具安装

    By: Ailson Jack Date: 2019.05.04 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/ ...

  6. 如何在Windows下搭建Qt安卓开发环境?

    一.导读 本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上 ...

  7. Windows下搭建ARM11裸机开发环境(3):Eclipse+JLink调试代码

    By: Ailson Jack Date: 2019.05.17 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/ ...

  8. 【腾讯云 Finops Crane 集训营】 如何在Windows上快速搭建一个Kubernetes+Crane 环境及应用

    一.前言 个人主页: ζ小菜鸡 大家好我是ζ小菜鸡,让我们一起学习在 Windows 如何快速搭建一个Kubernetes+Crane 环境及应用. 如果文章对你有帮助.欢迎关注.点赞.收藏(一键三连 ...

  9. 第01章 Windows下搭建Python集成开发环境

    网上有很多资料是关于搭建Python开发环境的,由于Python的可移植性好,所以我们可以在windows系统.Linux系统甚至OSX系统下搭建.由于自己对Linux.OSX不熟,所以我是在wind ...

最新文章

  1. 一文读懂机器学习“数据中毒”
  2. php模块介绍,Python模块介绍
  3. ICCV 2021审稿结果出炉,这里有一份Rebuttal写作指南
  4. javascript中window.event事件用法详解
  5. Charles抓包(iOS的http/https请求)
  6. 多线程:中断(interrupt、interrupted、executor)
  7. ORB-SLAM / ORB-SLAM2原理解读+代码解析(汇总了资料,方便大家学习)
  8. C语言的本质(3)——整数的本质与运算
  9. Linux wildcard
  10. Cobbler部署之FAQ处理
  11. 2012年12月21日所谓世界末日时做的第一个五年规划——成为领域内的专家
  12. 路由和反向代理_试试这个Kubernetes HTTP路由器和反向代理
  13. leetcode-453-Minimum Moves to Equal Array Elements
  14. 企业如何真正实现无纸化办公?
  15. 视频教程-思科CCNP专题系列⑨:交换机安全-思科认证
  16. 在Windows系统上部署DHCP服务器
  17. 论文那些事—Admix: Enhancing the Transferability of Adversarial Attacks
  18. html5网页制作拓扑,基于HTML5的网络拓扑图设计
  19. ffmpeg 4.2.1 版本升级日志 APIChanges
  20. 诺基亚java模拟器exe,无需模拟器!骁龙810手机成功运行Win10:可开exe程序

热门文章

  1. 生成二维码。且可调颜色
  2. Python渗透脚本学习笔记
  3. TensorFlow estimator训练时 invalid continuation byte
  4. 微服务 java golang_20 个好用的 Go 语言微服务开发框架
  5. 阿里云落地北美 誓与亚马逊一争高下?
  6. 公安机关查处了100款违法采集个人信息的APP
  7. Edge浏览器使用 Infinity 新标签页 (Pro)插件
  8. UI设计素材资源网站推荐
  9. 卅年史诗!地球上出现过的CPU完全收藏 - (29) 无法忽视它的存在——APPLE(苹果)电脑(组图)
  10. 计算机页面格式和编排,计算机基础教案word排版(三)页面格式设置