区块链开发:(3)以太坊开发环境搭建-truffle和testrpc安装
程序员文章站
2024-02-29 12:44:04
...
truffle是本地的用来编译、部署智能合约的工具,而testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当你的合约在testrpc中测试通过后,再可以部署到geth中去。所以可以说truffle和testrpc就是两大杀器。
1.安装node.js
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - #若未安装curl,通过sudo apt install curl安装
#必须root下执行,默认root用户未设置密码不可用,通过sudo passwd设置root用户密码; (apt: advance package tool)
apt-get install -y nodejs
#查看安装成功后的版本
nodejs -v #v6.13.1
#安装nodejs,npm会一并安装; (npm: nodejs package management)
npm -version #3.10.10
2.安装truffle
sudo -E npm install truffle -g
truffle version #aaa@qq.com,该版本有问题,后面提供解决方案
3.安装testrpc
sudo -E npm install ethereumjs-testrpc -g
testrpc -v
4.部署并测试truffle默认项目
truffle init
truffle compile
部署合约之前:
(1)修改项目目录下truffle.js文件,内容如下:
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*" // 匹配任何network id
}
}
};
(2)启动rpctest
以上内容修改后才能部署合约,启动服务:
truffle migrate
truffle serve
服务启动时报错:TypeError: fsevents is not a constructor
解决方案,降低版本到aaa@qq.com:
npm uninstall -g truffle
npm install -g aaa@qq.com #之前安装的aaa@qq.com版本,降低到aaa@qq.com truffle-webpack
cd truffle-webpack
truffle init webpack
truffle compile
npm run dev #替代truffle serve
通过以上方案还是会报错:
终极解决方案:
npm uninstall -g truffle
npm config set registry https://registry.npm.taobao.org
sudo -E npm install aaa@qq.com -g
参考:http://blog.csdn.net/vinsuan1993/article/details/77427537