Как сделать API-запрос к блокчейну

Блокчейн делает данные общедоступными для всех, однако доступ к ним может быть несколько затруднен.

В этом блоге я расскажу, как делать API-запросы к блокчейну на примере Avalanche.

Большая часть функций API Avalanche требует от вас доступа к разрешениям каждого узла или запуска собственного узла, который в настоящее время имеет стартовый взнос в размере 2 000 AVAX или $126 000.

Для разработчиков, желающих получить доступ к данным Avalanches on-chain без необходимости создания собственного узла, команда Avalanche предоставляет публичную конечную точку для выполнения api-запросов.

Для этой демонстрации мы запросим последний блок из цепочки C Avalanche.

Поскольку C-Chain является экземпляром виртуальной машины Ethereum Virtual Machine powered, вы можете запрашивать практически ту же информацию, что и с помощью GETH в Ethereum:

Давайте начнем

Чтобы упростить задачу, мы сначала запросим последний блокчейн curl. Используя первую ссылку выше, мы видим, что можем запросить информацию из C-цепочки, используя
.

Просматривая eth execution-apis по второй ссылке, мы можем использовать eth_getBlockByNumber для получения данных о последнем блоке.

Сложив все это вместе, мы получим следующий запрос curl:

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method":"eth_getBlockByNumber",
"params":["latest", false]
}' -H 'content-type:application/json;' https://api.avax.network/ext/bc/C/rpc

Если вы откроете терминал, вставите и введете эту команду, вы должны получить ответ, похожий на этот:

Поздравляем! Вы только что сделали запрос к блокчейну Avalanche.

Запрос Avalanche с помощью HTTP Postman

Если вы предпочитаете http-запросы, мы можем сделать тот же запрос с помощью postman:

Вставьте ссылку и тело запроса в Postman, как на скриншоте выше, затем нажмите Send.

Вы получите ответ, выглядящий следующим образом:

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

Мы также можем использовать Axios

await axios.post(postUrl, {
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getBlockByNumber",
"params": ["latest", false]
})
.then((res: any) => {
console.log("AVAX BLOCK DATA: ", res.data.result)
})
.catch((err: any) => {
console.log("err: ", err.response)
return err
})

Как только вы освоитесь, запрос цепочек Avalanche и Ethereum будет довольно простым, а использование общедоступных API позволит нам сэкономить много ресурсов.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *