I am sending ether to multiple accounts and I want to send them without delay or waiting for confirmation of previous transaction.
const fs = require("fs");
const os = require("os");
const Web3 = require("web3");
const net = require('net');
const NODE_ADDRESS = "IPC";
const SEND_ACCOUNT = "ACC";
const PRIVATE_KEY = "PRI";
const INPUT_FILE = "CSV";
async function run() {
const web3 = new Web3(NODE_ADDRESS, net);
let nonce_count = await web3.eth.getTransactionCount(SEND_ACCOUNT);
const lines = fs.readFileSync(INPUT_FILE, {encoding: "utf8"}).split(os.EOL);
for (const line of lines) {
const [id, address, balance] = line.split(",");
const options = {
to : address,
value : balance,
gasPrice : 1000000000,
gas : 21000,
nonce : nonce_count
};
const signed = await web3.eth.accounts.signTransaction(options, PRIVATE_KEY);
const receipt = await web3.eth.sendSignedTransaction(signed.rawTransaction);
console.log("Address:",address,"Balance:",balance,"Nonce:",nonce_count);
nonce_count++
}
}
run();
Thanks in advance.
Best Answer
You can do it like so: