美文网首页
你的第一个以太坊智能合约-环境搭建及部署

你的第一个以太坊智能合约-环境搭建及部署

作者: 1刹那 | 来源:发表于2018-03-28 14:02 被阅读42次

智能合约开发涉及知识纷繁复杂,合约开发的官方推荐语言是solidity,而合约的前端产品化需要用到web3与以太坊网络交互。今天我们从0开始,在本地电脑搭建一个以太坊测试网络,并在上面部署一个简单的智能合约。

环境部署

以太坊开发官方推荐的套件叫做truffle,Truffle是针对基于以太坊的Solidity语言的一套开发框架。本身基于Javascript。使用它开发,测试,部署一行命令都可以搞定。

安装 truffle

npm install -g truffle

初始一个智能合约项目

为了方便开发,truffle开发框架给我们提供了很多种子项目供我们参考使用,称作Box,有了这神器,干脆我们就发个币吧,叫做metaCoin

mkdir MetaCoin
cd MetaCoin
truffle unbox metacoin

如果你想初始一个空项目

truffle init

现在你的代码库中有了以下几个文件

  • contracts/: Solidity 合约目录
  • migrations/: 合约的部署脚本
  • test/: 测试文件目录
  • truffle.js: truffle的配置文件

Ok,至于合约的内容暂且不表,我们先部署到以太的测试网络

启动测试网络

truffle develop

将metaCoin 部署到刚刚启动的区块链网络上

  • 编译 truffle compile
  • 部署 truffle migrate

至此,我们已经把Meta币部署到本地的测试网络了,下面我们用js与区块链数据交互。

var account_one = "0x1234..."; // an address
var account_two = "0xabcd..."; // another address

var meta;
MetaCoin.deployed().then(function(instance) {
  meta = instance;//获得合约实例
  return meta.sendCoin(account_two, 10, {from: account_one});
}).then(function(result) {
  // 成功发送一笔交易
  alert("Transaction successful!")
}).catch(function(e) {
  // 错误处理
})

通过web3Js与智能合约进行交互就可以进行所有操作了,查看余额、转账、执行合约方法。 附metacoin源码:https://github.com/truffle-box/metacoin-box

相关文章

网友评论

      本文标题:你的第一个以太坊智能合约-环境搭建及部署

      本文链接:https://www.haomeiwen.com/subject/eoiycftx.html