ERC-20 — это базовый стандарт токенов в сети Ethereum. Именно по нему работают тысячи криптопроектов: от utility-токенов до стейблкоинов. Если нужно создать собственный токен, важно не просто “написать контракт”, а сделать это безопасно и по стандарту.
Что такое ERC-20
ERC-20 — это набор обязательных функций и событий, которые делают токен совместимым с кошельками, биржами и DeFi-протоколами.
Ключевые функции стандарта:
- totalSupply() — общее количество токенов
- balanceOf(address) — баланс адреса
- transfer(address,uint256) — перевод токенов
- approve(address,uint256) — разрешение на трату
- allowance(address,address) — проверка разрешения
- transferFrom(address,address,uint256) — перевод от имени владельца
Самый правильный путь — через OpenZeppelin
Писать ERC-20 полностью вручную можно, но на практике безопаснее использовать проверенные библиотеки. OpenZeppelin — индустриальный стандарт для смарт-контрактов. Это снижает риск ошибок и упрощает аудит. 🔐
Пример простого ERC-20 токена на Solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
_mint(msg.sender, initialSupply * 10 ** decimals());
}
}
Как это работает
- ERC20("MyToken", "MTK") — задаёт имя и тикер токена
- initialSupply — стартовая эмиссия
- _mint(...) — выпускает токены на адрес создателя
- decimals() обычно равен 18, как у ETH
Если передать в конструктор 1000000, будет создан 1 млн токенов с учётом 18 знаков после запятой.
Что нужно для деплоя
- Solidity IDE Remix или Hardhat
- MetaMask
- Небольшое количество ETH для оплаты газа
- Сеть: Ethereum, Base, Arbitrum, BNB Chain или другая EVM-сеть 🚀
На что обратить внимание
- Не добавляйте функции mint и burn, если не понимаете их влияние на токеномику
- Проверяйте, кто владеет правами администратора
- Если токен будет публичным, нужен аудит
- Название, тикер и эмиссию лучше определить заранее
- Для листинга и интеграций контракт должен строго соответствовать стандарту
Частые ошибки новичков
- Неправильный расчёт эмиссии без учёта decimals
- Использование непроверенного кода из случайных источников
- Отсутствие тестов перед деплоем
- Развёртывание сразу в mainnet без проверки в testnet ⚠️
Итог
Создать ERC-20 токен с нуля на Solidity несложно, если использовать OpenZeppelin и соблюдать базовые правила безопасности. Технически минимальный токен занимает всего несколько строк кода, но реальная ценность проекта — в прозрачной логике, токеномике и доверии пользователей. 📈
Подборку каналов про криптовалюты — с новостями, аналитикой и практикой по токенам, DeFi и блокчейну — стоит посмотреть отдельно.