Разработка Ordinals-инскрипций (Bitcoin NFT)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка Ordinals-инскрипций (Bitcoin NFT)
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • 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

Разработка Ordinals-инскрипций (Bitcoin NFT)

Протокол Ordinals появился в январе 2023-го и изменил представление о Bitcoin как о «скучном» активе без смарт-контрактов. Каждый сатоши имеет уникальный порядковый номер (ordinal), и к нему можно прикрепить произвольные данные — изображение, HTML, JavaScript, даже работающий 3D-движок. Это inscription. Никаких смарт-контрактов, никакого второго слоя — данные хранятся напрямую в Bitcoin witness (SegWit v1, Taproot).

Разработка Ordinals-коллекции отличается от EVM-разработки принципиально: нет Solidity, нет ABI, нет событий. Есть UTXO-модель, лимит размера witness, и специфика работы с Bitcoin transaction builder'ами.

Как работает протокол Ordinals

Нумерация сатошей

Ordinals protocol (Casey Rodarmor, BIP-300) вводит детерминированную нумерацию: первый сатоши первого блока получает номер 0, последний сатоши последнего блока в эпоху — максимальный номер. Нумерация стабильна и верифицируема независимо.

«Редкость» сатоши определяется его позицией: сатоши из первого блока каждой эпохи халвинга — «legendary», из первого блока каждого difficulty adjustment — «rare», и т.д. Торговля редкими сатошами — отдельный рынок внутри Ordinals экосистемы.

Inscription как envelope в Tapscript

Инскрипция создаётся через Tapscript в SegWit v1 транзакции. Данные упаковываются в OP_FALSE OP_IF ... OP_ENDIF envelope, который Bitcoin нодами игнорируется при выполнении, но хранится в witness. Content type указывается тегом ord + MIME type:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_1
  OP_PUSH "image/png"
  OP_0
  OP_PUSH <image_data_chunk_1>
  OP_PUSH <image_data_chunk_2>
  ...
OP_ENDIF

Лимит на одну инскрипцию — 520 байт на push операцию, но pushек может быть много. Практический лимит — размер witness данных в блоке (около 4MB с witness discount). Изображения 400KB+ помещаются без проблем.

Sat-to-inscription binding

Инскрипция привязана к первому сатоши первого output транзакции commit (точнее, reveal). При передаче этого UTXO — инскрипция переходит новому владельцу. Маркетплейсы (Magic Eden Bitcoin, Gamma.io, Unisat) отслеживают движение UTXO и показывают нового владельца.

Это принципиально отличается от EVM: нет ownerOf вызова, нет revert при несанкционированном трансфере. Владение определяется через UTXO-модель Bitcoin — у кого UTXO с этим сатошем, тот и владелец.

Рекурсивные инскрипции

Технически наиболее интересная часть: инскрипция может ссылаться на другую инскрипцию через специальный путь /content/{inscription_id}. Браузер (Ordinals explorer или маркетплейс) резолвит эти ссылки и рендерит композит.

Применение: 10 000-элементная коллекция, где каждый trait (фон, голова, тело) — отдельная инскрипция размером 2-5KB. Финальное изображение — HTML-инскрипция, которая ссылается на trait-инскрипции и собирает их через <img> теги или canvas. Вместо 10K × 50KB изображений — 20 trait-инскрипций × 3KB + 10K × 1KB HTML. Экономия на fees существенная.

Инвариант рекурсии: referenced инскрипции должны существовать до момента создания referencing инскрипции. Нельзя создать HTML-инскрипцию, ссылающуюся на trait-инскрипции, которые ещё не созданы.

Инструменты разработки

ord CLI

Официальный инструмент от Casey Rodarmor. Требует полную Bitcoin ноду (Bitcoin Core) или можно использовать через RPC с --bitcoin-rpc-url. Основные команды:

# Создание инскрипции из файла
ord wallet inscribe --fee-rate 15 --file image.png

# Получение информации об инскрипции
ord index info --inscription <inscription_id>

Для production batch inscribing — кастомные скрипты через bitcoinlib (Python) или bitcoin-ts (TypeScript) с прямой работой с PSBT (Partially Signed Bitcoin Transactions).

Работа с PSBT для коллекций

Batch минт 10K инскрипций через CLI — медленно и ненадёжно. Используем программный подход:

  1. Генерируем trait-инскрипции пачками по 100
  2. Для каждой пары (commit tx, reveal tx) строим PSBT
  3. Подписываем через HD wallet (BIP-32 derivation)
  4. Broadcast через Bitcoin RPC или Mempool API

Управление fee rate критично: при congestion mempool fee за byte может вырасти в 10-20x. Скрипт должен проверять текущий fee market через mempool.space/api/v1/fees/recommended и выбирать оптимальный уровень.

Verifier для коллекции

Аналог rarity checker для EVM: скрипт, который по inscription ID получает метаданные (через API Ordinals explorer или собственную ноду), парсит traits из JSON-инскрипции, строит rarity таблицу. Публикуется как open source — пользователи могут верифицировать рарити независимо.

Разница Ethereum vs Bitcoin Ordinals

Аспект EVM NFT Bitcoin Ordinals
Хранение данных IPFS / on-chain (дорого) Нативно в Bitcoin witness
Трансфер safeTransferFrom + revert UTXO перемещение, нет защиты
Метаданные JSON с trait attributes Произвольный content (image, HTML, JSON)
Royalties EIP-2981 (опциональные) Нет нативного механизма
Комиссии за минт Gas (вариабельно) Bitcoin sat/vbyte × размер witness
Смарт-контракты Полный EVM Отсутствуют

Отсутствие royalties на уровне протокола — ключевой недостаток для монетизации команды. Маркетплейсы (Magic Eden Bitcoin) реализуют «soft royalties» через UI, но техническая принудительность отсутствует.

Процесс работы

Подготовка контента (зависит от проекта). Для рекурсивных коллекций: генерация trait-инскрипций, проверка корректности HTML-шаблонов, тест рендеринга в Ordinals explorer.

Testnet деплой (1-2 дня). Bitcoin signet или testnet для проверки всего пайплайна. Ordinals работает на testnet — можно полностью проверить минт и отображение.

Batch inscribing (зависит от размера). 10K инскрипций при fee rate 15 sat/vbyte — примерно 1-2 BTC в fees для изображений среднего размера. Для рекурсивных — значительно меньше.

Листинг на маркетплейсах. Magic Eden Bitcoin, Gamma.io — верификация коллекции через форму или API.

Ориентиры по срокам

Простая коллекция без рекурсии (static images) — 3-5 дней включая инструменты. Рекурсивная коллекция с HTML-генератором — 1-1.5 недели. Стоимость Bitcoin fees для минта обсуждается отдельно — зависит от текущего fee market.