Python+Windows XP+GOLOS версии ХФ17
Вот за что мы любим вика так это за то, что он создал новую публичную ноду 'wss://17.golos.cf', а потом еще и свою первую публичную ноду 'wss://api.golos.cf' перевел в режим ожидания 4 апреля с ХФ17. Боты слетели напрочь, так как там новая API и всё такое, но я радуюсь, так как если бы и первая публичная нода не была бы переведена на 17, то мы бы так и телились с тестированием и перекодированием.
Для питона ситуация отвратная, так как piston перестал фурычить... но но но, копаясь в недрах кода я нашел
Если переводить на албанский, то модуль piston изначально может в "jsonrpc": "2.0", но при выходе функции она коцается, чтобы адаптировать под голос. Но так как там нюансов больше, а времени не особо, то переходим к официальной версии питона для голос. Благодаря @vvk (а вы еще не проголосовали за него, как за делегата?) у нас есть действующий модуль.
качаем так
https://github.com/bitfag/golos-python/tree/steem-merge
И теперь задача установить это туда, где и до этого у меня работали скрипты под голос (или в другое место/папку аля golos17). Лично мне не понравилась идея под XP запускать следующую команду
call C:\golos17\Scripts\pip3.exe install -U "git+https://github.com/bitfag/golos-python.git@steem-merge#egg=steem"
Так как это требует установления отдельно git
Мы не линуксоиды, это все не встроено да и отбирает места на жестком диске.
Поэтому спокойно распаковываем zip и выполняем стандартно прям из распакованного
call C:\golos17\Scripts\python.exe setup.py install
И закатываем в нужное место в папке golos17 папки steem и steembase. Наверно можно было бы это указать сразу в команде выше, но я признаюсь честно нинаю как
# -*- coding: utf-8 -*-
from steem import Steem
golos = Steem(nodes = ['https://17.golos.cf'])
a = golos.call('get_accounts', ['ksantoprotein'], api='database_api')
print(a)
Такая забавная ситуация с этим официальным модулем... вот версию питона 2.7 они поддерживают, версии питона 3.5 и выше... аналогично, при запуске ошибки не будет. А вот 3.4 для ХР вылезет ошибка связанная с плохо компилированным модулем
from http.client import RemoteDisconnected
Лично я уже начал подумывать о том, что надо снести систему и установить Винду повыше, а потом плюнул и просто удалил эту строку и еще одно упоминание RemoteDisconnected ниже в файле http_client.py в папке steembase. Ну и ладно, теперь информация о багах/ошибках приходит неполной и уже не так понятно что там случилось и что надо правит... за то работает.
Как мы видим, теперь у нас есть не только api='database_api', но может быть и api='social_network', у нас в новостях указано:
https://golos.io/ru--golos/@goloscore/novosti-golos-core-status-razrabotki-na-05-02-2018-tekhnicheskie-izmeneniya-informaciya-o-bounty-programme
и еще помощником по api для начинающих ботоводов
http://ropox.tools/steemjs/api/database_api/get_ops_in_block
это поможет собственно написать набор функций под себя и не ждать пока кто-то напишет всё под капот питона, чтобы было удобно и без особых заморочек с вызовом. Так что уже адаптировал к работе python 3.4 как для 32 битной Windows, так и для 64 битной. Теперь только кодить.
Как резюме...
Было
golos.rpc.get_ops_in_block(13751820, True)
Стало
golos.call('get_ops_in_block', 13751820, True, api='database_api')