配置文件
原文地址
指定网络:
module.exports = { networks: { development: { host: "127.0.0.1", port: 8545, network_id: "*" // Match any network id } } };
development是这个网络配置的信息
我们可以添加N个网络,比如添加一个名为:live的网络:
networks: { development: { host: "127.0.0.1", port: 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 // gasPrice // 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. } }
网络配置文件中还有其他一些选项,都可自己配置,它们都有默认值:
gas: Gas limit used for deploys. Default is 4712388.一次操作的话费的最大gas限制 gasPrice: Gas price used for deploys. Default is 100000000000 (100 Shannon).gas的价格 from: From address used during migrations. Defaults to the first available account provided by your Ethereum client.发出操作的账户,默认是Ethereum地址address列表的第一个 provider: Default web3 provider using host and port options: new Web3.providers.HttpProvider("http://:”)提供者,默认使用web3提供的host和port针对每个网络,你可以指定host/port 或provider,但不能两个都指定
例如:
networks: { ropsten: { provider: function() { return new HDWalletProvider(mnemonic, "https://ropsten.infura.io/"); }, network_id: '3', }, test: { provider: function() { return new HDWalletProvider(mnemonic, "http://127.0.0.1:8545/"); }, network_id: '*', }, }
这个之前的文章也提过,在上面可以看到,provider提供了一个地址,其效果跟指定host/port一样,所以不可能两个都是指定的,如果这三个参数 host,port,provider都有值,那么truffle会使用自己默认的地址运行,就是这么任性!
在truffle.js中自定义编译后的文件的存放目录
编译后的目录默认在 ./build/contracts,在配置中使用key:contracts_build_directory
来指定存放目录
module.exports = { contracts_build_directory: "./output", networks: { development: { host: "127.0.0.1", port: 8545, network_id: "*", } } };
这个目录可以随便哪个位置都OK,路径也可以写成绝对路径,但是考虑到运行在另一个system的时候可能没有这个目录。
最后,不建议自己指定!!!
配置MOCHA的显示样式:
mocha: { useColors: true }
Solidity的编译配置:
solc: { optimizer: { enabled: true, runs: 200 } }
EthPM配置
在ethpm.json中配置
包名(应用名称):
package_name: "adder"
版本号:
version: "0.0.3"
描述:
description: "Simple contract to add two numbers"
作者:
authors: [
"Tim Coulter "
]
关键字:
keywords: [
"ethereum",
"addition"
],
依赖:合约应用对EthPM packages的依赖库目录
dependencies: {
"owned": "^0.0.1",
"erc20-token": "1.0.0"
}
许可证:
license: "MIT",
作者:大都废