第一次次开发使用的是truffle和testrpc,testrpc是在本地使用内存模拟使用的以太坊环境,对开发来说更加方便快捷,调试。通过testrpc 开发测试后,OK后,再部署到正式网络上去。
当然这里你也可以使用truffle和Embark ,这也是开发DApps的常用框架,我第一次是使用testrpc。
testrpc的安装:
你需要node 环境,接着你使用sudo npm install -g ethereumjs-testrpc 命令即可。
我们输入控制台中输入testrpc 可以看到 版本号是:v6.0.3 ,默认给出了10个测试账户以及它们的私钥。
OK 这样表示我们的testrpc 的服务已经启动成功,服务的默认端口是8545.
truffle的使用安装:
输入命令sudo npm install -g truffle 即可,等待安装
控制台输入 truffle命令后 我们可以看到 版本号及使用命令提示,说明我们的truffle工具安装成功。
创建第一个truffle 框架的应用:
创建一个目录:MyOK,进入MyOK目录输入:truffle unbox webpack 命令即可生成一个简单的工程。注意使用truffle unbox和truffle init 命令后面不带webpack 参数时不会不会生成WebApp j结构。
现在最简单的工程我们已经生成。
工程生成有有个测试的合约MetaCoin。
注意检查项目的truffle.js 文件和APP目录里面的javaScripts的app.js,我们须修改POST端口为8545.
1,不修改任何代码,使用truffle complie 编译合约,这一步没问题。
2,使用truffle migrate 部署合约,没有提示任何错误,OK部署成功。
3,使用npm run dev 命令运行合约的web页面。这一步一定要在部署合约后才运行,不然会提示错误not found: Error: Can't resolve '../../build/contracts/MetaCoin.json'
这里合约是通过以太坊智能合约ABI接口交互。
我们在谷歌浏览器中输入地址:http://localhost:8080/ ,如果谷歌浏览器安装有MeTaMask插件,我们需要把MetMask 的网路地址切换到LocalHost 8545,不然会提示用户信息错误。
在有MetaMask插件的谷歌浏览器中会发现You have 0 META,OK这个没毛病,这个账户是你的Metamask的账户,不是testrpc的账户
在没有其它浏览器中如Safari 中 默认的是testrpc 的第一个账户You have 10000 META。
我们进行一比转账:从testrpc 的第一账户中转10个META币到MetaMask的账户
我们看到已经有10个META了。
好了万里长征第一步,我们已经可以搭建最简单的Dapps 开发工程了,下一步接着努力继续。