June 29, 2022

Работа с Neonscan, используя библиотеки request

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

Для начала дадим определение Neonscan:

NeonScan — это индексатор и проводник блоков, подобный Etherscan и Solscan. Инструмент был создан в партнерстве с командой Solscan, которая возглавляла разработку интерфейса пользователя NeonScan и функциональности серверной части.

Давайте же приступать к нашему написанию кода!

Всю свою работу я буду показывать на таком языке программирования, как Python

Первое, что вам понадобиться - скачать Python, можно скачать любую версию, так как библиотека request будет работать на любой версии.

Далее вам потребуется скачать PyCharm - это среда разработки python, в которой очень просто писать код, ну или же вы можете воспользоваться visual studio cod.

После того как, вы установили все программы и открыли их, сперва вам нужно импортировать библиотеку request, делается это следующим образом:

Код:

import request

После этого действия перед нами открывается куча возможностей отправлять запросы и принимать ответы!

Самый первый запрос, который мы отправим будет - получение информации из Neonscan об количестве существующих аккаунтов, о токенах и о всех транзакциях

Создаём любую переменную и сохраняем в неё ответ от сервера, а далее выводим ответ в формате json(), делается это следующим образом

Код:

response = requests.get("https://beta-devnet api.neonscan.org/overview/stats")

print(response.json())

В ответ мы получим вот такую строку

В которой наглядно можно увидеть, сколько всего аккаунтов, сколько токенов/транзакций и какой сейчас tps, думаю, вы сами сможете придумать применение этому ;)

Ну а если вы хотите получить информацию о текущем блоке, то воспользуйтесь следующим кодом:

Код:

response = requests.get("https://beta-devnet-api.neonscan.org/overview/network")

print(response.json())

В ответ мы получим вот такую строчку

В которой можно узнать информацию о текущем блоке и транзакциях

Если вы хотите узнать информацию о последней 1 транзакции, то воспользуйтесь следующим кодом

Код:

response = requests.get("https://beta-devnet-api.neonscan.org/transaction/lastest?offset=0&limit=1")

print(response.json())

В ответ мы получим следующую строчку:

{'success': True, 'data': {'total': 1060749, 'items': [{'_id': '62bc1222c41ddf84918bc35a', 'hash': '0x2ff002782f60e1df5118010007de85f23271d7e5b0637dc6d3dd5f06c0941647', 'nonce': 7, 'blockHash': '0x816712f3faeff8f3425b347e0c279b6dc6c1e8f18d5fb7b7f96af665c1d2c1a9', 'blockNumber': 144460607, 'transactionIndex': 0, 'from': '0xf3afae66abfd4b7005903c74c1089281837aa68c', 'to': '0xbc22a1304213b1a11eed3c5d116908575939bc4b', 'value': '0x0', 'gas': 2000000, 'gasUsed': 1158660, 'gasPrice': '200000000000', 'input': '0xa59f3e0c000000000000000000000000000000000000000000000000e54e244dee6b0000', 'contractAddress': None, 'fee': 231732000000000000, 'status': '1', 'timestamp': 1656492554, 'logs': [], 'createdAt': '2022-06-29T08:49:38.915Z', 'updatedAt': '2022-06-29T08:49:38.915Z', 'id': '62bc1222c41ddf84918bc35a', 'method': '0xa59f3e0c'}]}}

Из неё мы уже сможем достать всю интересующую нас информацию, от хеша, вплоть до метода

Если вы хотите узнать информацию об своём аккаунте, то воспльзуйтесь следующим кодом:

Код:

response = requests.get("https://beta-devnet-api.neonscan.org/address/info?address=YOUR ADDRES")

print(response.json())

В ответ мы получим вот такую информацию

Баланс указан в токенах Neon

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

Как я и говорил - это костлявый способ, но более хороший способ мы рассмотрим чуть позже

Код на гит хабе - https://github.com/Irors/neon/tree/master

Официальные ссылки на проект

Twitter

Github

Discord

Youtube

Medium

Создатель статьи - Irorss