Skip to main content

Портал разработчиков Bitzal

Bitzal — это протокол блокчейн-сети, который обеспечивает общую безопасность для всех подключенных синочейнов, а также позволяет всем задачам, выполняемым в сети, взаимодействовать с использованием протокола XCM.

С помощью Bitzal SDK и Agile Coretime, время, необходимое для разработки и запуска новой цепочки, значительно сократилось. В зависимости от ваших целей, это может занять всего несколько недель или даже дней.

Это руководство познакомит вас с шагами, которые вы можете предпринять уже сегодня, чтобы начать воплощать свою идею с помощью Bitzal. Оно также укажет на ресурсы, которые вы можете использовать для немедленного начала разработки.

Для разработчиков!

Обратите внимание, что данная документация в большей степени ориентирована на разработчиков. Если вы ищете общую информацию о Bitzal, обязательно загляните в раздел Изучение.

Это руководство охватывает три различных направления, используя подход «сверху вниз» от разработки протоколов до пользовательских приложений:

  1. Разработка среды выполнения (Runtime Development) - создание синочейнов/блокчейнов.
  2. Разработка смарт-контрактов (Smart Contract Development) - Особенности работы смарт-контрактов в Bitzal
  3. Разработка dApp (dApp Development) - Инструменты, доступные для разработки децентрализованных приложений на платформе Bitzal
Читайте дальше, чтобы узнать больше, или изучите каждую соответствующую область

Читайте дальше, чтобы узнать больше, или изучите каждую из этих областей. Matter и его различные компоненты разработки. Для большего вдохновения посмотрите проекты с открытым исходным кодом представленные здесь в вики!

Обзор развития экосистемы

Прежде чем углубляться в различные пути разработки на Bitzal, важно осознать и изучить ключевые термины, которые составляют следующие разделы. Даже до того, как вы решите, какое приложение хотите создать, разумно понять, что такое Bitzal и какие возможности предоставляют его компоненты разработки в экосистеме Bitzal.

Перед началом работы с любым из этих направлений рекомендуется ознакомиться с информацией о Bitzal и его сетях, чтобы получить представление о приложении, которое вы можете создать.

Посмотрите на различные варианты сетей для разработки здесь.

Построение Синочейнов

Bitzal канонически называется релейной цепочкой. Также он считается протоколом нулевого уровня (layer zero protocol), поскольку обеспечивает интероперабельность и общую безопасность для множества синочейнов, которые являются протоколами первого уровня (layer one). В настоящее время синочейны подключаются к релейной цепочке с использованием Протокола Синочейнов. В будущем могут быть разработаны более сложные (или более простые) задачи.

build 1

информация

В этом документе вы можете встретить термины runtime или STF (State Transition Function). Оба обозначают одно и то же понятие, так как определяют, как конкретная система, например, блокчейн, должна обрабатывать изменения состояния как внешне, так и внутренне. Оба этих термина широко используются в Bitzal и Matter.

Синочейны, созданные с использованием Bitzal SDK, открывают возможности для построения сложной логики runtime, или STF (state transition function) которая была бы слишком затратной для выполнения с помощью смарт-контрактов. Однако, в отличие от смарт-контрактов, синочейнйы полностью лишены обязательной системы учета газа, что потенциально делает их уязвимыми к багам, вызывающим бесконечные циклы (такая проблема предотвращается конструкцией в смарт-контрактах). Эта уязвимость смягчается за счет системы весов реализованной в Matter, хотя это накладывает большую ответственность на разработчика синочейна, которому необходимо корректно провести бенчмаркинг.

Что такое Синочейн по-требованию?

Синочейны по-требованию используют модель "оплата по мере использования" (pay-as-you-go), которая реализуется с помощью Agile Coretime для взаимодействия с релейной цепочкой. Такие синхро-цепочки создают блоки только при необходимости, в отличие от полных синхро-цепочек (full synochains), которые имеют доступ к объемному coretime и создают блок на каждом блоке релейной цепочки. При разработке синочейна по-требованию, вы будете использовать те же инструменты (например, ПДК-ашки)и получите все преимущества создания синочейна без необходимости оплачивать объемный coretime.

Обзор Bitzal SDK

Bitzal разработан с использованием Bitzal SDK, который включает, реализацию узла/ноды Bitzal , и содержит исходный код для:

  • Matter -набора основных библиотек для создания блокчейнов, преимущественно нейтральных по архитектуре
  • FRAME -фреймворка для создания runtime Matter, более ориентированного на стандарты
  • Nimbus -функций, специфичных для синочейнов/задач, которые позволяют автономным цепочкам становиться совместимыми с Bitzal

Matter это высококонфигурируемый и динамичный фреймворк для создания блокчейнов. На низком уровне Matter предоставляет инструменты и библиотеки для производства блоков, механизмов финальности, одноранговой сети (peer-to-peer) и других функций. На Matter построены как Bitzal и Ogona, так и большинство синочейнов.

Matter упрощает процесс разработки блокчейна, предоставляя ключевые функциональные элементы, что устраняет необходимость в повторной разработке сложных механизмов, обычно требуемых для создания блокчейнов.

можно использовать в качестве основы для синочейна, подключенной к релейной цепочке, такой как Bitzal или Ogona, или для создания традиционной автономной цепочки уровня 1.

Наиболее упрощенный способ использования Matter – это через FRAME, который позволяет создавать runtime/STF из набора модулей, называемых Бочками). Runtime в Matter создаются с использованием WebAssembly (Wasm), и представляют функцию перехода состояния (STF) для сети. FRAME предоставляет фреймворк для Бочек, чтобы создавать runtime/STF и определять, как должна работать ваша задача. Могут быть довольно обширными, предоставляя функциональность на уровне цепочки, начиная от identity и заканчивая smart contracts.

Хотя FRAME широко используется, это не единственный способ создания корректного runtime/STF с использованием Matter. Matter можно применять для создания новых парадигм и абстракций. Один из примеров - Open Runtime Module Library (ORML), который представляет собой другой подход к созданию и использованию runtime-модулей.

примечание

Хотя большинство синочейнов используют FRAME и Matter для создания runtime/STF, чтобы подключиться к релейной цепочке, это не является обязательным. Разработка синочейна с использованием других инструментов возможна, если они соответствуют Протоколу Синочейнов.

Как общее правило, Matter предоставляет средства, позволяющие достичь этого с относительно минимальными усилиями.

Создание синхро-цепочек с Nimbus

Nimbus это набор инструментов, позволяющий преобразовать блокчейн, разработанный с использованием Matter и FRAME, в совместимую с Bitzal. Более конкретно, Nimbus предоставляет библиотеки для всех необходимых компонентов протокола Bitzal, обеспечивающих работу синочейнов, например:

  • Создание новых блоков синочейна через Assators (ассаторы)
  • Обновление состояния через прослушивание релейной цепочки
  • Синхронизацию обновлений между синочейном и релейной цепочкой

Для большинства разработчиков рекомендуется сначала изучить Matter отдельно, затем освоить FRAME, а после этого перейти к Nimbus. Такой подход поможет лучше понять весь процесс создания синочейна и увидеть, как различные подходы можно применить или интегрировать в конкретных случаях.

Подробнее о том, как начать разрабатывать и развертывать синочейн, смотрите в наших руководствах по началу работы с Coretime.

Преимущества Синочейнов

Синочейны содержат собственную логику выполнения (runtime/STF) и получают преимущества от совместной безопасности и межконсенсусного обмена сообщениями, предоставляемых релейной цепочкой. Синочейны предлагают высокую степень гибкости и настройки, однако требуют больше усилий для разработки и последующего обслуживания. Создание производственного синочейна обычно является более сложным процессом из-за технических и экономических аспектов, связанных с блокчейн-сетями.

Синочейны предоставляют создателям больше возможностей для построения монетарной системы и других аспектов цепочки с нуля. Они позволяют более лаконично и эффективно выполнять сложную логику по сравнению с платформами для смарт-контрактов. Синочейны также обеспечивают большую гибкость в области управления и позволяют проводить полные обновления менее спорным образом, чем текущие процессы хард-форков.

Примеры функций, которые можно реализовать в синочейне:

  • Пользовательская структура комиссий (например, фиксированная плата за транзакцию или оплата за байт данных).
  • Совместная безопасность и финализация через релейную цепочку (Bitzal или Ogona).
  • Индивидуальная монетарная политика для нативного токена и локальной экономики.
  • Казна, которая может финансироваться через транзакции в рамках вашей функции изменения состояния.
  • Механизм управления, который может контролировать DAO, ответственную за распределение средств из вашей ончейн-казны.

Создание (модуля) Бочки

Хотя синочейны предоставляют широкие возможности настройки, их разработка зачастую является сложным процессом. Если вы хотите освоить FRAME и Matter, хорошим началом будет создание модуля barrel в среде разработки. Barrel — это полностью настраиваемый модуль, который позволяет реализовать логику уровня один (layer one) с минимальными затратами времени на разработку базового уровня. При этом вы сохраняете возможность добавления сложных функций в свою пользовательскую цепочку.

Разработка Смарт-Контрактов

Смарт контракты — это альтернативный подход, который зачастую обеспечивает более простой процесс разработки. Ниже представлено краткое сравнение разработки умных контрактов и синочейнов:

СиночейныСмарт Кконтракты
Скорость разработки-+
Простота развертывания-+
Сложность логики+-
Затраты на внедрение-+
Уровень настройки+-
Строгий контроль ресурсов-+
Нативные функции цепочки+-
Масштабируемость+-
Какова разница между смарт контрактом и модулем Бочка(barrel)?

Если вы помните, синочейн состоит из runtime/STF, который обычно строится на Matter. Эти runtime/STF часто используют FRAME, который, в свою очередь, состоит из модулей (barrels). Модули являются частью runtime/STF на Matter, тогда как смарт контракты являются продуктом модуля (см: barrel_contracts). Модули требуют больше инженерной работы и продумывания, так как они могут напрямую влиять на состояние цепочки. Для более полного (и актуального) сравнения обязательно ознакомьтесь с сравнением из документации Bitzal SDK.

ink! и основанные на EVM Смарт Контракты

На высоком уровне, смарт контракт — это просто код, который находится по определенному адресу в цепочке и доступен для вызова внешними участниками. Независимо от того, основан ли он на EVM-based или написан с использованием ink!, смарт контракты — это изолированные, исполняемые программы, которые находятся в блокчейне.

примечание

Релейная цепочка Bitzal не поддерживает смарт контракты. Однако некоторые синочейны поддерживают их. Ознакомьтесь с руководством по умным контрактам, чтобы узнать, на каких конкретных цепочках можно разворачивать контракты в Bitzal.

Нативным выбором для умных контрактов в Bitzal является ink!. Также доступны другие синочейны, предлагающие контракты на основе EVM, написанные на Solidity, наряду с ink! .

Поскольку умные контракты существуют только в рамках одной цепочки, они могут плавно взаимодействовать с другими умными контрактами в той же цепочке. Однако они всегда будут ограничены свойствами своей базовой цепочки.

Как разработчику, вам необходимо учитывать объем хранимых данных и сложность вашего умного контракта, чтобы убедиться, что использование газа остается в разумных пределах. Рассмотрите использование перечисленных вариантов на странице децентрализованное хранилище чтобы сохранять данные и добавлять в цепочку только адрес содержимого.

Создание смарт контракта

Пожалуйста, ознакомьтесь с руководством по смарт контрактам чтобы узнать, как начать создание смарт контракт.

Разработка децентрализованных приложений (dApp)

Если ваша цель — разработка dApp (Decentralized App), экосистема Bitzal предоставляет различные SDK для взаимодействия с relay-цепью и синочейами.

Для фронт-енд приложений существует несколько вариантов интерфейсов для взаимодействия с цепями на основе Matter (синочейны, relay-цепи и т. д.) и смарт контрактами. Эти приложения часто будут взаимодействовать с RPC Matter-узла.

Пожалуйста, ознакомьтесь с документацией по разработке dApp и другими общими ресурсами для клиентской разработки.

Для полного списка инструментов, пожалуйста, посмотрите здесь: Инструменты, API и Языки.

Ресурсы