Работа с Neonscan, используя библиотеки request
Всем привет, в такой чудесный день, я бы хотел обсудить с вами одну из самых приятных вещей, таких как работа с Neonscan не через интерфейс, а сразу через запросы на сервер, но тут стоит учитывать, что этот способ, скорее всего будет костыльный, поэтому важно понимать, что лучше работать удалённо через - web3, но об этом в следующих статьях, а в этой мы рассмотрим более просто способ сёрчить Neonscan запросами.
Для начала дадим определение Neonscan:
NeonScan — это индексатор и проводник блоков, подобный Etherscan и Solscan. Инструмент был создан в партнерстве с командой Solscan, которая возглавляла разработку интерфейса пользователя NeonScan и функциональности серверной части.
Давайте же приступать к нашему написанию кода!
Всю свою работу я буду показывать на таком языке программирования, как Python
Первое, что вам понадобиться - скачать Python, можно скачать любую версию, так как библиотека request будет работать на любой версии.
Далее вам потребуется скачать PyCharm - это среда разработки python, в которой очень просто писать код, ну или же вы можете воспользоваться visual studio cod.
После того как, вы установили все программы и открыли их, сперва вам нужно импортировать библиотеку request, делается это следующим образом:
После этого действия перед нами открывается куча возможностей отправлять запросы и принимать ответы!
Самый первый запрос, который мы отправим будет - получение информации из Neonscan об количестве существующих аккаунтов, о токенах и о всех транзакциях
Создаём любую переменную и сохраняем в неё ответ от сервера, а далее выводим ответ в формате json(), делается это следующим образом
response = requests.get("https://beta-devnet api.neonscan.org/overview/stats")
В ответ мы получим вот такую строку
В которой наглядно можно увидеть, сколько всего аккаунтов, сколько токенов/транзакций и какой сейчас tps, думаю, вы сами сможете придумать применение этому ;)
Ну а если вы хотите получить информацию о текущем блоке, то воспользуйтесь следующим кодом:
response = requests.get("https://beta-devnet-api.neonscan.org/overview/network")
В ответ мы получим вот такую строчку
В которой можно узнать информацию о текущем блоке и транзакциях
Если вы хотите узнать информацию о последней 1 транзакции, то воспользуйтесь следующим кодом
response = requests.get("https://beta-devnet-api.neonscan.org/transaction/lastest?offset=0&limit=1")
В ответ мы получим следующую строчку:
{'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")
В ответ мы получим вот такую информацию
На этом, пожалуй, закончим, так как продолжать можно ещё много, но всю важную информацию я вам выдал, а как ей пользоваться - решать уже вам.
Как я и говорил - это костлявый способ, но более хороший способ мы рассмотрим чуть позже
Код на гит хабе - https://github.com/Irors/neon/tree/master