This post is from a low-reputation account and contains an unverified outbound link. Be cautious before clicking external links.

SteemJ - интеграция steem в java-приложения

Words
733
Reading
4 min
Listen
Play
9y

Добрый день. В этом посте я хочу рассказать о библиотеке для работе с Steem API для Java.
В то время, как для python и javascript есть официальные библиотеки, с другими языками программирования все обстоит сильно хуже. Однако разработка движется, и недавно вышла новая версия библиотеки для Java. Ниже я выкладываю сокращенный (я убрал чейнджлог - интересующиеся могут посмотреть его в оригинале) и немного переработанный (я перенес общую информацию вверх, а информацию о собственно изменениях в новом релизе - вниз) перевод статьи о новых фичах версии 0.4.0 которая, на мой взгляд, уже очень близка к production-состоянию. Оригинал статьи здесь. Автор поста (и библиотеки) - dez1337.


Выпущен SteemJ версии 0.4.0 - Интегрируйте Steem в ваш проект на Java

После изменения 30000 строк в 345 файлах, на что у меня ушло все свободное время за последние два месяца, я наконец могу поделиться с вами версией 0.4.0 библиотеки SteemJ.

Предыдущий релиз: 0.3.4

Общая информация

Что такое SteemJ?

SteemJ - это проект, который позволяет вам осуществлять коммуникацию с нодой Steem, используя Java. На данный момент, проект поддерживает большинство вызовов API и опубликование (broadcast) большинства типов операций. Более подробная информация есть на гитхабе:

https://github.com/marvin-we/steem-java-api-wrapper

Как мне добавить его в свой проект?

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

Поучавствовать в проекте

Проект становится довольно большим, а работы еще много. Если вы хотите поддержать проект - просто склонируйте репозитарий и сделайте пулл-реквест. Я буду очень благодарен вам, если вы сделаете это =).

git clone https://github.com/marvin-we/steem-java-api-wrapper.git

Вышел SteemJ V0.4.0

Приветствую, Стимиане!

Я рад поделить с вами новой версией SteemJ, подготовка которой не оставляла мне свободного времени в последние 10 недель и которая представляет собой по-настоящему значимый майлстоун на пути превращения в полнофункциональный Steem Wallet из простой обертки вокруг существующего Steem API. Для достижения этой цели было изменено в общей сложности около 30000 строк кода в 475 файлах.

Для меня это действительно важный майлстоун. Когда я общался с некоторыми пользователями на GitHub в комментариях и задачах (Issues), я уже упоминал, что данный проект содержит значительные ошибки в дизайне. Причина этого в том, что я просто-напросто не был в курсе всех хитрых особенностей блокчайна Steem, когда я начинал этот проект.

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

Так что самое большое и важное изменение в этом релизе - это корректировка архитектуры SteemJ с целью более полного соответствия оригинальной реализации Steem

Кроме общего изменения архитектуры я также завершил переименование библиотеки из “steem-api-wrapper” в “steemj”.

Исходник – https://ahrefs.com

Это изменение привело к тому, что к Java-проекту теперь необходимо добавлять следующую зависимость:

<dependency>
    <groupId>eu.bittrade.libs</groupId>
    <artifactId>steemj-core</artifactId>
    <version>0.4.0</version>
</dependency>

Другие варианты добавления SteemJ в ваш проект описаны в официальной wiki.

Другая проблема, на которую часто жаловались пользватели, это устаревший код в примере, приложенном к библиотеке. Чтобы решить эту проблемы, SteemJ был преобразован в многомодульны проект и состоит сейчас из проектов steemj-core (собственно, библиотека) и steemj-sample (приложение-пример).

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

Полный чейнджлог

Можно посмотреть в оригинальном посте

Свяжитесь со мной!

Большинство моих проектов отнимают довольно много времени и я всегда стараюсь сделать что-нибудь полезное для комьюнити. Ваши отзывы и поддержка - то, что позволяет мне продолжать эту работу. Поэтому я буду очень рад, если вы поделитесь со мной своими мыслями по поводу проекта <3. Просто свяжитесь со мной на Steemit или напишите мне на GitHub.

Если вы хотите быть в курсе изменений, или просто вам нравится то, что я делаю, будет здорово, если вы нажмете на кнопку внизу =).

Спасибо за то, что прочитали, с наилучшими пожеланиями

@dez1337


P.S. от переводчика: На мой взгляд, один из основных недостатков данной библиотеки сейчас - это проблемы при работе с форками стима и тестовой сетью - например, названия используемых валют (SBD/STEEM) захардкожены. Однако уже в нынешней разработка движется, и я надеюсь, что в ближайшее время эти проблемы будут устранены - упоминаемое автором движение от обертки над API к полноценному "кошельку" как раз предполагает создание таких "кошельков" для разных типов сетей

Этот пост на golos.io: https://golos.io/steem/@ray66rus/steemj-integraciya-steem-v-java-prilozheniya

SteemJ - интеграция steem в java-приложения | Ecency