BRC-20. Подробный разбор механики
В этой статье я попробую объяснить что это за токены на Биткоине, как они работают и стоит ли вообще туда залезать.
- Стандарт BRC-20
1.1 Основы
1.2 Плюсы и минусы - Ordinal Inscriptions
2.1 Что это и куда идут деньги
2.2 Создаем Inscription с помощью Unisat API
2.3 Считаем газ с помощью Mempool.space API - Bitcoin Core
- Минт на Unisat & Luminex
- Выводы
Стандарт BRC-20
1.1 Основы
Короткая инфа, которую все знают:
BRC-20 - это самый обычный стандарт токенов в сети Биткоина. Дефолтная сеть Биткоина не поддерживает смартконтракты как EVM или другие блокчейны, поэтому стандарт имеет ограниченные функции: deploy, mint, transfer. Все транзакции связанные с BRC-20 токенами происходят с помощью так называемой Inscription - "вписывание" какой-либо информации в транзакцию.
Taproot address: Биткоин имеет несколько типов адресов, но только taproot адрес может взаимодействовать с функциями BRC-20 токена. Тапрут адрес, как правило, начинается с "bc1...". На него можно принимать как нативный Bitcoin с бирж, так и любые BRC-20 токены.
Газ: высчитывается в Sats (Satoshi - маленькая часть от Биткоина). Пример: Gwei - маленькая часть от Ether.
Ordinal Inscription: вписывание нужной информации в транзакцию. Вписывать мы можем джипеги, аудиофайлы и другие различные форматы, но для токенов нам нужно записать файл формата JSON. Этому я выделил отдельный раздел, который разберем позже.
https://ordinals.com/ - сканер для Inscriptions
Mint площадки: в основном токены минтятся на двух площадках - Unisat и Luminex, которые мы так же разберем позже, так как у них немного разная механика.
https://www.luminex.io/
https://unisat.io/
Mempool.space : Etherscan на максималках, реально лучший сканер для Биткоина. На первый взгляд может показаться сложным, но через некоторое время становится понятно. Так же имеет API, которое мы будем юзать в следющих разделах.
https://mempool.space/
https://mempool.space/docs/api/rest - Документация по API
1.2 Плюсы и минусы BRC-20
Ordinal Inscriptions
2.1 Что это и куда идут деньги
Рассмотрим создание Inscription на https://unisat.io/inscribe
Каждый инскрипшн принадлежит определенному адресу, так что при создании подписи, мы должны указать нужный нам тапрут адрес.
Чем больше вес файла - тем больше сатоши мы должны вписать в транзакцию
Так же за создание инскрипшн ордеров мы должны заплатить комиссию сервиса.
А как действуют ордера?
После создания ордера, мы получаем взамен Адрес и сумму в Sats которую мы должны на него отправить.
После завершения твоей транзакции, адрес с ордера автоматически отправит еще одну транзакцию, которая как раз и будет этим инскрипшном.
2) Отправка Inscription, получение токенов на кошелек:
2.2 Создаем Inscription ордер с помощью Unisat API
Создать ордер с помощью апи очень просто:
1) Отправляем POST реквест на https://unisat.io/api/query/inscribe/order и включаем следующую Data:
{'files': [
{ 'dataURL': 'data:text/plain;charset=utf-8;base64,ENCODED',
'filename': '{"p":"brc-20","op":"deploy","tick":"ETH","max":"120000000","lim":"24000"}',
}]На месте ENCODED должна быть base64 закодированная строка.
К примеру, строкаeyJwIjogImJyYy0yMCIsICJvcCI6ICJkZXBsb3kiLCAidGljayI6ICJFVEgiLCAibWF4IjogIjEyMDAwMDAwMCIsICJsaW0iOiAiMjQwMDAifQ==
Представляет следующий JSON файл:{
"p": "brc-20",
"op": "deploy",
"tick": "ETH",
"max": "120000000",
"lim": "24000"
}
p: Имя протокола
op: Операция
tick: Тикер
max: Максимальная циркуляция токена
lim: сколько токенов разрешено минтить на 1 адрес
После реквеста мы сразу получим адрес, на который нужно отправить правильную сумму в BTC (указывают в Sats, так что нужно конвертировать).
Подписи можно и самому напрямую делать, но об этом как-то в другой раз.
2.3 Считаем газ с помощью Mempool.space API
Тут ничего подробного, у каждого свои предпочтения по регулированию газа.
Но мы можем смотреть текущий газ в реальном времени с помощью колла апишки, и ставить повыше:https://mempool.space/api/v1/fees/recommended
Так же можно мониторить мемпул определенного адреса, но пока я этому не нашел применения (разве что ты знаешь адреса потных чуваков которые наверняка уверены в выставленном газе):https://mempool.space/api/address/1wiz18xYmhRX6xStj2b9t1rwWX4GKUgpv/txs/mempool
https://mempool.space/docs/api/rest - полная документация
Bitcoin Core это и кошелек и просто крутая тема. Штука мегаудобная - его можно применять как и в скриптах, так и просто для общего пользования. Одна лишь проблема в том, что для его запуска нужна установленная синхронизированная нода, что может занять 1-3 дня (синк зависит от интернета). При первом запуске программы, Bitcoin Core начнет синхронизацию автоматически. Так же вы можете установить Ordinals поверх ядра Bitcoin Core, чтобы создавать Inscriptions самому.
https://bitcoincore.org/
https://docs.ordinals.com/guides/inscriptions.html - узнать больше об Inscriptions на Bitcoin Core
Минты на Unisat & Luminex
Unisat
Минты на Unisat являются самыми простыми, так как там обычным инскрипшн ордером можно себе минтить токены исходя с макс. циркуляции. Больше газ = больше % успеха в минте токенов.
Luminex
На Luminex дела уже посложнее. Обычно на нем делают сейлы с вайтлистом, а как мы знаем у BRC-20 токенов нет функции whitelist или прочей херни.
Luminex придумали норм решение.
Рассмотрим ситуацию с недавним минтом $PSAT, который как раз тут и запускался:
Токен $PSAT имеет максимальный супплай в 10,000,000 токенов. Админ, который задеплоил токен, в соляного заминтил все токены, и после этого перекинул их на другой адрес (скорее всего адрес Luminex). Это значит что заминтить обычным инскрайбом не получится, так как макс. суплай исчерпан.
Используя свою базу данных, они собирали и записывали адреса пользователей для вайтлиста. Когда начался минт, пользователь должен был ввести адрес на который он минтит токены + их к-во. После этого создавался тот самый дефолтный ордер, куда он скидывает деньги. Invoice адрес закидывал деньги (service fee) основному коллектору. В это время срабатывал алгоритм, и Luminex кошель, холдер всех $PSAT токенов, отправлял нужное количество $PSAT на кошелек покупателя.
А чтобы задушить фронтраннеров, они решили отправлять транзакцию с адреса владельца супплая строго с фиксированным газом.
Выводы
Технология однозначно сырая и малофункциональная, но в то же время выглядит прикольно. Так же есть NFT минты, но там уже немного другие приколы. В целом атмосфера BTC минтов для меня чувствуется как смесь эфира с соланой но slowed&reverb.
Залетать сюда однозначно нужно, так как время от времени появляются крутые BRC-20 и NFT минты.
С этими материалами можно придумывать различные интересные стратегии, так что всем удачи!