Особенности разработки приложений, использующих Steem/Golos API. Спикер: Павел Мартынов
Полезную и конструктивную информацию об особенностях разработки приложений на Golos/Steem предоставит разработчик и основатель проекта Steepshot, который также построен на данных приложениях.
Steem и Golos
На сегодняшний день можно выделить три основные экосистемы: Bitcoin и все форки, Ethereum и все проекты на данной платформе и экосистемы, построенные на Graphene.
Блокчейны Steem и Golos построены на технологии Graphene
К преимуществам экосистемы можно отнести мощный, быстрый движок и возможности, недоступные в других экосистемах.
Сравним с экосистемой Ethereum:
Из таблицы видны основные плюсы экосистем, построенных на Graphene:
- Отсутствие комиссии за транзакции
- Меньше времени между блоками - быстрее подтверждается транзакция
- Используется консенсус алгоритм Delegated Proof of Stake - консенсус основан на том, что делегаты, не майнеры, производят блоки. Делегатов выбирают путем голосования все участники сети
- Высокая пропускная способность (Steem и Golos - самые быстрые цепочки на сегодняшний день)
Главное преимущество экосистемы Ethereum - наличие смарт-контрактов.
Взаимодействие с цепочками:
Исходя из языка программирования, на котором написан софт можно выделить несколько основных библиотек:
Если это Python - библиотека Pison
Для JS разработчиков - библиотека Steem JS, ее аналог для Golos - Golos JS
Библиотека Ditch - библиотека, созданная командой Steepshot для dotnet разработчиков
Взаимодействие с нодами происходит через Websocket:
У разных цепочек - разный chain_id, это связано с тем, что когда вы подписываете транзакцию, необходимо использовать соответствующий chain_id.
Общение с сетью
Общение с сетью происходит следующим образом:
Подробнее о транзакциях в сети:
Структуры транзакции без подписи в формате JSON:
Затем происходит сериализация - берется каждое значение, получается его хэш и эти хэши конкатенируются друг с другом, образуя строку - это и есть результат.
Далее происходит подписание транзакций:
Достаточно сложный механизм - для подписания используется ECDSA Seep256k1. Если вы не сильны в криптографии и не обладаете достаточной экспертизой - можно использовать готовые решения.
Подписав хэш сообщения, добавляем полученную подпись в «signatures» транзакции и получаем:
Архитектура приложений на Steem/Golos на примере Steepshot:
Steepshot - децентрализованное приложение, которое позволяет делиться фотографиями и получать за это вознаграждения в криптовалюте.
Технически структуру можно представить:
Есть клиентские приложения, которые читают информацию. Для этой цели реализуется API, которое взаимодействует с Backend.
Мобильное приложение Steepshot:
Статистика Steepshot:
Если у вас остались вопросы: