Розробка рішень на RGB Protocol (Bitcoin)

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка рішень на RGB Protocol (Bitcoin)
Складний
від 2 тижнів до 3 місяців
Часті запитання

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

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

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

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

Розробка рішень на RGB Protocol (Bitcoin)

RGB — це протокол для смарт-контрактів та токенів поверх Bitcoin та Lightning Network, розроблений LNP/BP Standards Association. На відміну від Ethereum, де контракти та їх стан зберігаються публічно в блокчейні, RGB зберігає стан контрактів off-chain у власників активів. Bitcoin використовується виключно як anchor для commitment-ів: хеш стану прячется у транзакцію через OP_RETURN або taproot output. Це принципово інша модель — privacy-preserving, scalable, але вимагаюча від розробника розуміння client-side validation.

Client-side validation: ключева концепція

У RGB правила консенсусу виконуються не нодами мережі, а клієнтами. Продавець токена доводить покупателю історію переходу права власності від genesis контракту, надаючи chain of consignments. Покупець самостійно валідує кожен перехід по правилам контракту — без довіри третій стороні та без публікації даних у блокчейн.

Alice → Bob (передача RGB активу):

1. Bob генерує UTXO "seal" (Bitcoin UTXO, куди привяжется RGB право)
2. Alice створює state transition: "перевести N токенів на seal Боба"
3. Alice створює Bitcoin tx, що містить commitment до state transition
4. Alice передає Bob consignment: state transition + історія до genesis
5. Bob валідує: перевіряє кожен перехід, anchoring в Bitcoin
6. Bob підтверджує отримання

Ключовий момент: вміст state transition (скільки токенів, кому) ніколи не з'являється публічно. У Bitcoin блокчейні — тільки 32-байтний хеш commitment. Зовнішній спостерігач бачить Bitcoin транзакцію, але не знає, що вона містить RGB.

RGB Protocol v0.11: поточний стан

RGB пройшов довгий шлях через нестабільні ранні версії. Поточна production-ready версія — RGB v0.11 (випущена в 2024). Основні зміни порівняно з v0.10:

  • AluVM — нова віртуальна машина для виконання RGB смарт-контрактів
  • Strict Types — система типів з детермінованою серіалізацією
  • RGB Schema — декларативне описання типу контракту
  • Покращена інтеграція з Lightning (RGB-over-LN)

RGB20: fungible токени

RGB20 — стандарт для fungible токенів (аналог ERC-20). Створення нового токена через rgb-cli або програмно через SDK:

use rgb_schemata::rgb20;
use rgbstd::interface::rgb20::Rgb20;
use rgbstd::stl::{Amount, Precision, RicardianContract};

// Визначаємо genesis контракту
let contract = rgb20::issue(
    ticker: "MYTKN",
    name: "My Token",
    precision: Precision::CentiMicro,  // 8 знаків після запятої
    issued_supply: Amount::from(1_000_000_00000000u64),  // 1M токенів
    seal: genesis_seal,  // Bitcoin UTXO куда идут все токены в genesis
    terms: RicardianContract::new("Token Terms..."),
)?;

// Серіалізуємо контракт для публікації
let contract_bytes = contract.to_strict_serialized::<{ u24::MAX as usize }>()?;

Для розробки використовуємо RGB Core Library на Rust як основний SDK. Високорівнева обёртка RGB Std надає інтерфейси для конкретних стандартів (RGB20, RGB21).

RGB21: NFT та коллекціонні активи

RGB21 — стандарт для унікальних активів з опціональними медіа-вкладеннями. Особливість: медіафайли не зберігаються on-chain та не в Bitcoin — тільки хеш файла в state. Сам файл — у власника або в будь-якому зберіганні (IPFS, Arweave, centralized).

use rgb_schemata::rgb21;

let nft = rgb21::issue_unique(
    name: "Rare Art #1",
    token_id: TokenId::from_random(),
    media: Some(EmbeddedMedia {
        media_type: MediaType::from("image/png"),
        data: SmallBlob::try_from(image_bytes)?,
    }),
    seal: nft_genesis_seal,
)?;

Кошелік та управління state

Для роботи з RGB активами потрібен RGB-aware кошелік. Стандартний Bitcoin кошелік не бачить RGB балансів — не знає про RGB протокол.

Існуючи реалізації:

  • Bitmask — веб/мобільний кошелік з RGB підтримкою
  • BitLight — Lightning-first RGB кошелік
  • MyCitadel — desktop кошелік від LNP/BP team

Для серверної сторони (custodial сервіс, exchange) — інтеграція через RGB Node та його RPC API або прямого використання RGB Core Rust бібліотеки.

Зберігання state

RGB state зберігається в stash — локальна база власника. Stash містить:

  • Всі отримані consignments
  • Історія state transitions ваших активів
  • Необхідні witness дані для майбутніх переходів
// Ініціалізація сташа
let stash = RgbStash::new(stash_path, bitcoin_provider)?;

// Отримати баланс RGB20 токена по контракту
let balance = stash.contract_state::<Rgb20>(contract_id)?
    .fungibles()
    .filter(|a| a.owner == my_seal)
    .sum();

RGB поверх Lightning

Одна з ключових переваг RGB — нативна інтеграція з Lightning. RGB-over-LN дозволяє проводити micropayments у RGB токенах по Lightning каналах. Платіж у USDC по Lightning за мілісекунди — це те, що RGB-LN робить можливим без bridge-ів та wrapped токенів.

Технічно: Lightning HTLC розширюється RGB state transition. При routing інвойс у BOLT-11 кодує не тільки satoshi amount, але й RGB asset transfer. Routing nodes не бачать RGB дані — маршрутизують звичайні HTLC.

Реалізація: LDK (Lightning Development Kit) з RGB розширеннями від Bitfinex (project Iris). Це активно розроблювана область, не всі edge-кейси LN сумісні з RGB в v0.11.

Практичні ограничення

Немає public mempool visibility: RGB state невидимий нікому крім учасників. Це privacy feature, але також означає — немає публічного block explorer для RGB. Верифікація працює тільки при наявності повного consignment.

UTXO як seal: RGB права власності привязані до Bitcoin UTXO. При трещаті UTXO потрібно явно перенести RGB актив на новий output — забутий перенос RGB = постійна втрата активу. Це вимагає RGB-aware кошельку, звичайний Bitcoin кошелік "втратить" RGB токени при трещаті UTXO.

Экосистема ще формується: RGB v0.11 — стабільна версія, але інструментарій (IDE support, debugging) значительно менш зрілий ніж Ethereum. Документація неповна, більшість прикладів — у тестах Rust бібліотек.

Немає EVM-еквівалента: RGB смарт-контракти (AluVM) — низькорівневі та менш виразні ніж Solidity. Складна DeFi логіка на RGB вимагає значительно більших зусиль.

Коли вибирати RGB

RGB оправдан при: hard вимогах до Bitcoin settlement та конфіденційності; стабільних токенах без складної контрактної логіки (transfer, issuance, burn); Lightning-нативних додатків; ідеологічних вимогах роботи в Bitcoin без альтернативних L1.

Для більшості DeFi-додатків, NFT маркетплейсів, DAO — Ethereum або його L2 залишаються правильним вибором через зрілість екосистеми. RGB — правильний вибір для Bitcoin-нативних фінансових інструментів.

Стек

  • Rust — єдина production-ready мова для RGB (офіціальна бібліотека)
  • RGB Core + RGB Std — основні залежності
  • Bitcoin Core або Electrum Server — Bitcoin backend
  • LND/CLN з RGB патчами — для Lightning функціональності

Розробка базового RGB20 токена з виходженням, передачею та верифікацією через CLI — 2–3 тижні. Custodial сервіс з RGB wallet, API та Lightning інтеграцією — 3–5 місяців, враховуючи необхідне глибоке занурення в протокол.