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

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка BEP-20 токена (BNB Chain)
Простий
~2-3 дні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    919
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1147
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    609
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    884

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

BEP-20 — це версія ERC-20 для BNB Chain. Інтерфейс ідентичний, ABI сумісний, інструментарій той же — 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. Питання не в тому «як написати токен», а «яка функціональність потрібна вашому проекту». Типовий список:

Мінтинг та burn — управлювана емісія через 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% покриття ключових функцій), розгортання на testnet та mainnet, верифікація на BscScan, базова документація по функціях контракту. Терміни: 3–5 днів для стандартного токена без екзотичної логіки.