Баг при постинге в Голос через conservatorio (CLI на python)
Как воспроизвести баг
Ставим нужные python-библиотеки
Я скачал исходные коды conservatorio из репозитория на github
git clone https://github.com/GolosChain/conservatorio
cd conservatorio
Подправил setup.py - см. https://github.com/GolosChain/conservatorio/pull/2) и выполнил установку:
python setup.py install --user
Еще поставил одну библиотеку, которая мне впоследствии понадобится:
pip install transliterate==1.8.1
Пишем python-скрипт
main.py
import time
import sys
from piston.steem import Steem
from piston.utils import sanitizePermlink
from transliterate import translit
args = sys.argv
steem = Steem(node="wss://ws.golos.io", wif=args[2])
#если не указывать node, постинг пойдет в Стим без каких-либо ошибок
title = args[3]
permlink = sanitizePermlink(translit(title, 'ru', reversed=True) + '-' + str(int(time.time())))
steem.post(title=title, permlink=permlink, body=args[4], author=args[1], tags=["test"])
Запускаем скрипт
со следующими параметрами:
python main.py michael *Мой приватный ключ для постинга в Голос* Тест тест
Вылетает ошибка:
Traceback (most recent call last):
File "C:\Users\Misha\AppData\Roaming\Python\Python35\site-packages\steem_piston-0.3.4-py3.5.egg\piston\steem.py", line 492, in broadcast
if not self.rpc.verify_authority(tx):
File "C:\Users\Misha\Anaconda3\lib\site-packages\grapheneapi\graphenewsrpc.py", line 421, in method
r = self.rpcexec(query)
File "C:\Users\Misha\Anaconda3\lib\site-packages\grapheneapi\graphenewsrpc.py", line 388, in rpcexec
raise RPCError(ret['error']['message'])
grapheneapi.graphenewsrpc.RPCError: 3030008 tx_missing_posting_auth: missing required posting authority
Missing Posting Authority michael
Дальше многобукв, содержащих мой приватный ключ для постинга в Голос
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/JSProjects/Import_to_Golos/GolosPosting/src/main.py", line 17, in module
steem.post(title=title, permlink=permlink, body=args[4], author=args[1], tags=["test"])
File "C:\Users\Misha\AppData\Roaming\Python\Python35\site-packages\steem_piston-0.3.4-py3.5.egg\piston\steem.py", line 665, in post
return self.finalizeOp(op, author, "posting")
File "C:\Users\Misha\AppData\Roaming\Python\Python35\site-packages\steem_piston-0.3.4-py3.5.egg\piston\steem.py", line 416, in finalizeOp
return self.broadcast(tx)
File "C:\Users\Misha\AppData\Roaming\Python\Python35\site-packages\steem_piston-0.3.4-py3.5.egg\piston\steem.py", line 495, in broadcast
raise InsufficientAuthorityError
piston.steem.InsufficientAuthorityError
Пробовал вместо conservatorio ставить steem-piston - ошибка та же...