truffle-config.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. require("dotenv").config({ path: ".env" });
  2. const HDWalletProvider = require("@truffle/hdwallet-provider");
  3. module.exports = {
  4. migrations_directory: process.env.MIGRATIONS_DIR,
  5. networks: {
  6. development: {
  7. host: "127.0.0.1",
  8. port: 8545,
  9. network_id: "*",
  10. },
  11. mainnet: {
  12. provider: () =>
  13. new HDWalletProvider(
  14. process.env.MNEMONIC,
  15. `https://mainnet.infura.io/v3/` + process.env.INFURA_KEY
  16. ),
  17. network_id: 1,
  18. gas: 10000000,
  19. gasPrice: 20000000000,
  20. confirmations: 1,
  21. timeoutBlocks: 200,
  22. skipDryRun: false,
  23. },
  24. ropsten: {
  25. provider: () =>
  26. new HDWalletProvider(
  27. process.env.MNEMONIC,
  28. `https://ropsten.infura.io/v3/` + process.env.INFURA_KEY
  29. ),
  30. network_id: 3,
  31. gas: 5500000,
  32. confirmations: 2,
  33. timeoutBlocks: 200,
  34. skipDryRun: true,
  35. },
  36. rinkeby: {
  37. provider: () =>
  38. new HDWalletProvider(
  39. process.env.MNEMONIC,
  40. `https://rinkeby.infura.io/v3/` + process.env.INFURA_KEY
  41. ),
  42. network_id: 4,
  43. gas: 5500000,
  44. confirmations: 2,
  45. timeoutBlocks: 200,
  46. skipDryRun: true,
  47. },
  48. goerli: {
  49. provider: () => {
  50. return new HDWalletProvider(
  51. process.env.MNEMONIC,
  52. "https://goerli.infura.io/v3/" + process.env.INFURA_KEY
  53. );
  54. },
  55. network_id: "5",
  56. gas: 8465030,
  57. gasPrice: 15000000000,
  58. skipDryRun: true,
  59. },
  60. bnb: {
  61. provider: () => {
  62. return new HDWalletProvider(
  63. process.env.MNEMONIC,
  64. "https://bsc-dataseed3.defibit.io/"
  65. );
  66. },
  67. network_id: "56",
  68. gas: 70000000,
  69. gasPrice: 5500000000,
  70. },
  71. bnb_testnet: {
  72. provider: () => new HDWalletProvider(
  73. process.env.MNEMONIC,
  74. "https://data-seed-prebsc-1-s1.binance.org:8545"
  75. ),
  76. network_id: "97",
  77. confirmations: 10,
  78. networkCheckTimeout: 1000000,
  79. timeoutBlocks: 1000,
  80. skipDryRun: true,
  81. },
  82. polygon: {
  83. provider: () => {
  84. return new HDWalletProvider(
  85. process.env.MNEMONIC,
  86. "https://polygon-rpc.com"
  87. );
  88. },
  89. network_id: "137",
  90. gas: 10000000,
  91. gasPrice: 50000000000,
  92. },
  93. mumbai: {
  94. provider: () => {
  95. return new HDWalletProvider(
  96. process.env.MNEMONIC,
  97. "https://polygon-testnet-rpc.allthatnode.com:8545")
  98. },
  99. network_id: "80001",
  100. },
  101. avalanche: {
  102. provider: () => {
  103. return new HDWalletProvider(
  104. process.env.MNEMONIC,
  105. "https://api.avax.network/ext/bc/C/rpc"
  106. );
  107. },
  108. network_id: "43114",
  109. gas: 8000000,
  110. gasPrice: 30000000000,
  111. },
  112. fuji: {
  113. provider: () => new HDWalletProvider(
  114. process.env.MNEMONIC,
  115. "https://api.avax-test.network/ext/bc/C/rpc"
  116. ),
  117. network_id: "43113",
  118. },
  119. oasis: {
  120. provider: () => {
  121. return new HDWalletProvider(
  122. process.env.MNEMONIC,
  123. "https://emerald.oasis.dev/"
  124. );
  125. },
  126. network_id: 42262,
  127. gas: 4465030,
  128. gasPrice: 30000000000,
  129. },
  130. aurora: {
  131. provider: () => {
  132. return new HDWalletProvider(
  133. process.env.MNEMONIC,
  134. "https://mainnet.aurora.dev"
  135. );
  136. },
  137. network_id: 0x4e454152,
  138. gas: 10000000,
  139. from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // creator public key
  140. networkCheckTimeout: 1000000,
  141. timeoutBlocks: 1000,
  142. },
  143. aurora_testnet: {
  144. provider: () => {
  145. return new HDWalletProvider(
  146. process.env.MNEMONIC,
  147. "https://testnet.aurora.dev"
  148. )
  149. },
  150. network_id: 0x4e454153,
  151. gas: 10000000,
  152. from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // public key
  153. },
  154. arbitrum: {
  155. provider: () => {
  156. return new HDWalletProvider(
  157. process.env.MNEMONIC,
  158. "https://arb1.arbitrum.io/rpc"
  159. );
  160. },
  161. network_id: 42161,
  162. },
  163. optimism: {
  164. provider: () => {
  165. return new HDWalletProvider(
  166. process.env.MNEMONIC,
  167. "https://1rpc.io/op"
  168. );
  169. },
  170. network_id: 10,
  171. },
  172. fantom: {
  173. provider: () => {
  174. return new HDWalletProvider(
  175. process.env.MNEMONIC,
  176. "https://rpc.ftm.tools/"
  177. )
  178. },
  179. network_id: 250,
  180. gas: 8000000,
  181. gasPrice: 3000000000,
  182. timeoutBlocks: 15000,
  183. },
  184. fantom_testnet: {
  185. provider: () => {
  186. return new HDWalletProvider(
  187. process.env.MNEMONIC,
  188. "https://rpc.testnet.fantom.network/"
  189. )
  190. },
  191. network_id: 0xfa2,
  192. gas: 8000000,
  193. gasPrice: 300000000000,
  194. },
  195. celo: {
  196. provider: () => {
  197. return new HDWalletProvider(
  198. process.env.MNEMONIC,
  199. "https://forno.celo.org"
  200. )
  201. },
  202. network_id: 42220,
  203. },
  204. celo_alfajores_testnet: {
  205. provider: () => {
  206. return new HDWalletProvider(
  207. process.env.MNEMONIC,
  208. "https://alfajores-forno.celo-testnet.org"
  209. )
  210. },
  211. network_id: 44787,
  212. },
  213. },
  214. compilers: {
  215. solc: {
  216. version: "0.8.4",
  217. settings: {
  218. optimizer: {
  219. enabled: true,
  220. runs: 200,
  221. },
  222. },
  223. },
  224. },
  225. plugins: ["@chainsafe/truffle-plugin-abigen", "truffle-plugin-verify"],
  226. api_keys: {
  227. etherscan: process.env.ETHERSCAN_KEY,
  228. bscscan: process.env.BSCSCAN_KEY,
  229. snowtrace: process.env.SNOWTRACE_KEY,
  230. ftmscan: process.env.FTMSCAN_KEY,
  231. polygonscan: process.env.POLYGONSCAN_KEY,
  232. optimistic_etherscan: process.env.OPTIMISTIC_ETHERSCAN_KEY,
  233. aurorascan: process.env.AURORASCAN_KEY,
  234. arbiscan: process.env.ARBISCAN_KEY,
  235. },
  236. };