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

Piston для чайников, или используем простой и удобный инструмент для доступа к блокчейн Golos

Итак, допустим Вы решили, что Вам необходим доступ к блокчейн Голос напрямую.

Для чего это нужно? 

Может быть Вы захотите получать какую-либо специфическую информацию и собрать статистику, а может решите написать своего бота, который будет апвойтить посты по определённому, одному лишь ему известному правилу, либо оставлять матерные комментарии под постами недоброжелателей.  Да мало ли. Применений на самом деле немало. 

Как это сделать?

Ни для кого не секрет, что существует множество способов работы с блокчейн.
Некоторые обращаются к нодам напрямую, посредством JSONRPC протокола, но многие используют библиотеки, написанные сторонними разработчиками. Большинство из этих библиотек предлагают простую и умную систему команд, используя которые Вам не нужно копаться в структурах JSON и строить сложные запросы.
Безусловно, данный подход недостаточно гибок и не обеспечивает нужной иногда расширенной функциональности, но для новичков и для тех, кто просто хочет поиграться, самое оно.

На Голос куча гайдов и примеров работы с разными инструментами для разных ЯП, но вот про библиотеки на Python информации почти совсем нет. Я сначала подумал, что и инструментов этих самых нет и Python несправедливо обделён, но после недолгих поисков на родительском ресурсе STEEMIT я быстро нашел то, что мне нужно.

Я нашел несколько нужных инструментов, но резюмируя можно сказать что пальма первенства и право называться самой функциональной библиотекой для работы с блокчейн Golos/STEEM для языке Python принадлежит библиотеке Piston от разработчика xeroc.

Piston лёгок и удобен, но в то же время функционален.

Piston разделён на две части piston-lib и piston-cli, первая непосредственно включает процедуры и функции для работы с блокчейн Голос, вторая предоставляет удобный инструмент для работы со STEEM/Golos прямо из командной строки. 

К слову сказать, piston-cli можно использовать в качестве удобной замены cli кошельку, если Вы конечно, не боитесь доверить ей свой соответствующий приватный ключ.

Но. обо всем по порядку...

Часть первая. Установка

Возможно, эта часть статьи лишняя и в ней изложены совсем уж очевидные вещи, но дабы отсечь дополнительные вопросы я решил всё-таки кратко описать процесс инсталляции.

Для того, чтобы начать работу на вашем ПК должен быть установлен интерпретатор Python3 и необходимые библиотеки.

Для Ubuntu/Debian выполняем команду:

sudo apt-get install python3

sudo apt-get install libffi-dev libssl-dev python-dev python3-dev

Далее устанавливаем менеджер пакетов pip

sudo apt-get install python3-pip

и менеджер виртуальных окружений.

sudo apt-get install virtualenv

В директории home создаём будущий каталог проекта и переходим туда

mkdir test_project

cd test_project

создаём новое виртуальное окружение

virtualenv -p python3 piston

активируем его

piston/bin/activate

Устанавливаем в наше виртуальное окружение библиотеки piston

pip3 install piston-lib

pip3 install piston-cli

Теперь нам доступны команды piston-cli и библиотека piston-lib, которую мы сможем использовать в своих проектах.

В следующей части будем работать с piston-cli и попробуем создать свой первый пост при помощи библиотеки piston-lib


7
6.293 GOLOS
На Golos с May 2017
Комментарии (25)
Сортировать по:
Сначала старые