truffle-config.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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: 4465030,
  57. gasPrice: 10000000000,
  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: 33000000000,
  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: 26000000000,
  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. },
  141. aurora_testnet: {
  142. provider: () => {
  143. return new HDWalletProvider(
  144. process.env.MNEMONIC,
  145. "https://testnet.aurora.dev"
  146. )
  147. },
  148. network_id: 0x4e454153,
  149. gas: 10000000,
  150. from: "0xC42e9476b0a458097087336e2395Dbf45B0BdC12", // public key
  151. },
  152. arbitrum: {
  153. provider: () => {
  154. return new HDWalletProvider(
  155. process.env.MNEMONIC,
  156. "https://arb1.arbitrum.io/rpc"
  157. );
  158. },
  159. network_id: 42161,
  160. },
  161. optimism: {
  162. provider: () => {
  163. return new HDWalletProvider(
  164. process.env.MNEMONIC,
  165. "https://mainnet.optimism.io"
  166. );
  167. },
  168. network_id: 10,
  169. },
  170. fantom: {
  171. provider: () => {
  172. return new HDWalletProvider(
  173. process.env.MNEMONIC,
  174. "https://rpc.ftm.tools/"
  175. )
  176. },
  177. network_id: 250,
  178. gas: 8000000,
  179. gasPrice: 30000000000,
  180. timeoutBlocks: 15000,
  181. },
  182. fantom_testnet: {
  183. provider: () => {
  184. return new HDWalletProvider(
  185. process.env.MNEMONIC,
  186. "https://rpc.testnet.fantom.network/"
  187. )
  188. },
  189. network_id: 0xfa2,
  190. gas: 4465030,
  191. gasPrice: 300000000000,
  192. },
  193. celo: {
  194. provider: () => {
  195. return new HDWalletProvider(
  196. process.env.MNEMONIC,
  197. "https://forno.celo.org"
  198. )
  199. },
  200. network_id: 42220,
  201. },
  202. celo_alfajores_testnet: {
  203. provider: () => {
  204. return new HDWalletProvider(
  205. process.env.MNEMONIC,
  206. "https://alfajores-forno.celo-testnet.org"
  207. )
  208. },
  209. network_id: 44787,
  210. },
  211. },
  212. compilers: {
  213. solc: {
  214. version: "0.8.4",
  215. settings: {
  216. optimizer: {
  217. enabled: true,
  218. runs: 200,
  219. },
  220. },
  221. },
  222. },
  223. plugins: ["@chainsafe/truffle-plugin-abigen", "truffle-plugin-verify"],
  224. api_keys: {
  225. etherscan: process.env.ETHERSCAN_KEY,
  226. bscscan: process.env.BSCSCAN_KEY,
  227. snowtrace: process.env.SNOWTRACE_KEY,
  228. ftmscan: process.env.FTMSCAN_KEY,
  229. polygonscan: process.env.POLYGONSCAN_KEY,
  230. optimistic_etherscan: process.env.OPTIMISTIC_ETHERSCAN_KEY,
  231. aurorascan: process.env.AURORASCAN_KEY,
  232. arbiscan: process.env.ARBISCAN_KEY,
  233. },
  234. };