Руководство по substrateinterface или как работать с Subspace прямо из Python
Всем привет, дорогие читатели, сегодня я бы хотел поделиться с вами весьма интересной информацией, а именно - как можно играться с Subspce прямой из Python.
Первое, что я бы хотел уточнить, так это то, что вы можете работать с Subspace практически с любым языком программированием, тут уже каждому своё, но я выбрал Python, так как он мне симпатизирует :)
Для начала вам нужно скачать питон версии 3.9 и ниже, так как именно на такой версии идёт полная поддержка библиотек, которые мы в будущем будем устанавливать.
Далее, для удобства и вообще для совершенства своего кода, вам стоит скачать PyCharm - программная-среда python, для удобства работы с ним
После всех шагов выше, мы можем наконец то приступать к написанию своего творения!
Если вы шарите уже в этой теме, то можете сразу ознакомиться с официальной документацией на гитхабе, но а если нет, то продолжаем читать дальше.
Для начала вам стоит установить библиотеку substrate-interface
Вы можете сделать это двумя путями:
1. Через консоль. В левом нижнем угле нажмите на Terminal, а далее пропишите pip install substrate-interface, потом Enter.
2. Через настройки, действуйте по инструкции на картинках
После у вас появится вот такое уведомление
На этом с установочной частью покончено! Осталось только свершать чудо!
Импортируем библиотеку substrateinterface и из неё же импортируем SubstrateInterface
Мы должны подключиться к блокчейну, чтобы напрямую брать информацию, сделать это можно следующим оброзом:
Далее мы должны выбрать к какой сети мы хотим подключиться, если множество на выбор, вот некоторые из них
substrate = SubstrateInterface( url="wss://rpc.polkadot.io", ss58_format=0, type_registry_preset='polkadot' )
substrate = SubstrateInterface( url="wss://kusama-rpc.polkadot.io/", ss58_format=2, type_registry_preset='kusama' )
substrate = SubstrateInterface( url="wss://rococo-rpc.polkadot.io", ss58_format=42, type_registry_preset='rococo' )
substrate = SubstrateInterface( url="wss://westend-rpc.polkadot.io", ss58_format=42, type_registry_preset='westend' )
Ну нам же с вами нужно брать информацию из Subspace, поэтому вот вам код для подключения к Subspace
substrate = SubstrateInterface(
ВСЁ! Теперь мы подключены к Subspace
Теперь перед нами открывается куча возможностей, а именно
Изучать тут можно невероятно много! Но мы пройдёмся по самым поверхностным.
Получаем информацию о последнем блоке.
Чтобы получить информацию о последнем блоке используем такой код
substrate.get_block()
и сохраняем в любую переменную, а далее просто выводим принтом эту переменную. Можете воспользоваться вот таким способом
sub = substrate.get_block() print(sub)
Далее, после нажатия выполнения кода у вас будет НЕВЕРОЯТНО много информации о блоке, но нам нужно это сортировать, чтобы отсеять ненужное
Если вы хотите посмотреть хеш последнего блока, то воспользуйтесь следующим кодом
sub = substrate.get_block()["header"]["parentHash"] print(sub)
Если вы хотите посмотреть номер последнего блока, то воспользуйтесь следующим кодом
sub = substrate.get_block()["header"]["number"] print(sub)
Ну а если вам нужно ещё что то узнать из блока, то милости прошу изучать самим все
Если вы хотите посмотреть token_symbol, то воспользуйтесь следующим кодом
sub = substrate.token_symbol print(sub)
Если вы хотите посмотреть баланс любого кошелька, то воспользуйтесь следующим кодом
account_info = substrate.query(
На этом функционал не заканчивается! Но если мы продолжим, то это может затянуться на очень-очень долго :)
Советую, каждому изучить функционал и тогда вы поймёте насколько легко работать с Subspace
Благодаря этим функциям я смог написать бота для Subspace, если кому интересно, можете воспользоваться сами - https://t.me/Subspace_check_bot
На этом я заканчиваю свою статью, но в будущем, я вас уверяю, мы ещё встретимся)