Разработка BEP-20 токена (BNB Chain)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка BEP-20 токена (BNB Chain)
Простая
~2-3 рабочих дня
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Разработка BEP-20 токена (BNB Chain)

BEP-20 — это BNB Chain версия ERC-20. Интерфейс идентичен, ABI совместим, tooling тот же — Hardhat или Foundry с небольшими изменениями в конфиге сети. Если вы уже разрабатывали ERC-20 токены — BEP-20 займёт минимум времени на адаптацию.

Принципиальное отличие: BNB Smart Chain (BSC) использует Proof of Staked Authority (PoSA) с 21 валидатором вместо тысяч нод Ethereum. Это даёт быстрые блоки (3 секунды) и дешёвые транзакции ($0.01–0.05 за обычный transfer), но ценой более централизованной сети.

Что реально нужно в BEP-20 токене

Базовый токен — это 30 строк поверх OpenZeppelin ERC20. Вопрос не в том «как написать токен», а «какая функциональность нужна вашему проекту». Типичный список:

Минтинг и бёрн — управляемая эмиссия через AccessControl:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol";

contract MyBEP20Token is ERC20, AccessControl, ERC20Permit, ERC20Votes {
    bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
    
    uint256 public constant MAX_SUPPLY = 1_000_000_000 * 10**18;  // 1B токенов
    
    constructor(address initialAdmin) 
        ERC20("MyToken", "MTK") 
        ERC20Permit("MyToken") 
    {
        _grantRole(DEFAULT_ADMIN_ROLE, initialAdmin);
        _grantRole(MINTER_ROLE, initialAdmin);
    }
    
    function mint(address to, uint256 amount) external onlyRole(MINTER_ROLE) {
        require(totalSupply() + amount <= MAX_SUPPLY, "Exceeds max supply");
        _mint(to, amount);
    }
    
    function burn(uint256 amount) external {
        _burn(msg.sender, amount);
    }
    
    // Нужно для ERC20Votes + ERC20Permit совместимости
    function _afterTokenTransfer(address from, address to, uint256 amount)
        internal override(ERC20, ERC20Votes) {
        super._afterTokenTransfer(from, to, amount);
    }

    function _mint(address to, uint256 amount)
        internal override(ERC20, ERC20Votes) {
        super._mint(to, amount);
    }

    function _burn(address account, uint256 amount)
        internal override(ERC20, ERC20Votes) {
        super._burn(account, amount);
    }
}

ERC20Permit добавляет gasless approvals через подписи (EIP-2612) — это важно для UX. ERC20Votes — если токен планируется использовать в governance.

Деплой на BSC

// hardhat.config.js
module.exports = {
  networks: {
    bsc: {
      url: "https://bsc-dataseed1.binance.org",
      chainId: 56,
      accounts: [process.env.PRIVATE_KEY],
    },
    bscTestnet: {
      url: "https://data-seed-prebsc-1-s1.binance.org:8545",
      chainId: 97,
      accounts: [process.env.PRIVATE_KEY],
    }
  },
  etherscan: {
    apiKey: {
      bsc: process.env.BSCSCAN_API_KEY,
      bscTestnet: process.env.BSCSCAN_API_KEY,
    }
  }
}

Верификация контракта на BscScan обязательна — пользователи будут проверять код перед покупкой.

Что входит в работу

Разработка, тесты (100% coverage ключевых функций), деплой на testnet и mainnet, верификация на BscScan, базовая документация по функциям контракта. Срок: 3–5 дней для стандартного токена без экзотической логики.