Включение в Injective никогда не было проще. Injective предлагает непревзойденный опыт для всех, будь то разработчик бэкэнда или фронтэнда, инженер по смарт-контрактам или оператор узла. Это руководство дает введение в разработку на Injective, а также ссылки и ссылки на то, где вы можете глубже изучить темы, которые вас больше всего интересуют.
Injective уникальным образом предоставляет набор мощных модулей DeFi Web3, которые значительно упрощают процесс разработки. Это включает в себя модуль on-chain orderbook, к которому любое dApp может подключиться для мгновенной институциональной ликвидности в сети. Разработчики могут легко подключать модули друг к другу для быстрой итерации новых приложений, что невозможно на любом другом L1, где разработка приложений требует разработки с нуля.
Это руководство дает обзор разработки и выделяет некоторые модули, такие как модуль биржи, который можно использовать для создания новаторских приложений с непревзойденной ликвидностью с первого дня.
1. Введение в разработку смарт-контрактов и установка injectived
Смарт-контракты на блокчейне Injective представляют собой высокоинтероперабельный фреймворк нового поколения.
Слой смарт-контрактов WebAssembly (WASM) Injective предоставляет широкий спектр финансовых примитивов, таких как общая ликвидность в сети, оракулы цен, кросс-чейн бриджинг и уникальные возможности исполнения, позволяющие разрабатывать сложные децентрализованные приложения (dApps).
Уникальной особенностью Injective является его поддержка самоисполняющихся смарт-контрактов, нового примитива, который расширяет возможности проектирования приложений и позволяет создавать полностью децентрализованные приложения без разрешения. Injective также разработан для обеспечения взаимодействия между блокчейнами, позволяя бесшовную интеграцию и межсетевое взаимодействие, тем самым открывая новые возможности для инновационных продуктов и услуг, которые одновременно используют преимущества нескольких сетей блокчейнов. Приверженность Injective взаимодействию между блокчейнами, наряду с его современной платформой смарт-контрактов и базовыми финансовыми инфраструктурами, делает его ведущей силой в развитии более открытой, справедливой и децентрализованной финансовой системы.
Для начала разработки собственных смарт-контрактов на Wasm необходимо сначала установить injectived. Injectived - это интерфейс командной строки (CLI) и демон, который подключается к Injective, позволяя разработчикам взаимодействовать с ним. Он необходим для операций с узлами/валидаторами, программного создания учетных записей, пополнения счетов и запуска смарт-контрактов в Injective. Документация содержит инструкции по установке injectived с использованием образа Docker, что упрощает процесс настройки для разработчиков. Однако, если вы предпочитаете не использовать Docker, вы можете установить injectived из двоичного файла и следовать предоставленным инструкциям по установке. Документация также включает советы по использованию injectived как с основной сетью Injective, так и с тестовой сетью, указывая правильный флаг --node для каждого.
Вышеупомянутая связанная документация также охватывает основы создания и взаимодействия со смарт-контрактами на Injective, включая структуру базового смарт-контракта и его развертывание через injectived. Он предоставляет примеры смарт-контрактов на основе Wasm, включая счетчик контрактов, который увеличивает и сбрасывает счетчик до заданного значения. Другие отличные ресурсы для изучения разработки CosmWasm включают CosmWasm Academy и Area-52, два отличных бесплатных онлайн-курса.
2. Разработка фронтенда и начало работы с Injective TypeScript SDK
Разработка фронтенда в Injective включает в себя создание пользовательских интерфейсов, которые взаимодействуют с блокчейном, позволяя пользователям выполнять различные действия, такие как управление активами, создание рынков без разрешения в dApps Injective, запрос данных из блокчейна и многое другое. Injective TypeScript SDK (модуль injective-ts) предоставляет набор инструментов и библиотек, которые упрощают процесс создания этих интерфейсов.
Лучшим ресурсом для начала работы с Injective TypeScript SDK является документация. Здесь вы найдете все необходимое для успешной разработки вашего первого dApp на Injective.
Необходимо отметить две ссылки:
- Репозиторий GitHub injective-ts-examples для просмотра базовых примеров, таких как отправка транзакции и запрос данных в Injective.
- Раздел "Создание dApps", чтобы научиться создавать приложение с нуля, например DEX, а также создавать смарт-контракт и взаимодействовать с ним через модуль injective-ts.
3. Торговля через API и начало работы с Injective Python SDK
Торговля через API в dApps, построенных на Injective, подразумевает программное выполнение сделок, управление ордерами и доступ к рыночным данным через Injective API. Injective Python SDK предоставляет удобный способ взаимодействия с Injective API, позволяя разработчикам создавать торговых ботов, автоматизировать торговые стратегии и интегрировать возможности Injective в свои приложения.
Архитектура Injective разработана для облегчения создания и торговли произвольными спотовыми и деривативными рынками, включая управление лимитами ордеров на цепочке, исполнение сделок, сопоставление ордеров и расчет транзакций через модуль обмена Injective. Этот комплексный подход обеспечивает беспрепятственный процесс торговли, от размещения ордера до расчета, все операции управляются на цепочке.
В торговом процессе центральными являются две основные службы:
- API цепочки: В первую очередь предназначен для операций записи, API цепочки напрямую запрашивает состояние блокчейна с узла, предоставляя непосредственный и прямой доступ к текущему состоянию блокчейна. Он включает в себя ограниченный набор запросов API для чтения данных, фокусируясь на текущем состоянии блокчейна.
- API индексатора: Предназначен исключительно для операций чтения только, API индексатора реконструирует состояние блокчейна из событий, испускаемых цепочкой, предлагая исчерпывающий обзор состояния сети без прямого доступа к блокчейну. Предлагает дополнительные функции, такие как более широкий диапазон методов, поддержку потоковой передачи, интеграцию gRPC и возможность получения исторических данных, что делает его более универсальным инструментом для получения данных по сравнению с API цепочки.
Жизненный цикл торговли начинается с того, что трейдеры подписывают транзакции, содержащие сообщения о ордерах. Затем эти транзакции транслируются на узел Injective, где они добавляются в mempool и, в конечном итоге, включаются в блок. Во время обработки блока выполняется обработчик для каждого типа сообщения. Немедленная обработка применяется к сообщениям об отмене ордера и ликвидации, а сообщения о создании ордера ставятся в очередь для последующей обработки.
В конце блока начинается процесс пакетного аукциона для сопоставления ордеров. Рыночные ордера исполняются по отношению к неисполненному ордербуку, а лимитные ордера сопоставляются друг с другом и с неисполненным ордербуком, что приводит к непересекающемуся ордербуку. Затем цепочка соответствующим образом распределяет средства, создавая позиции для торговли деривативами и обменивая активы для спотовых торгов. Цепочка транслирует события, содержащие информацию о сделках и расчетах, которые затем индексируются бэкендом Injective Exchange API и передаются всем подписанным трейдерам.
Полную документацию SDK с дополнительными руководствами и примерами можно найти здесь.
4. Введение в запуск узла в Injective
Запуск узла в Injective является critical step (критически важным шагом) для разработчиков и валидаторов, желающих участвовать в работе сети. Существует несколько способов взаимодействия с узлом Injective, включая интерфейс командной строки (CLI) вместе с конечными точками gRPC и REST. Каждый метод предлагает уникальные преимущества в зависимости от ваших конкретных потребностей и технического стека.
Вариант 1: CLI
injectived CLI - это мощный инструмент для взаимодействия с узлом. Прежде чем использовать CLI, убедитесь, что ваш узел запущен в терминале.
Вариант 2: gRPC
gRPC - это высокопроизводительный open-source универсальный RPC-фреймворк, обеспечивающий эффективную связь между сервисами. Экосистема Protobuf предоставляет инструменты для генерации клиентского кода из файлов *.proto, облегчая интеграцию с различными языками программирования.
grpcurl: инструмент командной строки для взаимодействия с сервисами gRPC, похожий на curl, но для gRPC. Он полезен для отладки и тестирования.
Программно: вы также можете взаимодействовать с узлом программно с помощью Go, Python или TypeScript. Это подразумевает создание gRPC-соединения и использование сгенерированного клиентского кода для запросов к gRPC-серверу.
Вариант 3: REST
Все службы gRPC доступны через REST-запросы с помощью gRPC-gateway, что является удобной альтернативой для тех, кто не использует gRPC. URL-пути основаны на полном имени метода службы Protobuf с некоторыми настройками для удобных URL-адресов.
4. Ресурсы для разработчиков
По мере того, как вы начинаете свое путешествие в качестве разработчика, не стесняйтесь обращаться к этому списку, чтобы получить полный список ресурсов для разработки на Injective.
Успешной разработки!
О Injective
Injective - это молниеносно быстрый блокчейн первого уровня с межсетевым взаимодействием, оптимизированный для создания первоклассных финансовых приложений Web3. Injective предоставляет разработчикам мощные модули "подключи и работай" для создания непревзойденных dApps. INJ - это собственный актив, который питает Injective и его быстрорастущую экосистему. Injective инкубируется Binance и поддерживается такими известными инвесторами, как Jump Crypto, Pantera и Mark Cuban.