blockchain - truffle - config 配置truffle truffle.config.js
访问量: 837
refer to: https://ethereum.stackexchange.com/questions/15749/how-do-i-specify-a-different-solidity-version-in-a-truffle-contract/130441#130441
https://trufflesuite.com/docs/truffle/reference/configuration/
一个拿来就用的精简版
# .env 文件 INFURA_API_URL = "wss://goerli.infura.io/ws/v3/427a8f460d514ebfadf0d6c60b09ef27" MNEMONIC = "margin blouse tenant chat hub chef addict club rather prize strategy joy"
$ cat truffle-config.js
require('dotenv').config();
const HDWalletProvider = require('@truffle/hdwallet-provider');
const { INFURA_API_URL, MNEMONIC } = process.env;
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*"
},
goerli: {
provider: () => new HDWalletProvider(MNEMONIC, INFURA_API_URL),
network_id: '5',
gas: 5500000,
// gasPrice: 50000000000, // 50 gwei
networkCheckTimeout: 1000000,
timeoutBlocks: 200,
addressIndex: 2
}
},
compilers: {
solc: {
version: "0.8.15", // 这样的话能快速的运行
}
}
};
配置compiler version 默认居然是 0.4.x
module.exports = {
compilers: {
solc: {
version: <string>, // A version or constraint - Ex. "^0.5.0"
// Can be set to "native" to use a native solc or
// "pragma" which attempts to autodetect compiler versions
docker: <boolean>, // Use a version obtained through docker
parser: "solcjs", // Leverages solc-js purely for speedy parsing
settings: {
optimizer: {
enabled: <boolean>,
runs: <number> // Optimize for how many times you intend to run the code
},
evmVersion: <string> // Default: "istanbul"
},
modelCheckerSettings: {
// contains options for SMTChecker
}
}
}
}
每次卡在了 truffle compile 怎么办?
$ truffle compile Compiling your contracts... =========================== ✖ Fetching solc version list from solc-bin. Attempt #1 ✖ Fetching solc version list from solc-bin. Attempt #2 ✖ Fetching solc version list from solc-bin. Attempt #3 ✖ Fetching solc version list from solc-bin. Attempt #1 ✖ Fetching solc version list from solc-bin. Attempt #2 ✖ Fetching solc version list from solc-bin. Attempt #3 > Compiling ./contracts/MyTestNft.sol
运行命令 $ truffle compile --list
✖ Fetching solc version list from solc-bin. Attempt #1 ✓ Fetching solc version list from solc-bin. Attempt #2 [ "0.8.15", "0.8.14", "0.8.13", "0.8.12", "0.8.11", "0.8.10", "0.8.9", "0.8.8", "0.8.7", "0.8.6" ]
所以,修改 truffle-config.js
compilers: {
solc: {
// version: "^0.8.0", 不要这样
version: "0.8.15", // 要这样
}
},