FAQ - Create an Binance Smart Chain ERC20 Token
We are the solution that helps you deploy a Smart Contract in just one minute! No knowing how to code should not stop anyone from having a smart contract. We are here to make that happen.
We help you to create your own blockchain token (we call it Smart contract) on the Ethereum blockchain without having any knowledge of coding or technical background.
We help you to create your own blockchain token (we call it Smart contract) on the Ethereum blockchain without having any knowledge of coding or technical background.
You'll need a web3 enabled Ethereum wallet/browser such as Metamask. You can easily download and install Metamask extension in any browser.
Get MetaMask here!
Get MetaMask here!
After you create your tokens, you are the sole owner of all tokens. You have full control of your tokens and you can send it to anyone.
No, ERC20 tokens can be stored on a regular Ethereum address, where you would normally store your BSC. You can store multiple tokens on a single address.
ERC20 tokens are tokens created and transfered on the Binance Smart Chain network. ERC20 tokens are standardized in a way that enables all Ethereum wallets to send and receive tokens easily.
Your ERC20 token can be generated in just a few minutes. Sometimes it may take a bit longer when the Binance Smart Chain network is busy!
Absolutely not! We do everything for you.
If you'd like to know how, we generate the token's contract, compile it and deploy it to the blockchain for you. Once the token is deployed on the blockchain, we give you an interface where you can manage your tokens easily.
If you'd like to know how, we generate the token's contract, compile it and deploy it to the blockchain for you. Once the token is deployed on the blockchain, we give you an interface where you can manage your tokens easily.
All contracts generated by CryptoGenerator.io are based on Open Zeppelin contracts. Their source code is public and can be browsed here.
Since it's open source, several well known developers have contributed to improve the Open Zeppelin contracts and make them one of the most reliable Ethereum smart contracts.
If you want to see actual code, here you go!
Since it's open source, several well known developers have contributed to improve the Open Zeppelin contracts and make them one of the most reliable Ethereum smart contracts.
If you want to see actual code, here you go!
The CryptoGenerator.io interface allows you full intuitive control of your tokens. Unlike elsewhere, we let you do it with ease. All the features offered by your token can be managed from this interface, like transferring tokens to an address, minting tokens, burning tokens, or anything else you want!
Mintable / Burnable / Pausable / Role Access
pragma solidity ^0.8.0;
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol';
contract TokenERC20 is ERC20PresetMinterPauser {
constructor(string memory _name, string memory _symbol, uint _initialSupply) ERC20PresetMinterPauser(_name, _symbol) {
_mint(msg.sender, _initialSupply * (10 ** 18));
}
}
Mintable / Burnable / Pausable / Capped / Role Access
pragma solidity ^0.8.0;
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol';
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC20Capped.sol';
contract ERC20MintableCapped is ERC20PresetMinterPauser, ERC20Capped {
constructor(address _owner, string memory _name, string memory _symbol, uint _initialSupply, uint _totalSupply) ERC20PresetMinterPauser(_name, _symbol) ERC20Capped(_totalSupply * (10 ** 18)) {
ERC20._mint(_owner, _initialSupply * (10 ** 18));
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal override(ERC20, ERC20PresetMinterPauser) {
super._beforeTokenTransfer(from, to, amount);
}
function _mint(address account, uint256 amount) internal override (ERC20, ERC20Capped) {
require(hasRole(MINTER_ROLE, _msgSender()), "ERC20PresetMinterPauser: must have minter role to mint");
require(totalSupply() + amount <= cap(), "ERC20Capped: cap exceeded");
ERC20._mint(account, amount);
}
}
Fixed / Burnable
pragma solidity ^0.8.0;
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol';
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol';
contract ERC20Fixed is ERC20PresetFixedSupply {
constructor(address _owner, string memory _name, string memory _symbol, uint _totalSupply) ERC20PresetFixedSupply(_name, _symbol, _totalSupply * (10 ** 18), _owner) {
if (msg.sender != _owner) {
transferOwnership(_owner);
}
}
}
Fixed / Burnable / Pausable / Ownable
pragma solidity ^0.8.0;
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol';
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol';
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC20Pausable.sol';
contract ERC20FixedPausable is ERC20PresetFixedSupply, ERC20Pausable, Ownable {
constructor(address _owner, string memory _name, string memory _symbol, uint _initialSupply) ERC20PresetFixedSupply(_name, _symbol, _initialSupply * (10 ** 18), _owner) {
if (msg.sender != _owner) {
transferOwnership(_owner);
}
}
function pause() public onlyOwner {
_pause();
}
function unpause() public onlyOwner {
_unpause();
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal override(ERC20, ERC20Pausable) {
super._beforeTokenTransfer(from, to, amount);
}
}