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

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

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

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

JavaScript

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

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

  • API-запросы;

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

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

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

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

Python

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

Библиотека golos-pythonarrow-up-right от @someguyarrow-up-right/@ksantoproteinarrow-up-right поддерживает как API запросы, так и формирование транзакций. Документацияarrow-up-right к ней на английском языке.

PHP

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

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

GO

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

Другое

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

Last updated