Ethereum以太网搭建本地开放环境简明教程
引言: 区块链技术的风起云涌预示着一个去中心化时代的来临,ethereum技术栈是目前业界最为应用广泛的基于区块链技术的技术方案,本文将记录如何基于本地环境来搭建私有区块链的开发环境。
部署私有区块链
这个步骤在笔者之前的文章中有详细的描述,感兴趣的读者可以参照:
基于以太坊构建私有区块链网络教程指南
开发工具介绍
Remix(Browser-Solidity)
基于browser的合约开放工具,官方推荐,比较简单易用其它开放工具
- Intellj IDEA plugin
- Vim/Emacs
……
详细的可用工具,可以访问: Available Solidity Integrations
安装Remix
官方地址: https://github.com/ethereum/browser-solidity
安装前置条件: nodejs/npm
具体安装的教程,可以从网路上查找各类教程。
笔者本机的配置信息如下:
基本的安装步骤:
git clone https://github.com/ethereum/browser-solidity
cd browser-solidity
npm install
npm run prepublish
启动命令:
npm start
然后访问: http://127.0.0.1:8080,即可看到如下的界面:
设置本地目录
我们希望将solidity合约保存到本地或者从本地读取,则需要设置本地目录,这里我们使用remixd命令来实现:
官方地址: https://github.com/ethereum/remixd
安装步骤:
npm install -g remixd
如何使用,请参照使用说明:
remixd -h
Usage: remixd -S <shared folder>
Provide a two ways connection between the local computer and Remix IDE
Options:
-h, --help output usage information
-S, --shared-folder <path> Folder to share with Remix IDE
这里我将设置如下:
remixd -S “/home/bladestone/codebase/blocks/contracts”
运行效果图示:
在remix中配置本地目录
首先,启动remix,切入到browser-solidity目录,运行:
npm start
设置remixd命令配置好本地目录。参考如下操作:
然后打开的连接窗口,点击connect:
即可看到本地目录下的合约程序:
配置mist
mist是起官方提供的集成化的工具,用于挖矿以及相应的转账操作,其中也集成了remix-ide开发工具。
官方地址: https://github.com/ethereum/mist
我们将其下载到本地之后,解压缩之后,进入目录,可以看到其可执行的mist程序。
在正式使用mist之前,我们先启动本地区块链应用:
sudo geth –rpc –rpcport “8078” –rpccorsdomain ‘*’ –datadir=”/home/bladestone/codebase/blocks/chain” –port 30309 –nodiscover –rpcapi ‘db,eth,net,web3,debug’ –networkid 1006 console
这里需要说明几点:
– port 不用使用30303,这个是区块链中mist连接test-net的端口。如果使用了,则无法在本地启动mist
默认情况下需要启用ipc之间的通讯共享,不要禁止这个设置。
启动情况如下,其中标注出来的就是ipc位置:
接下来,启动mist,访问本地区块链应用:
sudo ./mist –rpc /home/bladestone/codebase/blocks/chain/geth.ipc
启动效果如下:
注意一下,上述的ipc是否被连接成功,在日志之中都有明确的提示信息。
在mist中配置remix-ide
启动完成后,检查private-net标示是否出现:
点击Mist中的Develop–> Open Remix IDE, 即可打开Remix开发环境,然后选择injected web3,即可连接本地的区块链环境:
然后的然后,就可以在remix自由的编写自己的合约了。
总结
实现remix的开发环境,默认推荐大家在Linux/Mac上,比较很多的内容还是比较给力的,当然windows也是完全胜任的,笔者使用的是Ubuntu 17.04的发行版本。上述的步骤只是记录了搭建过程中的各类配置,并未涉及到部署以及具体的开发细节,后续将会逐步细细将来,敬请期待。
参考文档
1 www.cnblogs.com/zl03jsj/p/7074435.html
2. http://ethfans.org/topics/78
3. http://www.8btc.com/blockchainclassroom7
——————————娇羞的分割线,终于出现了———————————
Ethereum以太网搭建本地开放环境简明教程的更多相关文章
- 使用WampServer搭建本地PHP环境,绑定域名,配置伪静态
倡萌之前介绍过 USBWebserver 快速搭建本地PHP环境 ,推荐USBWebserver的原因在于它是绿色的,不需要安装,想使用就手动运行下即可.但是 USBWebserver 也有自身的弱点 ...
- JBOSS安装与配置搭建本地项目环境(方便前端开发调式)
JBOSS安装与配置搭建本地项目环境 什么是JBOSS? JBOSS是EJB的服务器,就像Tomcat是JSP服务器一样,就是服务器的一种. 环境搭建如下: 一:首先安装JDK,配置环境变量(PAT ...
- Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程
Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...
- 利用Docker搭建本地https环境的完整步骤
利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...
- 利用Docker Compose快速搭建本地测试环境
前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...
- [大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境
1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始. Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, ...
- 使用 phpstudy 搭建本地测试环境
最近在为另一个部门配置一个多语言的网站,因为之前他们已经做过 英文和中文两种语言,这次帮他们添加其它几种语言,从GitLab 上拉下来的代码,是php环境做的,需要在本地跑起来,做完测试通过后再一次性 ...
- Kubernetes入门,使用minikube 搭建本地k8s 环境
这是一篇 K8S 的 HelloWorld,在学习K8S官方文档时搭建环境搭建的一个记录,照着文档下来还是比较顺利的. 一.安装kubectl 下载 kubectl curl -LO "ht ...
- VirtrualBox 搭建本地lamp环境
1.VirtrualBox安装Centos6.8 minimal VirtrualBox新建个虚拟机配置好内存以及硬盘大小,安装即可: 网络方式是 NAT(默认)和桥接方式来实现,最好在安装前设置好, ...
随机推荐
- cordic算法的verilog实现及modelsim仿真
1. 算法介绍 CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数.双曲 ...
- ScyllaDB - 基础部署
基础环境 操作系统: CentOS 7.2: 集群节点(虚拟机):172.16.134.15 ~ 17: 基础准备 安装依赖和卸载 abrt ( abrt 和 coredump 配置冲突 ): sud ...
- PAT Sum of Number Segments[数学问题][一般]
1104 Sum of Number Segments(20 分) Given a sequence of positive numbers, a segment is defined to be a ...
- Windows2003 + IIS6 安装.Net FrameWork 4.0 兼容早期版本的测试
看到文档说.net4的框架可以向下兼容2.0.3.0.3.5这几个版本,觉得是一件好事,以后服务器上就不用费时费力的安装 2.0.3.5之类的框架了.但是又觉得奇怪,2.0和3.5的框架都是很大的,为 ...
- Kd-tree的学习
一.普通kd-tree 1.在选择划分维度的时候,不能简单的每一个维度轮流划分.还有一种更合适的是利用数据的方差来划分,哪个维度的方差大,就选择哪一个维度划分.理由解释如下: 最简单的方法就是轮着来, ...
- python 解析xml遇到xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 4, column 34
在调试数字驱动用xml文件的方式时,包含读取xml文件的步骤,运行程序报错: d:\test\0629>python XmlUtil.pyTraceback (most recent call ...
- 【运维技术】slc pm 启动不了,异常排除问题记录
问题描述 slc pm 启动的时候报错如下: [root@iZuf61qpjpeuqc5mjo4kn8Z lixiang-scf-web]# slc pm strong-remoting deprec ...
- OpenCV中的新函数connectedComponentsWithStats使用
主要内容:对比新旧函数,用于过滤原始图像中轮廓分析后较小的区域,留下较大区域. 关键字 :connectedComponentsWithStats 在以前,常用的方法是"是先调用 cv ...
- 20172305 2018-2019-1 《Java软件结构与数据结构》第七周学习总结
20172305 2018-2019-1 <Java软件结构与数据结构>第七周学习总结 教材学习内容总结 本周内容主要为书第十一章内容: 二叉查找树(附加属性的二叉树) 二叉查找树是对树中 ...
- VS中子对话框的关闭回调函数
新建了QDialog的子类时,如果需要回调它的关闭函数 1.加入头文件#include <QCloseEvent> 2.重写函数 protected: void closeEvent(QC ...