美文网首页
TRUFFLR01:初始化以太坊工程项目

TRUFFLR01:初始化以太坊工程项目

作者: 杨强AT南京 | 来源:发表于2020-04-24 08:56 被阅读0次

  企业开发要效率,效率一般依赖遵循工程思想与各种技术产生的框架与工具,Truffle就是区块链中开发的一个利器,优势体现在:
   1. 非常方便的智能合约编码、编译与测试;
   2. 提供了智能合约的ABI与二进制接口封装;
   3. 一套访问智能合约更加方便的API;


下载两个例子

下载metacoin例子

  • 命令:truffle unbox metacoin
    • 多执行几次


      metacoin项目例子

下载Webpack例子

  • 命令:truffle unbox webpack
基于Webpack的浏览器客户端访问例子,就是传说中的DApp
  • 等具备一些常识,我们再来看上面两个例子。

Truffle的使用

  • Truffle可以方便我们编译智能合约、部署、测试智能合约。
  • 可以与Web App集成在一起,能更加方便的开发基于智能合约的Web App = DApp

创建项目

  1. 命令
    • truffle init
  • 注意:
    • 执行命令的目录确保是空的,这样防止被覆盖。
创建空项目

启动geth

  • 这里我们启动了两个节点

节点一

GETH节点-1

节点二

GETH节点-2

使用VSCode项目

  • 使用VSCode打开创建的Truffle项目
    • 实际这个时候谈不上是项目,仅仅是一个工作环境而已
在VSCode IDE打开项目

配置truffle与geth的连接

  • 在truffle-config.js文件中配置

账号到geth查询

GETH查询

查询gasLimits

  • 在创世文件查询
    • gas值不能太高也不能太低
查询gasLimits

网络配置选项

  • gas 推荐设置 –gasprice 4000000000 –targetgaslimit 4712388
Truffle开发网络配置

编译智能合约

  • 命令:
    • truffle compile
使用Truffle工具编译智能合约

部署智能合约

  • 命令:
    • truffle migrate
    • gas的大小决定部署的快慢。
部署智能合约

测试智能合约

  • 命令:
    • truffle test

附录:

  • 其实使用GETH作为开发环境太麻烦,其实还有更好的方式,后面再专门讲解。
  • 如果network-id过小,在Truffle测试的时候也会存在问题。请在创世文件修改私有以太坊的网络id。
  • 个人赶脚:以太坊所谓去中心化,都是骗小朋友的。所谓去中心化在于人心,不在于技术。

相关文章

网友评论

      本文标题:TRUFFLR01:初始化以太坊工程项目

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