Библиотеки для работы

Наличие библиотеки для конкретного языка программирования зависит от наличия заготовок для работы с криптографией, большими числами и транспортными протоколами (http/ws). Так как GOLOS исторически эволюционировал из Graphene, многие библиотеки для кодовой базы Steem нередко подходят для Golos. Отличительной особенностью является формат общения с нодой (структура json-rpc), порядок и наименование параметров при описании операции, формат сложных данных в бинарном виде.

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

Ниже перечислены основные библиотеки, которые поддерживают большинство API запросов к ноде и формирование транзакций.

JavaScript

Фаворит для разработки приложений библиотека golos-lib-js. В нем есть поддержка всего что нужно как для серверного (nodejs), так и для пользовательского (js в браузерах) взаимодействия с Golos:

  • Создание и кодирование ключей;

  • API-запросы;

  • Формирование транзакций;

  • Упрощенный конструктор транзакций для операций;

  • Функции обратного вызова для запросов;

Документация golos-lib-js доступна на GitHub. Также примеры для часто используемых операций смотрите в разделе Примеры кода.

Python

Библиотека https://github.com/golos-blockchain/lib-python, наиболее актуальная на текущий момент и поддерживает последние изменения в блокчейне (26 ХФ). https://pypi.org/project/golos-lib-python/ За её основу была взята golos-python от @vvk (актуальна до 23 ХФ).

Библиотека golos-python от @someguy/@ksantoprotein поддерживает как API запросы, так и формирование транзакций. Документация к ней на английском языке.

PHP

Сложность разработки поддержки на PHP в том, что нет стандартных библиотек для работы с криптографией. Поэтому необходим полный доступ к серверу, чтобы собрать secp256k1 для PHP и включить поддержку GMP. Это накладывает определенные ограничения на разработчиков (требует опыт в администрировании).

Несмотря на это, существует библиотека php-graphene-node-client с поддержкой GOLOS от @t3ran13, установка возможна через Docker.

GO

Библиотека golos-lib-go от @asuleymanov также подходит для API запросов и изучения формирования транзакций.

Другое

Если вы не нашли требуемый язык программирования, то можно обратить внимание на существующие библиотеки для Steem и EOS. Чтобы модифицировать их и получить поддержку Golos достаточно проверить формат json-rpc запросов, поменять chain_id (в GOLOS он равен 782a3039b478c839e4cb0c941ff4eaeb7df40bdd68bd441afd444b9da763de12 — это префикс для подписи сырых транзакций) и настроить конструктор операций.

  • C# Ditch — быстрая и простая библиотека на C# использующая .NET стандарта 2.0;

  • Elixir API wrapper — библиотека на Elixir для API-запросов;

  • Swift Steem — библиотека на Swift.

Last updated