美文网首页
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