欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

区块链开发:(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
区块链开发:(3)以太坊开发环境搭建-truffle和testrpc安装

以上内容修改后才能部署合约,启动服务:

truffle migrate
truffle serve
服务启动时报错:TypeError: fsevents is not a constructor
区块链开发:(3)以太坊开发环境搭建-truffle和testrpc安装


解决方案,降低版本到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