* 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.
39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
---
|
|
sections:
|
|
- title: Core
|
|
contracts:
|
|
- IERC20
|
|
- ERC20
|
|
- ERC20Detailed
|
|
- title: Extensions
|
|
contracts:
|
|
- ERC20Mintable
|
|
- ERC20Burnable
|
|
- ERC20Pausable
|
|
- ERC20Capped
|
|
- title: Utilities
|
|
contracts:
|
|
- SafeERC20
|
|
- TokenTimelock
|
|
---
|
|
|
|
This set of interfaces, contracts, and utilities are all related to the [ERC20 Token Standard](https://eips.ethereum.org/EIPS/eip-20).
|
|
|
|
*For an overview of ERC20 tokens and a walkthrough on how to create a token contract read our [ERC20 guide](../../tokens#erc20).*
|
|
|
|
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!
|