-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathtruffle.js
39 lines (34 loc) · 950 Bytes
/
truffle.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
require('dotenv').config();
const _ = require("lodash");
const WalletProvider = require("truffle-wallet-provider");
const Wallet = require('ethereumjs-wallet');
const networks = ["rinkeby", "kovan", "ropsten", "mainnet"];
const infuraNetworks = _.fromPairs(_.compact(networks.map((network) => {
var envVarName = `${network.toUpperCase()}_PRIVATE_KEY`
var privateKeyHex = process.env[envVarName];
if(privateKeyHex) {
var privateKey = new Buffer(process.env[envVarName], "hex")
var wallet = Wallet.fromPrivateKey(privateKey);
var provider = new WalletProvider(wallet, `https://${network}.infura.io/`);
return [
network,
{
host: "localhost",
port: 8545,
network_id: "*",
gas: 4612388,
provider,
}
];
}
})));
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*"
},
...infuraNetworks,
}
};