diff --git a/truffle-config.js b/truffle-config.js new file mode 100644 index 0000000..f951034 --- /dev/null +++ b/truffle-config.js @@ -0,0 +1,81 @@ +/** + * Use this file to configure your truffle project. It's seeded with some + * common settings for different networks and features like migrations, + * compilation and testing. Uncomment the ones you need or modify + * them to suit your project as necessary. + * + * More information about configuration can be found at: + * + * trufflesuite.com/docs/advanced/configuration + * + * To deploy via Infura you'll need a wallet provider (like @truffle/hdwallet-provider) + * to sign your transactions before they're sent to a remote public node. Infura accounts + * are available for free at: infura.io/register. + * + * You'll also need a mnemonic - the twelve word phrase the wallet uses to generate + * public/private key pairs. If you're publishing your code to GitHub make sure you load this + * phrase from a file you've .gitignored so it doesn't accidentally become public. + * + */ + +// const HDWalletProvider = require('@truffle/hdwallet-provider'); +// const infuraKey = "fj4jll3k....."; +// +// const fs = require('fs'); +// const mnemonic = fs.readFileSync(".secret").toString().trim(); +const HDWalletProvider = require('@truffle/hdwallet-provider'); +const mnemonic = process.env.MNEMONIC; +console.log(`mnemonic: ${mnemonic}`); + +module.exports = { + /** + * Networks define how you connect to your ethereum client and let you set the + * defaults web3 uses to send transactions. If you don't specify one truffle + * will spin up a development blockchain for you on port 9545 when you + * run `develop` or `test`. You can ask a truffle command to use a specific + * network from the command line, e.g + * + * $ truffle test --network + */ + + networks: { + development: { + host: "127.0.0.1", // Localhost (default: none) + port: 8545, // Standard Ethereum port (default: none) + network_id: "1610296376440", // Any network (default: none) + }, + rinkeby: { + provider: () => new HDWalletProvider(mnemonic, `https://rinkeby.infura.io/v3/${process.env.INFURA_KEY`), + network_id: 4, + gas: 5500000, + confirmations: 2, + timeoutBlocks: 200, + skipDryRun: true + }, + ubiq: { + provider: () => new HDWalletProvider(mnemonic, "https://rpc.octano.dev"), + gas: 5500000, + network_id: 88, + confirmations: 2, + timeoutBlocks: 200, + skipDryRun: true + } + }, + + // Set default mocha options here, use special reporters etc. + mocha: { + // timeout: 100000 + }, + + // Configure your compilers + compilers: { + solc: { + settings: { + optimizer: { + enabled: true, + runs: 200, + } + } + } + } +};