truffle-config.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  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. ethereum: {
  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: 17000000000,
  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://rpc.ankr.com/bsc"
  65. );
  66. },
  67. network_id: "56",
  68. gas: 70000000,
  69. gasPrice: 5500000000,
  70. },
  71. bnb_testnet: {
  72. provider: () =>
  73. new HDWalletProvider(
  74. process.env.MNEMONIC,
  75. "https://rpc.ankr.com/bsc_testnet_chapel"
  76. ),
  77. network_id: "97",
  78. confirmations: 10,
  79. networkCheckTimeout: 1000000,
  80. timeoutBlocks: 1000,
  81. skipDryRun: true,
  82. },
  83. polygon: {
  84. provider: () => {
  85. return new HDWalletProvider(
  86. process.env.MNEMONIC,
  87. "https://polygon-rpc.com"
  88. );
  89. },
  90. network_id: "137",
  91. gas: 20000000,
  92. gasPrice: 300000000000,
  93. },
  94. mumbai: {
  95. provider: () => {
  96. return new HDWalletProvider(
  97. process.env.MNEMONIC,
  98. "https://polygon-testnet-rpc.allthatnode.com:8545"
  99. );
  100. },
  101. network_id: "80001",
  102. },
  103. avalanche: {
  104. provider: () => {
  105. return new HDWalletProvider(
  106. process.env.MNEMONIC,
  107. "https://api.avax.network/ext/bc/C/rpc"
  108. );
  109. },
  110. network_id: "43114",
  111. gas: 8000000,
  112. gasPrice: 30000000000,
  113. },
  114. fuji: {
  115. provider: () =>
  116. new HDWalletProvider(
  117. process.env.MNEMONIC,
  118. "https://api.avax-test.network/ext/bc/C/rpc"
  119. ),
  120. network_id: "43113",
  121. },
  122. oasis: {
  123. provider: () => {
  124. return new HDWalletProvider(
  125. process.env.MNEMONIC,
  126. "https://emerald.oasis.dev/"
  127. );
  128. },
  129. network_id: 42262,
  130. gas: 4465030,
  131. gasPrice: 30000000000,
  132. },
  133. aurora: {
  134. provider: () => {
  135. return new HDWalletProvider(
  136. process.env.MNEMONIC,
  137. "https://mainnet.aurora.dev"
  138. );
  139. },
  140. network_id: 0x4e454152,
  141. gas: 10000000,
  142. from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // creator public key
  143. networkCheckTimeout: 1000000,
  144. timeoutBlocks: 1000,
  145. },
  146. aurora_testnet: {
  147. provider: () => {
  148. return new HDWalletProvider(
  149. process.env.MNEMONIC,
  150. "https://testnet.aurora.dev"
  151. );
  152. },
  153. network_id: 0x4e454153,
  154. gas: 10000000,
  155. from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // public key
  156. networkCheckTimeout: 1000000,
  157. timeoutBlocks: 1000,
  158. },
  159. arbitrum: {
  160. provider: () => {
  161. return new HDWalletProvider(
  162. process.env.MNEMONIC,
  163. "https://arb1.arbitrum.io/rpc"
  164. );
  165. },
  166. network_id: 42161,
  167. },
  168. arbitrum_testnet: {
  169. provider: () => {
  170. return new HDWalletProvider(
  171. process.env.MNEMONIC,
  172. "https://goerli-rollup.arbitrum.io/rpc"
  173. );
  174. },
  175. network_id: 421613,
  176. },
  177. optimism: {
  178. provider: () => {
  179. return new HDWalletProvider(
  180. process.env.MNEMONIC,
  181. "https://rpc.ankr.com/optimism"
  182. );
  183. },
  184. network_id: 10,
  185. },
  186. optimism_goerli: {
  187. provider: () => {
  188. return new HDWalletProvider(
  189. process.env.MNEMONIC,
  190. "https://rpc.ankr.com/optimism_testnet"
  191. );
  192. },
  193. network_id: 420,
  194. },
  195. fantom: {
  196. provider: () => {
  197. return new HDWalletProvider(
  198. process.env.MNEMONIC,
  199. "https://rpc.ankr.com/fantom"
  200. );
  201. },
  202. network_id: 250,
  203. gas: 8000000,
  204. gasPrice: 50000000000,
  205. timeoutBlocks: 15000,
  206. },
  207. fantom_testnet: {
  208. provider: () => {
  209. return new HDWalletProvider(
  210. process.env.MNEMONIC,
  211. "https://rpc.ankr.com/fantom_testnet"
  212. );
  213. },
  214. network_id: 0xfa2,
  215. gas: 8000000,
  216. gasPrice: 300000000000,
  217. },
  218. celo: {
  219. provider: () => {
  220. return new HDWalletProvider(
  221. process.env.MNEMONIC,
  222. "https://forno.celo.org"
  223. );
  224. },
  225. network_id: 42220,
  226. },
  227. celo_alfajores_testnet: {
  228. provider: () => {
  229. return new HDWalletProvider(
  230. process.env.MNEMONIC,
  231. "https://alfajores-forno.celo-testnet.org"
  232. );
  233. },
  234. network_id: 44787,
  235. },
  236. kcc: {
  237. provider: () => {
  238. return new HDWalletProvider(
  239. process.env.MNEMONIC,
  240. "https://rpc-mainnet.kcc.network"
  241. );
  242. },
  243. network_id: 321,
  244. },
  245. kcc_testnet: {
  246. provider: () => {
  247. return new HDWalletProvider(
  248. process.env.MNEMONIC,
  249. "https://rpc-testnet.kcc.network"
  250. );
  251. },
  252. network_id: 322,
  253. },
  254. zksync: {
  255. provider: () => {
  256. return new HDWalletProvider(
  257. process.env.MNEMONIC,
  258. "https://zksync2-mainnet.zksync.io"
  259. );
  260. },
  261. network_id: 324,
  262. },
  263. zksync_goerli: {
  264. provider: () => {
  265. return new HDWalletProvider(
  266. process.env.MNEMONIC,
  267. "https://zksync2-testnet.zksync.dev"
  268. );
  269. },
  270. network_id: 280,
  271. },
  272. cronos: {
  273. provider: () => {
  274. return new HDWalletProvider(
  275. process.env.MNEMONIC,
  276. "https://cronosrpc-1.xstaking.sg"
  277. );
  278. },
  279. network_id: 25,
  280. },
  281. cronos_testnet: {
  282. provider: () => {
  283. return new HDWalletProvider(
  284. process.env.MNEMONIC,
  285. "https://evm-t3.cronos.org"
  286. );
  287. },
  288. network_id: 338,
  289. },
  290. },
  291. compilers: {
  292. solc: {
  293. version: "0.8.4",
  294. settings: {
  295. optimizer: {
  296. enabled: true,
  297. runs: 10000,
  298. },
  299. },
  300. },
  301. },
  302. plugins: [
  303. "@chainsafe/truffle-plugin-abigen",
  304. "truffle-plugin-verify",
  305. "truffle-contract-size",
  306. ],
  307. api_keys: {
  308. etherscan: process.env.ETHERSCAN_KEY,
  309. bscscan: process.env.BSCSCAN_KEY,
  310. snowtrace: process.env.SNOWTRACE_KEY,
  311. ftmscan: process.env.FTMSCAN_KEY,
  312. polygonscan: process.env.POLYGONSCAN_KEY,
  313. optimistic_etherscan: process.env.OPTIMISTIC_ETHERSCAN_KEY,
  314. aurorascan: process.env.AURORASCAN_KEY,
  315. arbiscan: process.env.ARBISCAN_KEY,
  316. },
  317. };