@ikalasdev/erc20generator

1.3.8 • Public • Published

ERC20Generator

This package is used here https://ikalas.com/app/create-token-on-bsc

Installation

  1. 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 the npm init command.

  2. This module need to be in a hardhat project.
    create hardhat project with

npm install hardhat --save-dev
npx hardhat
  1. install the module using
npm install @ikalasdev/erc20generator

check soldity compiler version is >= 0.8.0 in hardhat.config.js

add require('@nomiclabs/hardhat-waffle') in your hardhat.config.js if you don't have it

Network

exemple of hardhat config for binance testnet:

module.exports = {
  solidity: "0.8.4",
  networks: {
    bsc: {
      url: `https://data-seed-prebsc-1-s1.binance.org:8545/`,
      accounts: [`${YOURPRIVATE_KEY}`]
    }
  }
};
  • you can specify the network to use with the --network flag.
npx hardhat run .\mySuperScript.js --network mySuperBlockchain
  • or you can specify the network rpc and the private key in the fonction parameters

Verification

you can specify in the parameters a etherscan api key to verify the contract and publish the source code on etherscan.io

  • work with polygonscan.com, bscscan.com... and their testnet.

Examples

//import the module
const erc20Generator = require('@ikalasdev/erc20generator');
//specify the contract properties
const parameters = {
            name: name,
            symbol: symbol,
            initialSupply: initialSupply,
            decimal: 18,
            
            //optional parameters

            options: ["burnable", "snapshots", "mintable", "pausable", "permit", "vote", "flashminting"],
            //if you have the holdersfee option you need to specify the fee
            feeForTransaction: "1",
            //you can add a tax to your transactions
            tax: {
                taxForTransaction: "1",  // 0.01% of the transaction will be charged
                address: addr1.address   // the address that will receive the tax
            },
            //you can specify the network name if you decare it in the hardhat.config.js
            network: "smartchain",
            // OR you can specify the the private key and (rpc or chainId)   
            privateKey: YOUR_PRIVATE_KEY,
            rpc: "https://data-seed-prebsc-1-s1.binance.org:8545/",
            chainId: "0x38" // hex value must start with 0x or decimal value
            futurOwner: "0x324..",
            //you can specify the etherscan api key
            etherscanApiKey: "YOUR_API_KEY"

};

generate new Contract to deploy

//contract contains all the information to deploy the contract (bytecode, abi, ...)
const contract = await erc20Generator.createERC20Contract(parameters);
//for example see https://docs.ethers.io/v4/api-contract.html to deploy it 

OR

directly deploy new erc20 contract with hardhat

//if you don't specify the privateKey and the rpc hardhat will use the default network in your hardhat.config.js
const token = await erc20Generator.deployERC20Contract(parameters);

Error

  • if you have a compilation error try to execute
npx hardhat clean

Logs

the lib will log the events in the file erc20generator.log

Want to see more ? Check the test code in the repository

Readme

Keywords

none

Package Sidebar

Install

npm i @ikalasdev/erc20generator

Weekly Downloads

1

Version

1.3.8

License

MIT

Unpacked Size

106 kB

Total Files

10

Last publish

Collaborators

  • lechiffre4
  • tlbail
  • malik-ikalas