-
Notifications
You must be signed in to change notification settings - Fork 8
/
hardhat.config.js
77 lines (70 loc) · 1.99 KB
/
hardhat.config.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
71
72
73
74
75
76
77
require("@nomiclabs/hardhat-ethers");
require("@nomiclabs/hardhat-waffle");
require("@nomiclabs/hardhat-web3");
// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("hello", "Prints Hello World", () => console.log("Hello World!"));
task("accounts", "Prints the list of accounts", async () => {
const accounts = await ethers.getSigners();
for (const account of accounts) {
console.log(account.address);
}
});
task("deploy", "Deploys Contract", async () => {
const contract = await ethers.getContractFactory("dMarket");
const dMarketContract = await contract.deploy();
await dMarketContract.deployed();
console.log("dMarket contract deployed to:", dMarketContract.address);
});
task("balance", "Prints an account's balance")
.addParam("account", "The account's address")
.setAction(async (taskArgs) => {
const account = web3.utils.toChecksumAddress(taskArgs.account);
const balance = await web3.eth.getBalance(account);
console.log(web3.utils.fromWei(balance, "ether"), "ETH");
});
module.exports = {
defaultNetwork: "local",
networks: {
hardhat: {
chainId: 1337
},
local: {
url: "http://127.0.0.1:8545",
},
rinkeby: {
url: "", // rpc providers: infura, alchemy
accounts: [] // private keys
},
ropsten: {
url: "", // rpc providers: infura, alchemy
accounts: [] // private keys
},
polygonTest: {
url: "https://rpc-mumbai.maticvigil.com/", // rpc providers: polygon, infura, alchemy
accounts: []
},
polygonMain: {
url: "https://rpc-mainnet.maticvigil.com", // rpc providers: infura,polygon, alchemy
accounts: []
}
},
solidity: {
version: "0.8.3",
settings: {
optimizer: {
enabled: true,
runs: 200
}
}
},
paths: {
sources: "./contracts",
tests: "./test",
cache: "./cache",
artifacts: "./client/src/artifacts"
},
mocha: {
timeout: 20000
}
}