Files
openzeppelin-contracts/contracts/token/ERC20/README.md
Francisco Giordano aa878d8b69 New guides (#1792)
* Improved tokens guide, add ERC777.

* Fix typo.

* Add release schedule and api stability.

* Add erc20 supply guide.

* Revamp get started

* Add Solidity version to examples

* Update access control guide.

* Add small disclaimer to blog guides

* Update tokens guide.

* Update docs/access-control.md

Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>

* Update docs/access-control.md

Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>

* Update docs/access-control.md

Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>

* Documentation: Typos and add npm init -y to setup instructions (#1793)

* Fix typos in GameItem ERC721 sample contract

* Add npm init -y to create package.json

* Address review comments.

(cherry picked from commit 852e11c2db)
2019-06-26 03:37:14 -03:00

1.5 KiB

sections
sections
title contracts
Core
IERC20
ERC20
ERC20Detailed
title contracts
Extensions
ERC20Mintable
ERC20Burnable
ERC20Pausable
ERC20Capped
title contracts
Utilities
SafeERC20
TokenTimelock

This set of interfaces, contracts, and utilities are all related to the ERC20 Token Standard.

For an overview of ERC20 tokens and a walkthrough on how to create a token contract read our ERC20 guide.

There a few core contracts that implement the behavior specified in the EIP:

  • IERC20: the interface all ERC20 implementations should conform to
  • ERC20: the base implementation of the ERC20 interface
  • ERC20Detailed: includes the name(), symbol() and decimals() optional standard extension to the base interface

Additionally there are multiple custom extensions, including:

  • designation of addresses that can create token supply (ERC20Mintable), with an optional maximum cap (ERC20Capped)
  • destruction of own tokens (ERC20Burnable)
  • designation of addresses that can pause token operations for all users (ERC20Pausable).

Finally, there are some utilities to interact with ERC20 contracts in various ways.

  • SafeERC20 is a wrapper around the interface that eliminates the need to handle boolean return values.
  • TokenTimelock can hold tokens for a beneficiary until a specified time.

This page is incomplete. We're working to improve it for the next release. Stay tuned!