truffle-config.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. require('dotenv').config({ path: ".env" });
  2. const HDWalletProvider = require('@truffle/hdwallet-provider');
  3. module.exports = {
  4. networks: {
  5. development: {
  6. host: "127.0.0.1",
  7. port: 8545,
  8. network_id: "*",
  9. },
  10. mainnet: {
  11. provider: () => new HDWalletProvider(process.env.MNEMONIC, `https://mainnet.infura.io/v3/`+process.env.INFURA_KEY),
  12. network_id: 1,
  13. gas: 10000000,
  14. gasPrice: 101000000000,
  15. confirmations: 1,
  16. timeoutBlocks: 200,
  17. skipDryRun: false
  18. },
  19. rinkeby: {
  20. provider: () => new HDWalletProvider(process.env.MNEMONIC, `https://rinkeby.infura.io/v3/`+process.env.INFURA_KEY),
  21. network_id: 4,
  22. gas: 5500000,
  23. confirmations: 2,
  24. timeoutBlocks: 200,
  25. skipDryRun: true
  26. },
  27. goerli: {
  28. provider: () => {
  29. return new HDWalletProvider(process.env.MNEMONIC, 'https://goerli.infura.io/v3/'+process.env.INFURA_KEY)
  30. },
  31. network_id: '5',
  32. gas: 4465030,
  33. gasPrice: 10000000000,
  34. },
  35. binance: {
  36. provider: () => {
  37. return new HDWalletProvider(process.env.MNEMONIC, 'https://bsc-dataseed.binance.org/')
  38. },
  39. network_id: '56',
  40. gas: 70000000,
  41. gasPrice: 8000000000,
  42. },
  43. },
  44. compilers: {
  45. solc: {
  46. version: "0.8.4",
  47. settings: {
  48. optimizer: {
  49. enabled: true,
  50. runs: 200
  51. },
  52. }
  53. }
  54. },
  55. plugins: [
  56. "@chainsafe/truffle-plugin-abigen",
  57. "truffle-plugin-verify"
  58. ],
  59. api_keys: {
  60. etherscan: process.env.ETHERSCAN_KEY
  61. },
  62. };