truffle-config.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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: 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: () =>
  73. new HDWalletProvider(
  74. process.env.MNEMONIC,
  75. "https://data-seed-prebsc-1-s1.binance.org:8545"
  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. optimism: {
  169. provider: () => {
  170. return new HDWalletProvider(process.env.MNEMONIC, "https://1rpc.io/op");
  171. },
  172. network_id: 10,
  173. },
  174. optimism_goerli: {
  175. provider: () => {
  176. return new HDWalletProvider(
  177. process.env.MNEMONIC,
  178. "https://opt-goerli.g.alchemy.com/v2/demo"
  179. );
  180. },
  181. network_id: 420,
  182. },
  183. fantom: {
  184. provider: () => {
  185. return new HDWalletProvider(
  186. process.env.MNEMONIC,
  187. "https://rpc.ftm.tools/"
  188. );
  189. },
  190. network_id: 250,
  191. gas: 8000000,
  192. gasPrice: 3000000000,
  193. timeoutBlocks: 15000,
  194. },
  195. fantom_testnet: {
  196. provider: () => {
  197. return new HDWalletProvider(
  198. process.env.MNEMONIC,
  199. "https://rpc.testnet.fantom.network/"
  200. );
  201. },
  202. network_id: 0xfa2,
  203. gas: 8000000,
  204. gasPrice: 300000000000,
  205. },
  206. celo: {
  207. provider: () => {
  208. return new HDWalletProvider(
  209. process.env.MNEMONIC,
  210. "https://forno.celo.org"
  211. );
  212. },
  213. network_id: 42220,
  214. },
  215. celo_alfajores_testnet: {
  216. provider: () => {
  217. return new HDWalletProvider(
  218. process.env.MNEMONIC,
  219. "https://alfajores-forno.celo-testnet.org"
  220. );
  221. },
  222. network_id: 44787,
  223. },
  224. },
  225. compilers: {
  226. solc: {
  227. version: "0.8.4",
  228. settings: {
  229. optimizer: {
  230. enabled: true,
  231. runs: 10000,
  232. },
  233. },
  234. },
  235. },
  236. plugins: [
  237. "@chainsafe/truffle-plugin-abigen",
  238. "truffle-plugin-verify",
  239. "truffle-contract-size",
  240. ],
  241. api_keys: {
  242. etherscan: process.env.ETHERSCAN_KEY,
  243. bscscan: process.env.BSCSCAN_KEY,
  244. snowtrace: process.env.SNOWTRACE_KEY,
  245. ftmscan: process.env.FTMSCAN_KEY,
  246. polygonscan: process.env.POLYGONSCAN_KEY,
  247. optimistic_etherscan: process.env.OPTIMISTIC_ETHERSCAN_KEY,
  248. aurorascan: process.env.AURORASCAN_KEY,
  249. arbiscan: process.env.ARBISCAN_KEY,
  250. },
  251. };