以太坊开发环境搭建linux版

简介: 本文介绍在ubuntu下如何搭建以太坊DApp的开发环境,包括nodejs、truffle、solc、web3js、ganache等。

本文介绍在ubuntu下如何搭建以太坊DApp的开发环境,包括nodejs、truffle、solc、web3js、ganache等。

一、安装前的准备

1.1 查看当前CPU架构

在终端中执行以下命令,确定是32位架构还是64位架构:

~$ uname –p
x86_64

如果你看到输出x86_64,那么就是64位系统,否则是32位。

1.2下载工具

确保你安装了下载工具wget:

~$ wget –V
GNU Wget 1.17.1 built on linux-gnu

如果还没有安装wget,使用apt-get来安装

~$ sudo apt-get install wget

二、安装DApp开发环境

2.1 安装Node.js

首先根据你的linux是32位还是64位,分别下载不同的预编译版本,我们使用官方长期支持的8.10.0LTS版本:
64位:

~$ wget https://nodejs.org/dist/v8.10.0/node-v8.10.0-linux-x64.tar.gz

32位:

~$ wget https://nodejs.org/dist/v8.10.0/node-v8.10.0-linux-x86.tar.gz

然后解压到当前目录,以64位为例:

~$ tar zxvf node-v8.10.0-linux-x64.tar.gz

然后接下来修改.bashrc来设置相关的环境变量:

~$ echo "export NODE_HOME=$HOME/node-v8.10.0-linux-x64" >> .bashrc
~$ echo "export NODE_PATH=$NODE_HOME/lib/node_modules" >> .bashrc
~$ echo "export PATH=$NODE_HOME/bin:$PATH" >> .bashrc

最后重新载入.bashrc(或者重新登陆)来使node生效:

~$ source .bashrc

现在,你可以使用node了:

~$ node –v
v8.10.0

2.2 安装节点仿真器

为了快速开发和测试以太坊DApp,我们通常使用以太坊节点仿真器来模拟区块链,最流行的节点仿真器就是Ganache,之前被称为TeseRPC。

在终端执行以下命令:

~$ npm install –g ganache-cli

安装完毕后,执行命令验证安装成功:

~$ ganache-cli
Ganache CLI v6.0.3 (ganache-core: 2.0.2)

要了解ganache命令行的详细用法,可以查看以太坊ganache CLI命令行参数详解

2.3 安装solidity编译器

solidity是开发以太坊智能合约的编程语言,不熟悉的话可以查看以太坊solidity开发语言简介

~$ npm install –g solc

安装完毕后,执行命令验证安装成功

~$ solcjs –version
0.40.2+commit.3155dd80.Emscripten.clang

2.4安装web3

~$ npm install –g web3@0.20.2

安装验证:

~$ node –p 'require("web3")'
{[Function: Web3]
  providers:{…}}

2.5安装truffle框架

执行以下命令安装truffle开发框架:

~$ npm install –g truffle

验证安装:

~$ truffle version
Truffle v4.1.3 (core 4.1.3)

2.6安装webpack

执行以下命令安装webpack:

~$ npm install –g webpack@3.11.0

验证安装

~$ webpack –v
3.11.0

三、构建示例项目

3.1 新建DApp项目

执行以下命令创建项目目录并进入该目录:

~$ mkdir demo
~$ cd demo

然后用webpack模版初始化项目骨架结构:

~/demo$ truffle unbox webpack
Downloading…
Unpacking…
Setting up…
Unbox successful. Sweet!

3.2 安装项目依赖的NPM包

执行以下命令安装nmp包:

~/demo$ npm install

3.3 修改truffle配置

truffle.js中,修改port为8545,因为ganache-cli在8545端口监听:

module.exports = {
  networks:{
    development: {
      …
      port: 8545
      …
    }
  }
}

3.4 启动节点

执行以下命令启动节点仿真器,以便部署合约并执行交易:

~/demo$ ganache-cli

3.5 编译合约

执行以下命令编译项目合约:

~/demo$ truffle compile

3.6 部署合约:

执行以下命令来部署合约:

~/demo$ truffle migrate

3.7 启动DApp

执行以下命令来启动DApp:

~/demo$ npm run dev

在浏览器里访问http://localhost:8080即可

如果你希望从别的机器也可以访问你的DApp应用,修改一下package.json:

{
    scripts:{
        "dev": "webpack-dev-server –-host 0.0.0.0"
    }
}

如果你希望高效的学习以太坊DApp开发,可以访问汇智网提供的最热门在线互动教程:

其他更多内容也可以访问这个以太坊博客

相关文章
|
4月前
|
Linux Shell
入职必会-开发环境搭建36-Linux常用操作-Linux环境变量
环境变量的作用是指定到哪个目录去找你输入的命令执行。环境变量的设置分为:临时设置和永久设置两种。
|
4月前
|
Oracle Java 关系型数据库
入职必会-开发环境搭建41-Linux软件安装-安装JDK
本文介绍了在Linux系统中下载和安装JDK
122 3
入职必会-开发环境搭建41-Linux软件安装-安装JDK
|
4月前
|
域名解析 网络协议 Linux
入职必会-开发环境搭建38-Linux常用操作-Linux设置IP
目前安装的Linux操作系统默认是动态获取IP地址,IP地址可能会发生变动,需要把IP地址设置为静态的。
入职必会-开发环境搭建38-Linux常用操作-Linux设置IP
|
4月前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
4月前
|
Linux
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
系统启动以后一直存在且常驻内存没有界面的进程就是服务。Linux系统中的所有服务都保存在下列目录中:/usr/lib/systemd/system,进入该目录就能看到所有的服务。
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
|
4月前
|
应用服务中间件 Linux 网络安全
|
4月前
|
应用服务中间件 Linux 网络安全
|
4月前
|
缓存 监控 Linux
入职必会-开发环境搭建40-Linux常用操作-Linux进程管理
进程是正在执行的程序或命令。每个进程独立的,都有需要占用一定的系统资源。Linux系统中启动进程有两种方式:1.Linux操作系统启动的时自动启动的进程。2.用户在终端输入命令启动的进程。
入职必会-开发环境搭建40-Linux常用操作-Linux进程管理
|
4月前
|
Unix 关系型数据库 Linux
入职必会-开发环境搭建35-Linux常用操作-Linux必会命令
使用Windows系统时用户通常是使用鼠标点击进行文件或文件夹的创建、删除等操作,在Linux系统中是通过敲命令来控制系统的,Windows系统和Linux系统的目录结构不同,我们需要先熟悉Linux系统的目录结构。
入职必会-开发环境搭建35-Linux常用操作-Linux必会命令
|
4月前
|
NoSQL 前端开发 Linux
入职必会-开发环境搭建45-Linux软件安装-安装Redis
本文介绍了在Linux中3种安装Redis的方式和连接方式