Instabuy
Instabuy NodeJSunknown
java
2 years ago
3.5 kB
17
Indexable
const fs = require("fs");
const { Web3 } = require("web3");
const prompt = require("prompt-sync")({ sigint: true });
const web3 = new Web3("https://data-seed-prebsc-1-s2.bnbchain.org:8545 ");
let settings;
try {
settings = JSON.parse(fs.readFileSync("./settings.json").toString());
console.log("JSON verified.");
} catch (err) {
console.error(err);
console.log("JSON can't be verified.");
process.exit(1); // Programı hata durumunda sonlandır
}
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
let contract = new web3.eth.Contract(
settings["abi"],
settings["presale_address"]
);
const buy = async (daccount) => {
await contract.methods
.contribute(
web3.utils.toWei(settings["fix_buy"], "ether"),
settings["token_address"]
)
.send({
from: daccount,
gasPrice: web3.utils.toWei(settings["gwei_param"], "gwei"),
// gasPrice: 5000000
});
};
const init = async () => {
for (let i = 0; i < settings["private_keys"].length; i++) {
web3.eth.accounts.wallet.clear();
console.log(settings["private_keys"][i]);
let privateKey = settings["private_keys"][i];
let account = web3.eth.accounts.wallet.add(privateKey);
web3.eth.defaultAccount = account[0]["address"];
console.log("Account added to wallet:", web3.eth.defaultAccount + ".");
console.log("Executing buy.");
// console.log(web3.utils.toWei(settings["gwei_param"], "gwei"))
try {
await buy(web3.eth.defaultAccount);
} catch (err) {
console.error("Error catched: ", err);
}
}
};
const test = async () => {
web3.eth.accounts.wallet.add(
"0x3a7e7864b54d01b47408b114c46e28198943f2e88044a3f482e964f44c4cbf0c"
);
web3.eth.defaultAccount = "0x11D3c1AFC7477a1A0676618511eBBf73D59F5FCD";
let encoded = contract.methods
.contribute(web3.utils.toWei("0.1", "ether"), settings["token_address"])
.encodeABI();
let block = await web3.eth.getBlock("latest");
const gasLimit = await contract.methods
.contribute(web3.utils.toWei("0.1", "ether"), settings["token_address"])
.estimateGas({ from: "0x11D3c1AFC7477a1A0676618511eBBf73D59F5FCD" });
let gasPrice = await web3.eth.getGasPrice();
let nonce = await web3.eth.getTransactionCount(
"0x11D3c1AFC7477a1A0676618511eBBf73D59F5FCD",
"latest"
);
let tx = {
nonce: nonce,
gas: gasLimit,
gasPrice: gasPrice,
from: "0x11D3c1AFC7477a1A0676618511eBBf73D59F5FCD",
to: "0x7c904f88f15595a11a98b21d4708193c48fb265a",
value: web3.utils.toWei("0.1", "ether"),
data: encoded,
};
web3.eth.accounts
.signTransaction(
tx,
"0x0bcb901de31ce5d7f0afd90c121721f0899c59756caa2d0659d8b851234c9af7"
)
.then((signed) => {
web3.eth
.sendSignedTransaction(signed.rawTransaction)
.on("receipt", console.log);
});
// web3.eth.accounts.wallet.add(
// "0x3a7e7864b54d01b47408b114c46e28198943f2e88044a3f482e964f44c4cbf0c"
// );
// web3.eth.defaultAccount = "0xfc66876365b7b04f091c6d99f76368293E3d9a9c";
// await contract.methods
// .contribute(
// web3.utils.toWei(settings["fix_buy"], "ether"),
// settings["token_address"]
// )
// .send({
// from: "0xfc66876365b7b04f091c6d99f76368293E3d9a9c",
// gas: web3.utils.toWei(settings["gwei_param"], "gwei"),
// });
};
test();
Editor is loading...