引言: 区块链技术的风起云涌预示着一个去中心化时代的来临,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以太网搭建本地开放环境简明教程的更多相关文章

  1. 使用WampServer搭建本地PHP环境,绑定域名,配置伪静态

    倡萌之前介绍过 USBWebserver 快速搭建本地PHP环境 ,推荐USBWebserver的原因在于它是绿色的,不需要安装,想使用就手动运行下即可.但是 USBWebserver 也有自身的弱点 ...

  2. JBOSS安装与配置搭建本地项目环境(方便前端开发调式)

    JBOSS安装与配置搭建本地项目环境  什么是JBOSS? JBOSS是EJB的服务器,就像Tomcat是JSP服务器一样,就是服务器的一种. 环境搭建如下: 一:首先安装JDK,配置环境变量(PAT ...

  3. Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程

     Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...

  4. 利用Docker搭建本地https环境的完整步骤

    利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...

  5. 利用Docker Compose快速搭建本地测试环境

    前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...

  6. [大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境

    1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始. Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, ...

  7. 使用 phpstudy 搭建本地测试环境

    最近在为另一个部门配置一个多语言的网站,因为之前他们已经做过 英文和中文两种语言,这次帮他们添加其它几种语言,从GitLab 上拉下来的代码,是php环境做的,需要在本地跑起来,做完测试通过后再一次性 ...

  8. Kubernetes入门,使用minikube 搭建本地k8s 环境

    这是一篇 K8S 的 HelloWorld,在学习K8S官方文档时搭建环境搭建的一个记录,照着文档下来还是比较顺利的. 一.安装kubectl 下载 kubectl curl -LO "ht ...

  9. VirtrualBox 搭建本地lamp环境

    1.VirtrualBox安装Centos6.8 minimal VirtrualBox新建个虚拟机配置好内存以及硬盘大小,安装即可: 网络方式是 NAT(默认)和桥接方式来实现,最好在安装前设置好, ...

随机推荐

  1. mac终端显示日历信息命令

    cal 命令: 用法: usage: cal [-jy] [[month] year] cal [-j] [-m month] [year] ncal [-Jjpwy] [-s country_cod ...

  2. POJ3070:Fibonacci(矩阵快速幂模板题)

    http://poj.org/problem?id=3070 #include <iostream> #include <string.h> #include <stdl ...

  3. SQL学习笔记四(补充-2-1)之MySQL SQL查询作业答案

    阅读目录 一 题目 二 答案 一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名 ...

  4. SQL学习笔记四(补充-1)之MySQL单表查询

    阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录 ...

  5. Github 上传代码的两种方式

    上传本地代码/文件->Github 折腾了半天时间... Github前期准备部分 1)登录github,新建一个 repository 2)repository 命名 3)Github是一个托 ...

  6. TypeScript 照猫画虎

    定义变量类型 const num: number = 1 定义函数参数类型 const init: (p: str) => void = function(param) { alert(para ...

  7. HDU 2457 DNA repair(AC自动机+DP)题解

    题意:给你几个模式串,问你主串最少改几个字符能够使主串不包含模式串 思路:从昨天中午开始研究,研究到现在终于看懂了.既然是多模匹配,我们是要用到AC自动机的.我们把主串放到AC自动机上跑,并保证不出现 ...

  8. spark-sql执行流程分析

    spark-sql 架构 图1 图1是sparksql的执行架构,主要包括逻辑计划和物理计划几个阶段,下面对流程详细分析. sql执行流程 总体流程 parser:基于antlr框架对 sql解析,生 ...

  9. Java FastJson 介绍

    1.前言 1.1.FastJson的介绍: JSON协议使用方便,越来越流行,JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的 ...

  10. DDMS

    DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务