<100 subscribers
Share Dialog
Share Dialog
Язык - Javascript (node.js)
На примере Optimism.
Идём на https://blockscout.com/

"Use the Explorer":

"View all":

И выбираете (можно в том числе отфильтровать).
Я выберу Optimism, нажав по "Blockscout explorer":

Смотрим в адресную строку. И после слеша добавляем api-docs. Должно получиться что-то типа https://optimism.blockscout.com/api-docs

Существует и вариант 2: нажимаем на главной официального сайта "Visit the docs" и разворачиваем "API":

Тут даже больше вариантов, например, GraphQL:

Но мы будем работать с REST API:

Тут дан пример Ethereum...
Переходим: https://optimism.blockscout.com/api-docs

И выбираем интересное нам. Например, хотим получать текущий блок в сети...
Тогда открываем "get /blocks":

"Try it out":

Можете заполнить поле типа, но я оставлю пустым, и кликну по "Execute":

Есть и вывод в удобном формате:

В "Request URL" можете скопировать Url. У меня это https://optimism.blockscout.com/api/v2/blocks?type=block%20%7C%20uncle%20%7C%20reorg:

Обратите на height внимание - это номер блока...
Допустим, также хочу узнать транзакции по блоку. Жму "get /blocks/{block_number_or_hash}/transactions":

Вставляю и "Execute":

Содержимое:

Request URL https://optimism.blockscout.com/api/v2/blocks/118150735/transactions
В папке с проектом как всегда npm init, заполняем данными и
npm i axios

Далее создаём, открываем js файл и заполняем кодом. Я ниже напишу его с комментариями, чтоб было понятно, а пока вот скрин:

Код:
// Подключаем axios
const axios = require('axios');
// Основная функция: main
async function main() {
// вызываем url с блоком:
const res = await axios.get('https://optimism.blockscout.com/api/v2/blocks?type=block%20%7C%20uncle%20%7C%20reorg');
// Получаем массив и первый его элемент:
const block = res.data.items[0];
// Если такого элемента нет, завершаем функцию, не возвращая ничего.
if (typeof block === 'undefined') return;
// Выводим на экран номер и хеш блока:
console.log(`Block number: ${block.height}, hash: ${block.hash}`);
// Получаем транзакции по блоку
const page = await axios.get(`https://optimism.blockscout.com/api/v2/blocks/${block.height}/transactions\`);
// Получаем список транзакций
const txs = page.data.items;
// Переводим в строку и выводим:
console.log(txs);
} // закрываем код функции.
setInterval(main, 3000); // вызываем функцию раз в 3 секунды.
Можно было бы делать цикл по блокам с проверками и так далее, но решил вам показать упрощённый вариант, который смогут понять многие, ну или хотя бы который не будет напрягать...
Пример отображения результатов:

С вами был незрячий программист и автор обзоров.
Подписывайтесь на https://t.me/blind_dev - здесь новости по моим разработкам и новые статьи.
Благодарю за внимание, и прошу распространять обзор.
Также буду рад донатам в виде минтов…
Язык - Javascript (node.js)
На примере Optimism.
Идём на https://blockscout.com/

"Use the Explorer":

"View all":

И выбираете (можно в том числе отфильтровать).
Я выберу Optimism, нажав по "Blockscout explorer":

Смотрим в адресную строку. И после слеша добавляем api-docs. Должно получиться что-то типа https://optimism.blockscout.com/api-docs

Существует и вариант 2: нажимаем на главной официального сайта "Visit the docs" и разворачиваем "API":

Тут даже больше вариантов, например, GraphQL:

Но мы будем работать с REST API:

Тут дан пример Ethereum...
Переходим: https://optimism.blockscout.com/api-docs

И выбираем интересное нам. Например, хотим получать текущий блок в сети...
Тогда открываем "get /blocks":

"Try it out":

Можете заполнить поле типа, но я оставлю пустым, и кликну по "Execute":

Есть и вывод в удобном формате:

В "Request URL" можете скопировать Url. У меня это https://optimism.blockscout.com/api/v2/blocks?type=block%20%7C%20uncle%20%7C%20reorg:

Обратите на height внимание - это номер блока...
Допустим, также хочу узнать транзакции по блоку. Жму "get /blocks/{block_number_or_hash}/transactions":

Вставляю и "Execute":

Содержимое:

Request URL https://optimism.blockscout.com/api/v2/blocks/118150735/transactions
В папке с проектом как всегда npm init, заполняем данными и
npm i axios

Далее создаём, открываем js файл и заполняем кодом. Я ниже напишу его с комментариями, чтоб было понятно, а пока вот скрин:

Код:
// Подключаем axios
const axios = require('axios');
// Основная функция: main
async function main() {
// вызываем url с блоком:
const res = await axios.get('https://optimism.blockscout.com/api/v2/blocks?type=block%20%7C%20uncle%20%7C%20reorg');
// Получаем массив и первый его элемент:
const block = res.data.items[0];
// Если такого элемента нет, завершаем функцию, не возвращая ничего.
if (typeof block === 'undefined') return;
// Выводим на экран номер и хеш блока:
console.log(`Block number: ${block.height}, hash: ${block.hash}`);
// Получаем транзакции по блоку
const page = await axios.get(`https://optimism.blockscout.com/api/v2/blocks/${block.height}/transactions\`);
// Получаем список транзакций
const txs = page.data.items;
// Переводим в строку и выводим:
console.log(txs);
} // закрываем код функции.
setInterval(main, 3000); // вызываем функцию раз в 3 секунды.
Можно было бы делать цикл по блокам с проверками и так далее, но решил вам показать упрощённый вариант, который смогут понять многие, ну или хотя бы который не будет напрягать...
Пример отображения результатов:

С вами был незрячий программист и автор обзоров.
Подписывайтесь на https://t.me/blind_dev - здесь новости по моим разработкам и новые статьи.
Благодарю за внимание, и прошу распространять обзор.
Также буду рад донатам в виде минтов…
No comments yet