菜鸟:开发了第一个智能合约和网页交互

第一次次开发使用的是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 开发工程了,下一步接着努力继续。

你可能感兴趣的:(菜鸟:开发了第一个智能合约和网页交互)