Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
cyberevents
6 лет назад

Особенности разработки приложений, использующих Steem/Golos API. Спикер: Павел Мартынов

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

Steem и Golos

На сегодняшний день можно выделить три основные экосистемы: Bitcoin и все форки, Ethereum и все проекты на данной платформе и экосистемы, построенные на Graphene.

Блокчейны Steem и Golos построены на технологии Graphene

Снимок экрана 2018-01-17 в 19.41.04.png

К преимуществам экосистемы можно отнести мощный, быстрый движок и возможности, недоступные в других экосистемах.

Сравним с экосистемой Ethereum:

Снимок экрана 2018-01-17 в 19.43.15.png

Из таблицы видны основные плюсы экосистем, построенных на Graphene:

  • Отсутствие комиссии за транзакции
  • Меньше времени между блоками - быстрее подтверждается транзакция
  • Используется консенсус алгоритм Delegated Proof of Stake - консенсус основан на том, что делегаты, не майнеры, производят блоки. Делегатов выбирают путем голосования все участники сети
  • Высокая пропускная способность (Steem и Golos - самые быстрые цепочки на сегодняшний день)

Главное преимущество экосистемы Ethereum - наличие смарт-контрактов.

Взаимодействие с цепочками:

Исходя из языка программирования, на котором написан софт можно выделить несколько основных библиотек:

Снимок экрана 2018-01-17 в 19.56.10.png

Если это Python - библиотека Pison

Для JS разработчиков - библиотека Steem JS, ее аналог для Golos - Golos JS

Библиотека Ditch - библиотека, созданная командой Steepshot для dotnet разработчиков

Взаимодействие с нодами происходит через Websocket:

Снимок экрана 2018-01-17 в 19.58.47.png

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

Общение с сетью

Общение с сетью происходит следующим образом:

Снимок экрана 2018-01-17 в 20.04.15.png

Подробнее о транзакциях в сети:

Снимок экрана 2018-01-18 в 1.40.26.png

Структуры транзакции без подписи в формате JSON:

Снимок экрана 2018-01-17 в 20.08.15.png

Затем происходит сериализация - берется каждое значение, получается его хэш и эти хэши конкатенируются друг с другом, образуя строку - это и есть результат.

Снимок экрана 2018-01-17 в 20.08.51.png

Далее происходит подписание транзакций:

Снимок экрана 2018-01-17 в 20.09.59.png

Достаточно сложный механизм - для подписания используется ECDSA Seep256k1. Если вы не сильны в криптографии и не обладаете достаточной экспертизой - можно использовать готовые решения.

Подписав хэш сообщения, добавляем полученную подпись в «signatures» транзакции и получаем:

Снимок экрана 2018-01-17 в 20.11.26.png

Архитектура приложений на Steem/Golos на примере Steepshot:

Steepshot - децентрализованное приложение, которое позволяет делиться фотографиями и получать за это вознаграждения в криптовалюте.

Технически структуру можно представить:

Снимок экрана 2018-01-17 в 20.11.59.png

Есть клиентские приложения, которые читают информацию. Для этой цели реализуется API, которое взаимодействует с Backend.

Мобильное приложение Steepshot:

Снимок экрана 2018-01-17 в 21.22.57.png

Статистика Steepshot:

Снимок экрана 2018-01-17 в 21.27.15.png

Если у вас остались вопросы:

Снимок экрана 2018-01-17 в 21.28.28.png

2
3.786 GOLOS
На Golos с August 2017
Комментарии (2)
Сортировать по:
Сначала старые