Как написать ERC-20 токен с нуля на Solidity

Объясняем крипту простыми словами: как купить первый раз, безопасно хранить, переводить и не нарушать закон в РФ. Делаем пошаговые гайды, чек‑листы и разборы метрик CoinMarketCap/Gecko без шума и хайпа. Наша цель — ваша безопасность, понимание рисков и уверенные действия в мире цифровых активов.

erc-20solidityopenzeppelin

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 и блокчейну — стоит посмотреть отдельно.

🫵 Подборка каналов
🐋 Каталог ботов и приложений
🛩 Навигация

Читайте так же