Ubuntu搭建以太坊开发环境—使用truffle框架

前端之家收集整理的这篇文章主要介绍了Ubuntu搭建以太坊开发环境—使用truffle框架前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

环境

  1. ubuntu-14.04 ubuntu-14.04-desktop-amd64.iso ,不多解释。
  2. nodejs用来安装truffle等工具
  3. truffle ,目前最好用的以太坊开发框架
  4. ganache ,可以跑开发环境下的私有区块链

步骤

1、前提是ubuntu已经可以正常使用,包括上网。
2、下载nodejs,按经验apt-get安装的nodejs不可用,估计apt-get源上的nodejs版本不对,建议使用nodejs官方github上的release 版本,可以git clone,再git checkout 到某个指定版本。也可直接下载某个稳定版本,比如:

wget https://github.com/nodejs/node/archive/v9.3.0.tar.gz

3、由于nodejs的编译需要 gcc/g++ 4.9.2以上,ubuntu14.04自带4.8.所有需要先更新到 gcc/g++ 4.9.2

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get install g++-4.9
ln -s /usr/bin/g++-4.9 /usr/bin/g++ -f   //修改链接,指向4.9
ln -s /usr/bin/gcc-4.9 /usr/bin/gcc -f   //修改链接,指向4.9

4、编译并安装nodejs

cd node-9.3.0  //进入node代码目录
./configure
make //编译,等待一段较长时间
make install //安装
node -v  //查看node版本
v9.3.0
npm -v   //查看npm版本
5.5.1

5.安装truffle

npm install -g truffle

6.下载并安装ganache

wget https://github.com/trufflesuite/ganache/releases/download/v1.0.1/ganache-1.0.1-x86_64.AppImage //下载ganache
chmod +x ganache-1.0.1-x86_64.AppImage //修改权限
sudo ./ganache-1.0.1-x86_64.AppImage //启动ganache

例子

1、启动区块链网络

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

2、新建项目

liao@ubuntu:~/work$ mkdir myproject  //新建一个工作目录

liao@ubuntu:~/work$ cd myproject/    //进入项目目录

liao@ubuntu:~/work/myproject$ truffle init //初始化Truffle 项目

liao@ubuntu:~/work/myproject$ ls        //查看产生的目录和文件
contracts  migrations  test  truffle-config.js  truffle.js

//contract/ - Truffle默认的合约文件存放地址。
//migrations/ - 存放发布脚本文件
//test/ - 用来测试应用和合约的测试文件
//truffle.js - Truffle的配置文件

vi truffle.js //修改配置文件后如下
module.exports = {
  // See <http://truffleframework.com/docs/advanced/configuration>
  // to customize your Truffle configuration!
  networks: {
    development: {
      host: "127.0.0.1",//本地地址,ganache log中可看到
      port: 7545,//端口,ganache log中可看到
      network_id: "*" // Match any network id
    }
  }
};

truffle compile //编译

truffle migrate //跑migrate
Using network 'development'.
Network up to date.

猜你在找的Ubuntu相关文章