Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
ksantoprotein
6 лет назад

Python+Windows XP+GOLOS версии ХФ17

Вот за что мы любим вика так это за то, что он создал новую публичную ноду 'wss://17.golos.cf', а потом еще и свою первую публичную ноду 'wss://api.golos.cf' перевел в режим ожидания 4 апреля с ХФ17. Боты слетели напрочь, так как там новая API и всё такое, но я радуюсь, так как если бы и первая публичная нода не была бы переведена на 17, то мы бы так и телились с тестированием и перекодированием.

Для питона ситуация отвратная, так как piston перестал фурычить... но но но, копаясь в недрах кода я нашел

17-01.jpg

Если переводить на албанский, то модуль 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')
0
132.476 GOLOS
На Golos с July 2017
Комментарии (11)
Сортировать по:
Сначала старые