-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Core Ethers Contract Factory Deployment in Json
64 lines (43 loc) · 1.38 KB
/
Core Ethers Contract Factory Deployment in Json
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
deploy smart contract
deploy.js
const ethers= require ("ethers");
const fs= require ("fs-extra");
require ("dotenv").config();
async function main() {
const provider= new
ethers.providers.Json.RpcProvider (process.env.RPC_URL);
const encrypted Json=
fs.readFilesSync(./.encrypterKey.Json"/ "utf8");
let wallet= new
ethers.Wallet.fromEncryptedJsonSync(encryptedJson,
process.env.PRIVATE_KEY_PASSWORD);
wallet=await
wallet.connect(0xcE92DcBB80b9372dd0dD526Aa822388fB7d6D7b8);
const abi=
fs.readFileSync("./AngelNetCoin_sol_AngelNetCoin.abi;"," utf8");
const binary=
fs.readFileSync(",/AngelNetCoin_sol_AngelNetCoin.bin","utf8");
const contractFactory= new
ethers.AngelNetCoinFactory(abi, binary,wallet);
console.log("startdeployment:");
const contract= await
AngelNetCoinFactory.deployment();
}
main()
.then(()=>process.exit(0))
.catch((error);
.process.exit(1);
});
const nonce= await
wallet.getTransationCount();//next
transaction index
const tx= { nonce:nonce, gas price: 1000000000.//from Ganache
gas limit: 10000,
to:null//we are creating a contract so we are not sending crypto to someone else
value:20000ETH,//we are creating a contract so we are not sending crypto
data: "0x<BINARY_CONTENT>",//
requires 0x in front of the binary
"ChainID:1337,// network ID on Ganache
};
const signedTxResponse= await
wallet.signTransaction(Tx);