带你玩转区块链--以太坊框架truffle-第二章-第三节【以太坊篇】---未完待续

一、意义:

          在之前内容的学习中,我们发现compile、deploy等文件在不同的项目中是可以互用的,根据低聚合高耦合的代码设计规则,我们可以将此部分封装成一个框架,从而更好的完成开发。所以ETH官方推出了Truffle框架。那么,Truffle到底为我们带来了什么呢?让我们来一探究竟。

二、准备工作:

1.安装truffle

npm install truffle -g

2.官方文档地址

github:
https://github.com/trufflesuite/truffle

官方文档:
https://www.trufflesuite.com/docs/truffle/overview

三、truffle的学习:

1.创建一个工程

$ truffle
Truffle v3.4.11 - a development framework for Ethereum
$ cd myproject
$ truffle init

ps:

1.由于某些原因在安装过程中,可能会卡着不动,这时候您需要科学上网或者使用淘宝镜像cnpm安装

truffle-config.js是win端的设置,truffle.js是mac或linux的设置。在创建工程后,windows端需要删除truffle.js,不然可能会报错,linux或mac端不用管。

2.使用truffle部署一个合约

1.在contracts中创建Simple.sol文件,并写入。文件名需和合约名一致

pragma solidity ^0.4.24;
contract Simple{
    uint256 tmp;
    function setValue(uint256 value)public {
        tmp=value;
    }
    
    function getValue()public view returns(uint256){
        return tmp;
    }
}

2.执行编译命令

truffle compile

3.在migrations文件夹中创建2_Simple_migrations.js文件并写入

const Migrations = artifacts.require("Migrations");
module.exports = function(deployer) {
  deployer.deploy(Migrations);
};

4.设置truffle-config.js、修改默认文件为:

module.exports = {
  networks: {
    ganacheNetwork: {
      host: "127.0.0.1",
      port: 8545,
      network_id: "*" // Match any network id
    }
  }
};

4.连接ganache后执行部署命令

扫描二维码关注公众号,回复: 9568361 查看本文章
truffle migrate --network ganacheNetwork

从上述例子中,我们可以发现truffle的第一个优势:1.深度集成。开发,测试,部署一行命令都可以搞定。

3.Truffle自带控制台develop

     在truffle中默认提供了一个与以太坊节点仿真器工具develop,将数据存储在了内存中,它可以更加快速的测试,但看不到数据。默认端口为9545,启动命令为truffle develop ,在启动后直接执行compile进行编译,直接执行migrate进行部署。

发布了22 篇原创文章 · 获赞 0 · 访问量 5055

猜你喜欢

转载自blog.csdn.net/Laughing_G/article/details/104633360