Truffle+ganache进行区块链项目开发

上一篇文章介绍了如何搭建Truffle开发框架,所以的开发都是基于这个框架,所以在开发之前需要把这个框架搭建好,不懂的需要先去看上一篇文章,链接如下:

https://blog.csdn.net/xuecuilan/article/details/90379919

初步建立好的项目目录如下:

  • contracts:用来存放你编写的智能合约代码
  • migrations:用来部署的文件夹
  • test:用来存放测试代码
  • truffle-config.js :truffle环境配置

Truffle集成了一个开发控制台,运行下面代码对你的智能合约进行编译:

truffle compile

Truffle会根据你的contracts文件夹中的合约按顺序进行一一编译,结果如下: 

这一步编译成功之后,truffle会把编译好的ABI及字节码信息保存在 build/cintracts里面,如下:

 注意:每一个合约对应一个json文件;

编译之后,就可以部署到区块链上了。

在migrations文件夹下已经有一个1-initial-migration.js部署脚本,用来部署Migration.sol合约。Migration.sol合约是Truffle生成的一个用来确保不会进行重复部署的合约,这个合约在contracts文件夹下,我们需要建立一个自己的部署脚本:目录结构如下

注意:如果一个合约用到别的合约的信息,可以分开写部署脚本,如上;否则部署脚本可以写在一起;脚本内容:

注意:deploy函数里面写合约名称和构造函数的参数,用逗号隔开;

目前我们要把智能合约部署到ganache的测试链上,所以我们需要先启动ganache的测试链,我用的是ganache提供的可视化界面,具体下载细节请自行百度:图形如下:

她为我们提供了十个账户,默认使用第一个;

启动好ganache之后,我们需要修改truffle的配置信息,使其链接到ganache网络;替换如下:需要修改host和port:

module.exports = {

  networks: {
    // Useful for testing. The `development` name is special - truffle uses it by default
    // if it's defined here and no other network is specified at the command line.
    // You should run a client (like ganache-cli, geth or parity) in a separate terminal
    // tab if you use this network and you must also set the `host`, `port` and `network_id`
    // options below to some value.
    //
    development: {
     host: "127.0.0.1",     // Localhost (default: none)
     port: 7545,            // Standard Ethereum port (default: none)
     network_id: "*",       // Any network (default: none)
    },

然后执行如下代码进行编译:

truffle migrate

部署成功后,就可以看到ganache链中block的变化,之后就可以进行编写测试代码了。

测试代码分为两种:一种用javascript编写,一种用solidity编写,我一直用solidity进行的测试;

编写完测试代码,运行下面代码进行测试:

truffle test

如下表示测试通过:

接下来与web页面进行交互什么的。。。后续再总结

Truffle开发和用Remix的区别:

  • Truffle看起来很正式,目录结构很清晰,领导会觉得你很熟练,适合装逼;
  • remix上写合约,错误提示比idea上更加智能(自我感觉,一直喜欢用,测试很方便,当然领导觉得你这样测试相当于没测试);
  • remix需要一直部署合约,就是说你只要改一点点合约 就必须重新部署,但是truffle只需要部署一次;

 

 

 

 

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值