Представляю форк библиотеки на языке Go для работы с Golos API.
Код доступен на Github под MIT лицензией.
Автор @void
Форк и доработка @asuleymanov
Реализованные доработки
- Было реализовано шифрование без использования библиотек С
- Доработка команды get_config
- Внесены изменения позволяющие корректно отрабатывать шифрование на Golos (На данный момент только для операций голосования)
Реализованные методы:
Method Name | Raw Version | Full Version |
get_trending_tags | DONE |
get_discussions_by_trending | DONE |
get_discussions_by_created | DONE |
get_discussions_by_active | DONE |
get_discussions_by_cashout | DONE |
get_discussions_by_payout | DONE |
get_discussions_by_votes | DONE |
get_discussions_by_children | DONE |
get_discussions_by_hot | DONE |
get_recommended_for | DONE |
Blocks and Transactions
Method Name | Raw Version | Full Version |
get_block_header | DONE |
get_block | DONE | PARTIALLY DONE |
get_state | DONE |
get_trending_categories | DONE |
get_best_categories | DONE |
get_active_categories | DONE |
get_recent_categories | DONE |
Globals
Method Name | Raw Version | Full Version |
get_config | DONE | DONE |
get_dynamic_global_properties | DONE | DONE |
get_chain_properties | DONE |
get_feed_history | DONE |
get_current_median_history_price | DONE |
get_witness_schedule | DONE |
get_hardfork_version | DONE | DONE |
get_next_scheduled_hardfork | DONE |
Accounts
Method Name | Raw Version | Full Version |
get_accounts | DONE |
lookup_account_names | DONE |
lookup_accounts | DONE |
get_account_count | DONE |
get_conversation_requests | DONE |
get_account_history | DONE |
Votes
Method Name | Raw Version | Full Version |
get_active_votes | DONE |
get_account_votes | DONE |
Cotent
Method Name | Raw Version | Full Version |
get_content | DONE | PARTIALLY DONE |
get_content_replies | DONE | PARTIALLY DONE |
get_replies_by_last_update | DONE |
Дорожная карта
- Доработка парсинга команд
- Доработка для работы со всеми возможными операциями
P.S.
Народ если кто готов помочь буду Вам рад.
Подскажите, ваша библиотека взаимодействует с сайтом через wss://ws.golos.io или же напрямую по p2p-протоколу с нодами?
Через wss://ws.golos.io
А не интересно ли вам разобраться с нейтивным протоколом? Эта система действительно децентрализованная, сколько сейчас активных нод?
Об этом я пока не задумывался.
А в ответ получим объект или строку?
В основном все зависит от функции. Если у функции в конце стоит RAW то получим голый не парсеный json. Иначе в ответ получим структуру. В языках отличных от GO это в основном называется объект.
а еще такой "Вопросик" как узнать какие параметры бывают в ответ запроса? Есть где то описание? А то дергать каждый раз и смотреть результат это как то долго и не эффективно.
Сожалению я такого описания тоже не нашел. Приходилось дергать и разбирать ответ.
На данный момент готовлю документацию по всем API которые удалось накопать. На данный момент 72 штуки. Но там не со всеми все хорошо. Иногда не понятно что передавать.
А потом планирую серию статей с разбором того что и какая команда делает и их ответы.
В этом файле
Можно посмотреть частые структуры которые получаються в следствии запроса. Кстати данные структуры нужны будут не только в данной команде но и в других тоже часто будут встречаться.
эх блин=( просто например у getAccountHistory есть поле "op" в свою очередь это структура и она не одна там vote,comment,curation_reward и тд операций много разныих и у каждой поля свои это проблема.
Решил не создавать для каждой операции объект сделать map
ключ это название поля а значение это значение. Пока так Потом можно будет сделать реализацию всех операций
Спасибо, А вопрос я так понимаю там json отличается от стандартного. в GO с этим проще но все же. Например (кусок ответа get_account_history')
Это должно сложиться в карту Map на сколько я понимаю key-10, value -это структура
Или это просто массив разных типов? Но в GO тоже строгая типизация если я верно понимаю!
Если запрос возвращает один результат то будет key 0. Если несколько то ключи нумеруются с 0 и до предела.
@asuleymanov Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за общую выплату получил
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
@asuleymanov Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награду за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
@asuleymanov Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награду за Количество комментариев
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
@asuleymanov Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество полученных голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.