ERC 20

Template: ERC20

Description: An ERC20 token contract keeps track of fungible tokens: any one token is exactly equal to any other token; no tokens have special rights or behavior associated with them. This makes ERC20 tokens useful for things like a medium of exchange currency, voting rights, staking, and more.

Inputs:

  1. Platform Setting

    • Chain: Network to deploy contract

    • Custodial Wallet: Custodial wallet to deploy contract

  2. Contract Setting

    • Contract Name: Name for the contract

    • Contract Symbol: Symbol for the contract

    • Premint: Create an initial amount of tokens for the deployer

  3. Features

    • Mintable: Privileged accounts will be able to create more supply.

    • Burnable: Token holders will be able to destroy their tokens.

    • Pausable: Privileged accounts will be able to pause the functionality marked as whenNotPaused. Useful for emergency response.

    • Permit: Token holders will be able to allow third parties to transfer from their account without paying gas.

    • Votes: Keeps track of historical balances for voting in on-chain governance, with a way to delegate voting power to a trusted account.

    • Flash Minting: Built-in flash loans. Lend tokens without requiring collateral as long as they're returned in the same transaction.

    • Snapshots: Privileged accounts will be able to store snapshots of balances that can be retrieved later. For on-chain voting, the Votes option is preferable.

  4. Access Control

    • Ownable: Simple mechanism with a single account authorized for all privileged actions.

    • Roles: Flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.

  5. Upgradeability

    • Transport: Uses a more complex proxy with higher overhead, requires fewer changes in your contract. Can also be used with beacons.

    • UUPS: Uses a simpler proxy with less overhead, requires including extra code in your contract. Allows flexibility for authorizing upgrades.

  6. Info

    • Contact: Contact information where people can report security issues. Only visible if contract metadata is verified.

    • License: Information about the license for the contract..

Last updated