(truffle官翻)第14讲 各种配置文件(truffle.js、MochaJS、Solidity)

truffle.js配置

概述

当使用Windows的命令行时,默认的配置文件名与truffle冲突。这种情况下,我们推荐使用Windows的power Shell或Git BASH。你也可以将配置文件重命名为truffle-config.js来避免冲突。
这也是为什么truffle init时候,项目里会生成一个truffle.jstruffle_config.js

  1. 配置文件位置:
    它在项目根目录中,称为truffle.js
  2. 必须要配置这个文件,格式如下,默认是8545端口:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    module.exports = {
    networks: {
    development: {
    host: "127.0.0.1",
    port: 8545,
    network_id: "*" // Match any network id
    }
    }
    };

常规配置

  1. build设置
    就是说,将你的应用和Truffle结合在一起当应用(一般很少见),可参考:
    第16讲_将应用和truffle集成编译

  2. 合约发布时,可以指定使用哪个网络:

    1
    2
    //使用哪种网络,需要在truffle.js中配置
    migrate —network live
  3. 具体配置文件如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    module.exports = {
    networks: {
    development: {
    host: "127.0.0.1", // 默认为localhost
    port: 8545, // 默认为8545
    network_id: "*" // match any network
    },
    live: {
    host: "178.25.19.88", // Random IP for example purposes (do not use)
    port: 80,
    network_id: 1, // Ethereum public network
    // optional config values:
    // gas - 默认为4712388
    // gasPrice - 默认为100000000000(100Gwei)
    // from - default address to use for any transaction Truffle makes during migrations
    // provider - web3 provider instance Truffle should use to talk to the Ethereum network.
    // - function that returns a web3 provider instance (see below.)
    // - if specified, host and port are ignored.
    }
    }
    }
  4. 说明:

    1. 注意,networks中,每一个代表一个provider
    2. 设置网络参数,设置gas和地址等信息,
    3. truffle.js中的networks配置是必要的,默认给出的网络是可以连接在任意的network_id中的,在测试时候,这是有用的,但是在生产环境下,不建议。可通过network _id来指定多个网络。
    4. gas:gas最大值设置,默认为4712388(这个设置的大点,默认就好,)
    5. gasPrice:gas 价格,默认为100000000000wei(众筹一般:100Gwei就够了)
    6. from:移植期间,默认的第一个有效提供者(当前指定以太坊网络中)
    7. provider:默认是web3使用host和port提供:
      注意,在任意网络中,或者是设置host/port或者设置provider,不可以同时设置。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
          new Web3.providers.HttpProvider("http://<host>:<port>");
      ```
      8. 管理多个providers,
      一个网络还不够用啊,非要搞一堆,具体自己看文档吧(http://truffleframework.com/docs/advanced/configuration),这里小编偷懒不翻译了,感觉没啥用。
      9. 设置.sol合约编译输出的默认路径(contracts_build_directory)
      默认就是输出来./build/contracts
      ```js
      module.exports = {
      contracts_build_directory: "./output",
      networks: {
      development: {
      host: "127.0.0.1",
      port: 8545,
      network_id: "*",
      }
      }
      };
  5. Mocha配置

    1. 可参考:http://mochajs.org/
    2. 例子:
      1
      2
      3
      mocha: {
      useColors: true
      }
  6. Solidity编译器配置
    可以设置solc:

    1
    2
    3
    4
    5
    6
    solc: {
    optimizer: {
    enabled: true,
    runs: 200
    }
    }
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2017-2023 Jason
  • Visitors: | Views:

谢谢打赏~

微信