This repository has been archived by the owner on Jan 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathtruffle.js
70 lines (63 loc) · 2.73 KB
/
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
var bip39 = require("bip39");
var hdkey = require('ethereumjs-wallet/hdkey');
var ProviderEngine = require("web3-provider-engine");
var WalletSubprovider = require('web3-provider-engine/subproviders/wallet.js');
var Web3Subprovider = require("web3-provider-engine/subproviders/web3.js");
var Web3 = require("web3");
// Get our mnemonic and create an hdwallet
var mnemonic = require('./mnemonic.js');
var hdwallet = hdkey.fromMasterSeed(bip39.mnemonicToSeed(mnemonic.mnemonic()));
// Get the first account using the standard hd path.
var wallet_hdpath = "m/44'/60'/0'/0/";
var wallet = hdwallet.derivePath(wallet_hdpath + "0").getWallet();
var address = "0x" + wallet.getAddress().toString("hex");
console.log("using address: " + address)
var providerUrl = "https://rinkeby.infura.io";
var testnet_engine = new ProviderEngine();
testnet_engine.addProvider(new WalletSubprovider(wallet, {}));
testnet_engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(providerUrl)));
testnet_engine.start(); // Required by the provider engine.
var providerUrl = "https://ropsten.infura.io";
var ropsten_engine = new ProviderEngine();
ropsten_engine.addProvider(new WalletSubprovider(wallet, {}));
ropsten_engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(providerUrl)));
ropsten_engine.start(); // Required by the provider engine.
var providerUrl = "https://mainnet.infura.io";
var mainnet_engine = new ProviderEngine();
mainnet_engine.addProvider(new WalletSubprovider(wallet, {}));
mainnet_engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(providerUrl)));
mainnet_engine.start(); // Required by the provider engine.
module.exports = {
migrations_directory: "./migrations",
networks: {
ropsten: {
network_id: 3, // Official ropsten network id
provider: ropsten_engine, // Use our custom provider
from: address, // Use the address we derived
gasPrice: '0x2756CD00' , /// .66 gwei
gasPrice: '0x24E160300' , /// 9.9 gwei
},
rinkeby: {
network_id: 4, // Official rinkeby network id
provider: testnet_engine, // Use our custom provider
from: address, // Use the address we derived
gasPrice: '0x2756CD00' , /// .66 gwei
gasPrice: '0x24E160300' , /// 9.9 gwei
},
mainnet: {
network_id: 1, // Official mainnet network id
provider: mainnet_engine, // Use our custom provider
from: address, // Use the address we derived
//gasPrice: '0x13AB6680' , /// 33 gwei
gasPrice: '0x38fa6ae00' , /// 66 gwei
},
development: {
host: "localhost",
port: 8545,
network_id: "*",
from: "0xd3d280c2866eaa795fc72bd850c48e7cce166e23",
gasLimit: 0xfffffffffff,
gasPrice: 0x01
}
}
};