Запуск токена на Bitcoin через протокол Ordinals тягне безліч технічних пасток: двошаговий transfer, залежність від UTXO, різні індексерів. Ми — команда блокчейн-інженерів з 10+ річним досвідом в Ethereum та Bitcoin. Розробляємо BRC-20 токени під ключ: від деплою JSON-контракту до створення власного індексера та explorer. Замовте розробку BRC-20 токена під ключ — отримайте консультацію інженера.
Які проблеми вирішує розробка BRC-20 токена?
Двошаговий transfer: типова помилка новачків
Transfer BRC-20 — це не одна транзакція. Спочатку створюється transfer inscription на адресу відправника. Потім ця inscription передається отримувачу через стандартну Bitcoin транзакцію. Індекстер фіксує обидва кроки і зараховує переказ тільки при відправленні саме тієї UTXO, в якій знаходиться transfer inscription. Якщо UTXO витрачена не туди — токени безповоротно спалюються. Комісія мережі Bitcoin за inscription зазвичай становить від $5 до $15 залежно від навантаження.
Залежність від UTXO: як не втратити токени
BRC-20 баланс прив'язаний до Bitcoin UTXO, що містять inscriptions. Якщо гаманець не aware про inscriptions і випадково витратить UTXO з inscription як звичайний біткоїн (fee bumping, об'єднання UTXO) — токени втрачені. Потрібен спеціальний гаманець, що підтримує Ordinals.
Різні індексерів — різні баланси
У ранній період BRC-20 різні індексерів інтерпретували edge cases по-різному. Зараз ситуація стабілізувалася, але при розробці обов'язково звіряти результати на кількох сервісах: Hiro, UniSat, OKX Ordinals.
Як працює BRC-20?
BRC-20 використовує JSON-формат, який записується в witness-частину SegWit транзакції. Всього три операції: deploy, mint, transfer. Кожна — окрема Ordinals inscription.
{ "p": "brc-20", "op": "deploy", "tick": "MYTK", "max": "21000000", "lim": "1000" } { "p": "brc-20", "op": "mint", "tick": "MYTK", "amt": "1000" } { "p": "brc-20", "op": "transfer", "tick": "MYTK", "amt": "500" } Чому важливий вибір індексера для BRC-20?
Індексерів — це off-chain сервіси, які відстежують inscriptions та обчислюють баланси. Різні індексерів можуть давати різні результати через неоднозначності в обробці edge cases. Наприклад, як обробляти double mint або transfer невалідної суми. Тому важливо вибрати надійний індекстер та при необхідності запустити власний.
| Індекстер | Точність | Вартість API | Особливості |
|---|---|---|---|
| Hiro | висока | безкоштовно (обмеження) | відкритий API, документація |
| UniSat | висока | платний | вбудований гаманець, маркет |
| OKX | середня | безкоштовно | інтеграція з біржею |
Як ми розробляємо BRC-20: стек та приклад деплою
Використовуємо офіційний клієнт ord та API Ordinalsbot для створення inscriptions. Ось приклад деплою через TypeScript:
import axios from 'axios'; async function deployBRC20Token(config: { tick: string; max: string; lim: string; receiverAddress: string; }) { const inscriptionData = JSON.stringify({ p: "brc-20", op: "deploy", tick: config.tick, max: config.max, lim: config.lim, }); const response = await axios.post('https://api.ordinalsbot.com/inscribe', { files: [{ name: "deploy.json", size: Buffer.byteLength(inscriptionData), type: "text/plain;charset=utf-8", dataURL: `data:text/plain;charset=utf-8,${inscriptionData}`, }], receiveAddress: config.receiverAddress, fee: 15, lowPostage: false, }); return response.data; } Після деплою перевіряємо баланси через індексерів. Hiro API — один з найбільш надійних:
async function getBRC20Balance(address: string, ticker: string): Promise<string> { const response = await axios.get( `https://api.hiro.so/ordinals/v1/brc-20/balances/${address}`, { params: { ticker: ticker.toUpperCase() }, headers: { 'x-api-key': process.env.HIRO_API_KEY }, } ); const token = response.data.results.find( (t: any) => t.ticker.toLowerCase() === ticker.toLowerCase() ); return token?.overall_balance ?? "0"; } Порівняння BRC-20 та ERC-20
| Параметр | BRC-20 | ERC-20 |
|---|---|---|
| Середовище виконання | Без VM, тільки JSON | EVM (смарт-контракти) |
| Програмованість | Відсутня | Повна |
| Безпека | Залежить від UTXO | Атомарні операції |
| Вартість деплою | Низька (комісія Bitcoin) | Вища (gas Ethereum) |
| Час підтвердження | ~10 хвилин | ~12 секунд |
BRC-20 в десятки разів дешевший при деплої, але поступається в гнучкості. Економія на деплої порівняно з ERC-20 може сягати 90% (розробка смарт-контракту на Ethereum коштує від $2000). Для проєктів, яким потрібна програмованість, рекомендуємо Stacks або Bitcoin L2.
Процес роботи над проєктом
- Аналітика — обговорюємо тікер, емісію, механізм розподілу.
- Проєктування — вибираємо стек інструментів (ord, API, індексерів).
- Реалізація — деплой, написання mint-сервісу, інтеграція з гаманцями.
- Тестування — перевірка на testnet, симуляція всіх операцій.
- Деплой — публікація в mainnet, налаштування моніторингу.
Що входить в проєкт
- Деплой BRC-20 токена з обраним тікером та параметрами.
- Створення mint-сервісу для користувачів (якщо потрібен fair launch).
- Інтеграція з індексерами (Hiro, UniSat, OKX).
- Документація щодо використання токена та API.
- Навчання команди замовника роботі з BRC-20.
- Підтримка протягом 2 тижнів після запуску.
Терміни орієнтовно
Простий деплой токена — кілька годин. Повноцінна інфраструктура (індекстер, explorer, mint-сервіс) — від 4 до 8 тижнів. Вартість розраховується індивідуально в залежності від обсягу робіт.
Обмеження BRC-20: що потрібно знати
- Немає програмованої логіки (тільки перекази).
- Немає атомарних свопів (DEX на BRC-20 — складна off-chain конструкція).
- Підтвердження ~10 хвилин.
- Комісії зростають при навантаженні мережі.
Наш досвід підтверджений десятками проєктів. Гарантуємо коректну роботу всіх компонентів. Використовуємо перевірені інструменти та дотримуємося найкращих практик. Зв'яжіться з нами для консультації — наші інженери допоможуть з вибором тікера, розгортанням інфраструктури та інтеграцією з індексерами.







