Запуск токена на 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 минут.
- Комиссии растут при нагрузке сети.
Наш опыт подтверждён десятками проектов. Гарантируем корректную работу всех компонентов. Используем проверенные инструменты и следуем лучшим практикам. Свяжитесь с нами для консультации — наши инженеры помогут с выбором тикера, развертыванием инфраструктуры и интеграцией с индексерами.







