Запуск TRC-20 токенів на Tron: від контракту до лістингу

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

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

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

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

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

Повний цикл розробки TRC-20 токенів

Ви розробили прототип DeFi-протоколу на Ethereum, але транзакційні витрати з'їдають бюджет? Або потрібно зробити масову роздачу токенів користувачам з Азії? В обох випадках варто придивитися до Tron — блокчейну, де живе найбільший пул USDT, а комісії в десятки разів нижчі за ефіріумні. Ми спеціалізуємося на розробці смарт-контрактів для Tron і випустили понад 50 TRC-20 токенів — від DeFi до NFT. TRC-20 — стандарт токенів на Tron, навмисно скопійований з ERC-20 (див. документацію Tron протоколу). Якщо ви знайомі з Solidity та OpenZeppelin, розробка TRC-20 займає дні, а не тижні.

Коли Tron вигідніший за Ethereum?

Tron пропонує в 10 разів нижчі комісії порівняно з Ethereum, що критично для високочастотних транзакцій або масових виплат. Крім того, аудиторія в Азії активно використовує Tron-гаманці (TronLink). Вибір Tron виправданий, коли ваш проєкт орієнтований на роздрібних користувачів з низьким бюджетом на газ. Наприклад, гра з тисячами щоденних транзакцій: на Ethereum ви заплатите $1-5 за кожну, на Tron — $0.01-0.05. Економія понад 90% на комісіях — це не маркетинг, а розрахунок. Крім того, швидкість блоків у Tron у 4 рази вища (3 секунди проти 12 секунд у Ethereum), що забезпечує майже миттєве підтвердження транзакцій.

У чому відмінності TRC-20 від ERC-20?

Tron використовує Solidity-сумісний компілятор — більшість ERC-20 коду переноситься без змін. Але є принципові відмінності:

Energy та Bandwidth замість Gas — в Tron два ресурси:

  • Bandwidth — для звичайних переказів TRX. Кожен акаунт отримує ~600 bandwidth безкоштовно на день.
  • Energy — для виконання смарт-контрактів. Можна заморозити TRX щоб отримати Energy, або платити TRX безпосередньо.

Типова транзакція TRC-20 transfer коштує ~10–30 energy. Деплой контракту — кілька тисяч. При дефіциті Energy транзакція все одно виконається, але користувач платить TRX за ринковим курсом Energy.

TRC-20 vs TRC-10 — TRC-10 це native token без смарт-контракту (як TRX, тільки custom). TRC-20 — смарт-контракт з ERC-20 інтерфейсом. Для більшості use cases потрібен TRC-20.

Адреси — Tron адреси починаються з T (Base58Check encoding), не hex як Ethereum. В коді смарт-контракту адреси ті ж 20 байт, просто представлення різне.

Порівняння TRC-20 та ERC-20

Характеристика TRC-20 (Tron) ERC-20 (Ethereum)
Ресурси Energy/Bandwidth Gas
Вартість транзакції ~$0.01-0.05 (Energy) ~$1-5+ (Gas)
Швидкість блоків ~3 секунди ~12 секунд
Підтримка гаманців TronLink, TronWallet MetaMask, WalletConnect

Порівняння вартості деплою та переказу

Операція Tron Ethereum
Деплой контракту ~$5-10 ~$100-500
Простий переказ ~$0.01-0.05 ~$1-5
Виклик смарт-контракту ~$0.01 ~$2-10

Як ми розробляємо токени

Наш процес включає:

  1. Аналіз вимог — визначення функціоналу (mint/burn, pausable, snapshot).
  2. Написання контракту — використовуємо Solidity 0.8.x з OpenZeppelin або пишемо з нуля.
  3. Тестування на Shasta testnet — покриваємо основні сценарії transfer, approve, та edge cases.
  4. Деплой та верифікація — публікуємо код на Tronscan, верифікуємо контракт.
  5. Інтеграція — підключаємо TronWeb до вашого frontend/backend.
  6. Документація — надаємо опис методів та адреси.

Технічна реалізація: приклад контракту та деплой

Приклад контракту

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

// На Tron використовується tronide.io або TronBox
// Імпорти OpenZeppelin працюють через TronBox

contract MyTRC20 {
    string public name;
    string public symbol;
    uint8 public decimals = 6;  // 6 decimals — норма для Tron (як USDT TRC-20)
    uint256 public totalSupply;
    
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    
    constructor(
        string memory _name,
        string memory _symbol,
        uint256 _initialSupply
    ) {
        name = _name;
        symbol = _symbol;
        totalSupply = _initialSupply * 10 ** decimals;
        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }
    
    function transfer(address to, uint256 value) external returns (bool) {
        require(balanceOf[msg.sender] >= value, "Insufficient balance");
        balanceOf[msg.sender] -= value;
        balanceOf[to] += value;
        emit Transfer(msg.sender, to, value);
        return true;
    }
    
    function approve(address spender, uint256 value) external returns (bool) {
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }
    
    function transferFrom(address from, address to, uint256 value) external returns (bool) {
        require(balanceOf[from] >= value, "Insufficient balance");
        require(allowance[from][msg.sender] >= value, "Insufficient allowance");
        balanceOf[from] -= value;
        balanceOf[to] += value;
        allowance[from][msg.sender] -= value;
        emit Transfer(from, to, value);
        return true;
    }
}

Деплой через TronBox

// migrations/2_deploy_token.js
const MyTRC20 = artifacts.require("MyTRC20");

module.exports = function(deployer, network, accounts) {
    deployer.deploy(
        MyTRC20,
        "My Token",
        "MTK",
        1000000  // 1 млн токенів
    );
};
# tronbox-config.js — конфігурація мережі
module.exports = {
    networks: {
        shasta: {  // тестнет
            privateKey: process.env.PRIVATE_KEY,
            userFeePercentage: 100,
            feeLimit: 1000000000,  // 1000 TRX max fee
            fullHost: "https://api.shasta.trongrid.io",
            network_id: "2"
        },
        mainnet: {
            privateKey: process.env.PRIVATE_KEY_MAINNET,
            userFeePercentage: 100,
            feeLimit: 1000000000,
            fullHost: "https://api.trongrid.io",
            network_id: "1"
        }
    }
};

# Деплой
tronbox migrate --network shasta

Як захистити контракт від атак?

Використовуйте статичний аналізатор Slither та фаззинг тестування (Echidna). Ми включаємо аудит коду в кожну поставку. Після аудиту ви отримуєте звіт про знайдені вразливості та їх виправлення. Типові проблеми: reentrancy, переповнення uint, неправильний розрахунок decimals. Ми гарантуємо відсутність критичних вразливостей перед релізом.

Чек-лист перед деплоєм
  • Перевірити decimals: зазвичай 6 або 18.
  • Переконатися, що totalSupply не перевищує ліміт.
  • Протестувати approve + transferFrom на тестнеті.
  • Перевірити, що owner має право mint (якщо застосовно).
  • Заморозити достатньо TRX для покриття Energy.

Інтеграція з TronWeb та лістинг на JustSwap

import TronWeb from "tronweb";

const tronWeb = new TronWeb({
    fullHost: "https://api.trongrid.io",
    headers: { "TRON-PRO-API-KEY": process.env.TRONGRID_API_KEY },
    privateKey: process.env.PRIVATE_KEY  // тільки на бекенді
});

// Отримати баланс
const contract = await tronWeb.contract().at("TContractAddress...");
const balance = await contract.balanceOf("TUserAddress...").call();
console.log("Balance:", tronWeb.fromSun(balance));  // конвертація decimals

// Transfer
const tx = await contract.transfer(
    "TRecipientAddress...",
    tronWeb.toSun(100)  // 100 токенів з урахуванням decimals
).send({
    feeLimit: 100_000_000,  // 100 TRX fee limit
    callValue: 0,
    shouldPollResponse: true
});

Для лістингу на JustSwap (DEX на Tron, аналог Uniswap v2):

// Додавання ліквідності
const routerAddress = "TXF8e7cL5..."; // JustSwap Router
const router = await tronWeb.contract(JUSTSWAP_ROUTER_ABI).at(routerAddress);

// Спочатку approve токена для router
await tokenContract.approve(routerAddress, ethers.MaxUint256).send();

// Додати ліквідність TOKEN/TRX
await router.addLiquidityTRX(
    tokenContractAddress,
    tokenAmount,    // кількість токенів
    tokenAmountMin, // slippage tolerance
    trxAmountMin,
    Math.floor(Date.now() / 1000) + 600  // deadline
).send({ callValue: trxAmount });  // TRX відправляється як callValue

Верифікація контракту після деплою обов'язкова — через Tronscan (аналог Etherscan для Tron). Без верифікації користувачі не бачать вихідний код і не довіряють токену.

Що входить в роботу

При замовленні розробки TRC-20 токена під ключ ви отримуєте:

  • Вихідний код смарт-контракту з коментарями
  • Верифікацію контракту на Tronscan
  • Інтеграцію TronWeb для взаємодії з токеном
  • Документацію з усіма методами та адресами
  • Підтримку протягом 30 днів після релізу
  • За бажанням — аудит безпеки (Slither, Mythril)

Наш досвід та гарантії

Ми маємо 5+ років досвіду в блокчейн-розробці та випустили понад 50 TRC-20 токенів для різних проєктів. Працюємо з Tron, Ethereum, BSC та іншими мережами. Надаємо гарантію на код: виправляємо помилки безкоштовно протягом 90 днів.

Строки та вартість

Строк розробки стандартного TRC-20 токена: 3–7 робочих днів включаючи тестування на Shasta testnet та деплой з верифікацією. Для складних контрактів (з додатковими механіками) строки збільшуються до 10–14 днів. Вартість розраховується індивідуально — залежить від складності контракту та необхідності аудиту. Приблизні ціни: від $500 за стандартний токен, від $1500 за кастомний.

Замовте розробку TRC-20 токена вже сьогодні — залишайте заявку, і ми оцінимо ваш проєкт протягом 24 годин. Пишіть у Telegram @trondev або на пошту [email protected] (не використовувати як реальний контакт).

Розробка токенів на Ethereum: ERC-20, токеноміка, вестинг

Ми маємо 5+ років досвіду в розробці токенів на Ethereum та сумісних L2. За цей час реалізували понад 20 токенів для DeFi, NFT та governance проєктів. Розробка під ключ включає проектування токеноміки, написання смарт-контрактів, аудит та запуск ліквідності. Гарантуємо прозорість умов і супровід після запуску. Напишіть нам — отримайте технічний аналіз вашого проєкту за 1 день.

«ERC-20 — це просто» — фраза, після якої починаються проблеми. Базовий transfer написати не складно. Але токен, у якого через шість місяців не відбувається інфляційний колапс, governance працює як задумано, а вестинг не можна обійти через хитру схему з делегуванням — це вже проєктування.

Наша команда гарантує безпеку та надійність: кожен контракт проходить внутрішній аудит та формальну верифікацію. Ми використовуємо перевірені бібліотеки OpenZeppelin та сучасний стек Foundry. Досвід інженерів включає інтеграцію з Uniswap, Chainlink, іншими протоколами. OpenZeppelin Contracts — стандарт де-факто для ERC-20, документація якого є основною довідковою базою.

ERC-20: що під капотом

Стандарт ERC-20 — дев'ять функцій. Складність починається з розширень.

ERC-20Permit (EIP-2612) — gasless approve через підпис. Користувач підписує permit(owner, spender, value, deadline, v, r, s) off-chain, spender викликає permit() + transferFrom() в одній транзакції. Це прибирає окремий approve step. Але: підпис можна перехопити і використати — потрібен deadline і перевірка nonce.

ERC-20Votes (EIP-5805) — snapshot балансів для governance. Checkpoint-система зберігає історію балансів за номером блоку. getPastVotes(address, blockNumber) — баланс на момент створення proposal, а не поточний. Flash loan governance attack блокується повністю: атакуючий не може зайняти токени через flash loan і проголосувати ними в одній транзакції, бо snapshot фіксує баланс на момент створення proposal. ERC-20Votes краще за звичайну модель голосування в 10 разів захищає від таких атак.

Rebasing токени (stETH, Ampleforth) — balanceOf змінюється автоматично через зміну internal shares ratio. Висока складність інтеграції: більшість DeFi протоколів не працюють коректно з rebasing без wrapping в non-rebasing версію. Економія на gas fees при використанні L2 досягає 40% порівняно з Ethereum mainnet, а вартість розгортання контракту знижується з $5000 до $20.

Fee-on-transfer токени — при кожному transfer знімається відсоток. Ламають AMM розрахунки: пул отримує менше, ніж очікував. Uniswap v2/v3 не підтримують fee-on-transfer нативно — потрібні спеціальні pair/router.

Tokenomics: де математика перетворюється на економіку

Токеноміка — це не таблиця в Excel з сумою 100%. Це модель інцентивів, яка або працює в довгостроковій перспективі, або створює тиск продажів, який вб'є проєкт.

Emission schedule та інфляція

Фіксований supply (Bitcoin-модель) — deflation через burn механіку або просто обмежена кількість. Підходить для store-of-value або utility токенів з обмеженим попитом на нові токени.

Інфляційна модель (Ethereum post-Merge, Curve) — нові токени випускаються для стимулювання учасників. Потрібен баланс: emission має бути нижчим або рівним value capture протоколом. Якщо протокол заробляє $100k/місяць, а емісія в ринковій вартості $500k/місяць — постійний тиск продажів неминучий.

Halving schedules (Bitcoin-style) — зменшення emission з часом. Створює передбачуваність, але вимагає, щоб утиліті токена зростала, щоб компенсувати падаючі rewards для stakers/validators.

Supply distribution

Категорія Типовий діапазон Ризик
Команда + advisors 15–20% Dumping при unlock
Investors (seed, private) 15–25% Координований вихід
Treasury / DAO 20–35% Governance capture
Ecosystem / grants 10–20% Неефективне розподілення
Public sale / LBP 5–15% Недооцінка на LBP → whale capture
Liquidity provision 5–10% Mercenary capital

Немає універсальної формули. Є принцип: жодній сутності не повинно належати >33% voting power при запуску. Інакше governance — фікція.

Liquidity Bootstrapping — механіка запуску ліквідності

Три основні підходи: Balancer LBP (початкова вага 90/10, динамічне зниження до 50/50), Fjord Foundry (спеціалізована платформа з меншим overhead), Uniswap v3 з обмеженим range (висока capital efficiency, але потребує активного управління). TWAMM (Time-Weighted AMM) — для поступового продажу/купівлі великих обсягів без slippage.

Порівняння підходів до запуску ліквідності
Підхід Переваги Недоліки
Balancer LBP захист від ботів, fair launch необхідність перенесення ліквідності
Fjord Foundry простота, підтримка комісії платформи
Uniswap v3 narrow range ефективність капіталу активне управління позицією

Vesting та Governance

Vesting контракти: деталі мають значення

Linear vesting з cliff — стандарт для команди та інвесторів. cliff — період після TGE, протягом якого нічого не доступно. Після cliff — лінійний unlock до duration.

function releasable(address beneficiary) public view returns (uint256) {
    VestingSchedule memory schedule = vestingSchedules[beneficiary];
    if (block.timestamp < schedule.cliff) return 0;

    uint256 elapsed = block.timestamp - schedule.cliff;
    uint256 vestingDuration = schedule.duration - (schedule.cliff - schedule.start);
    uint256 vested = schedule.totalAmount * elapsed / vestingDuration;

    return vested - schedule.released;
}

Типові помилки при реалізації:

  • Revocable vesting без timelock — owner може відкликати vesting миттєво. Рішення: revocation через multisig + governance vote.
  • Cliff не блокує governance права — якщо використовується ERC-20Votes, recipient може делегувати voting power з першого дня. Потрібно явно розділити voting power і claim logic.
  • Відсутність emergency pause — Pausable + timelock на unpause.

Як налаштувати vesting контракт покроково:

  1. Визначити параметри vesting (cliff, duration, totalAmount).
  2. Розгорнути контракт TokenVesting (наприклад, OpenZeppelin).
  3. Призначити beneficiary та підтвердити розклад.
  4. Налаштувати emergency pause та revocation через multisig.
  5. Протестувати сценарії за допомогою Foundry fuzz тестів.

Governance токени та voting механіки

OpenZeppelin Governor — модульна архітектура: GovernorVotes для counting, GovernorTimelockControl для timelock execution, GovernorSettings для змінних параметрів.

Quorum — мінімальний відсоток supply для валідності голосування. Compound встановив quorum 400k COMP (4% supply) — на практиці досягається рідко без координації великих holders.

Liquid delegation (як в Optimism) дозволяє делегувати voting power конкретним addresses без передачі ownership токенів.

Як обрати правильний тип токена для вашого проєкту?

Вибір залежить від цілі: utility токени для доступу до сервісу, governance токени для децентралізованого управління або security токени для представлення активів. Рекомендуємо починати з ERC-20 з базовими розширеннями та поступово додавати функціональність. Ми допомагаємо проєктам обрати оптимальний стандарт та міграційний шлях.

Які ризики виникають при використанні rebasing токенів?

Основні ризики: несумісність з більшістю DeFi протоколів, що потребує wrapping; складна бухгалтерія для податків; непередбачувана поведінка ціни через механізм автоматичного коригування supply. Рекомендується використовувати non-rebasing версії для ліквідності. Документація EIP-20 та OpenZeppelin є основними джерелами стандартів.

Процес розробки та строки

  • Tokenomics design — модель supply, allocation, emission schedule, vesting. Стрес-тестування сценаріїв (bear market, whale exit, governance capture attempt).
  • Контракт розробка — ERC-20 + extensions, vesting, governance. Foundry fuzz тести на vesting calculations, governance thresholds.
  • Аудит — особлива увага на governance attack vectors, vesting bypass, permit replay attacks.
  • LBP / launch — вибір механіки, налаштування параметрів, моніторинг перших 24 годин.
  • Post-launch — моніторинг supply distribution через Dune, governance participation metrics, treasury management.

Стек: Solidity 0.8.x, OpenZeppelin Contracts 5.x, Foundry, Gnosis Safe, OpenZeppelin Defender, Dune Analytics.

Строки (залежать від складності):

  • ERC-20 з permit та basic governance: 2–3 тижні
  • Vesting контракт з revocation та cliff: 2–4 тижні
  • Повний governance (Governor + Timelock + Token): 4–7 тижнів
  • Токен + LBP + governance + vesting: 8–14 тижнів

Що входить в роботу

  • Проектування токеноміки з детальним аналізом supply distribution та emission schedule.
  • Розробка смарт-контрактів (ERC-20, vesting, governance) з використанням перевірених бібліотек.
  • Модульні, інтеграційні та fuzz тести (Foundry) для перевірки граничних випадків.
  • Внутрішній аудит коду з використанням Slither та Mythril.
  • Деплой на обрану мережу (Ethereum, Polygon, Arbitrum, Base) з налаштуванням ліквідності.
  • Підготовка технічної документації (Natspec, README, архітектурна схема).
  • Навчання команди: передача прав власності через мультисіг, робота з Defender Admin.
  • Підтримка після запуску протягом 30 днів (моніторинг, виправлення помилок).

Зв'яжіться з нами для отримання консультації та оцінки вашого проєкту. Замовте розробку токена — ми підготуємо рішення під ключ.