环境
- ubuntu-14.04 ubuntu-14.04-desktop-amd64.iso ,不多解释。
- nodejs用来安装truffle等工具
- truffle ,目前最好用的以太坊开发框架
- 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 @H_404_64@//修改链接,指向4.9
ln -s /usr/bin/gcc-4.9 /usr/bin/gcc -f @H_404_64@//修改链接,指向4.9
4、编译并安装nodejs
cd node-9.3.0 @H_404_64@//进入node代码目录
./configure
make @H_404_64@//编译,等待一段较长时间
make install @H_404_64@//安装
node -v @H_404_64@//查看node版本
v9.3.0
npm -v @H_404_64@//查看npm版本
5.5.1
5.安装truffle
npm install -g truffle
6.下载并安装ganache
wget https:@H_404_64@//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 @H_404_64@//修改权限
sudo ./ganache-1.0.1-x86_64.AppImage @H_404_64@//启动ganache
例子
1、启动区块链网络
sudo ./ganache-1.0.1-x86_64.AppImage @H_404_64@//启动ganache
2、新建项目
liao@ubuntu:~/work$ mkdir myproject @H_404_64@//新建一个工作目录
liao@ubuntu:~/work$ cd myproject/ @H_404_64@//进入项目目录
liao@ubuntu:~/work/myproject$ truffle init @H_404_64@//初始化Truffle 项目
liao@ubuntu:~/work/myproject$ ls @H_404_64@//查看产生的目录和文件
contracts migrations test truffle-config.js truffle.js
@H_404_64@//contract/ - Truffle默认的合约文件存放地址。
@H_404_64@//migrations/ - 存放发布脚本文件
@H_404_64@//test/ - 用来测试应用和合约的测试文件
@H_404_64@//truffle.js - Truffle的配置文件
vi truffle.js @H_404_64@//修改配置文件后如下
module.exports = {
@H_404_64@// See <http://truffleframework.com/docs/advanced/configuration>
@H_404_64@// to customize your Truffle configuration!
networks: {
development: {
host: "127.0.0.1",@H_404_64@//本地地址,ganache log中可看到
port: 7545,@H_404_64@//端口,ganache log中可看到
network_id: "*" @H_404_64@// Match any network id
}
}
};
truffle compile @H_404_64@//编译
truffle migrate @H_404_64@//跑migrate
Using network 'development'.
Network up to date.