@ikalasdev/multisender
v1.1.5
Published
Send BNB or BEP20 tokens to multiple addresses in single transaction. Available on the Binance Smart Chain.
Downloads
23
Readme
MultiSender
- This package is used here https://ikalas.com/app/bsc-token-multisender
- Send BNB or BEP20 tokens to multiple addresses in single transaction.
Installation
This is a Node.js module available through the npm registry. Before installing, download and install Node.js. If this is a brand new project, make sure to create a
package.json
first with thenpm init
command.This module need to be in a hardhat project.
create hardhat project with
npm install hardhat --save-dev
npx hardhat
- install the module using
npm install @ikalasdev/multisender
Usage
if you want to send to a lot of addresses the module need to split the transaction in multiple ones. you can specify the chunk size using :
multisender.setChunkSize(500);
the module offer a methode to get the best chunk size for your transaction.
multisender.getBestChunkSize(address, amounts, tokenToSend);
the methode search by default between 100 and 1000 addresses or lower. you can change the boundary using:
multisender.getBestChunkSize(address, amounts, tokenToSend, mininumBoundary, maximumBoundary);
Examples
const multisender = require('@ikalasdev/multisender');
const rpcUrl = "https://data-seed-prebsc-1-s1.binance.org:8545/";
const multiSenderContractAdress = "0xBbF1e343953e749d7f00C68bE3FA64E1e044f4d4";
await multisender.init(multiSenderContractAdress, rpcUrl, SENDER_PUBLIC_KEY);
const estimation = await multisender.estimate( [addr1.address], [ethers.utils.parseEther("1")], token.address);
console.log("gas cost: ", estimation.gas);
console.log("fee: ", estimation.fee);
const transaction = await multisender.createTransaction(
[addr1.address],
[ethers.utils.parseEther("1")],
token.address);
// sign and send the transaction
await clientSigner.sendTransaction(transaction);
utils
const decimal = await getDecimal(tokenAddress); //you must have called init before to provide a network
Want to see more ? Check the test code in the repository