-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.js
33 lines (27 loc) · 821 Bytes
/
deploy.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
require('dotenv').config()
const HDWalletProvider = require('@truffle/hdwallet-provider');
const { Web3 } = require('web3');
const { interface, bytecode } = require('./compile');
const provider = new HDWalletProvider(
process.env.SECRET_PHRASE_METAMASK,
process.env.API_ENDPOINT_INFURA
);
const web3 = new Web3(provider);
const deploy = async () => {
const accounts = await web3.eth.getAccounts();
console.log(accounts)
console.log('Attempting to deploy from account', accounts[0]);
try{
const result = await new web3.eth.Contract(JSON.parse(interface))
.deploy({ data: bytecode })
.send({ gas: '1000000', from: accounts[0] });
console.log('Contract deployed to', result.options.address);
}
catch(e){
console.log(e)
}
finally {
provider.engine.stop();
}
};
deploy();