Как я использую API GetBlock для анализа данных Onchain

Как я использую API GetBlock для анализа данных Onchain

13 июня 2025 г.

Что такое анализ данных Onchain?

Представьте, что у вас есть более четкий микроскоп, который позволяет вам заглянуть во внутреннюю работу сетей блокчейна, показывая, как транзакции проходят, как ведут себя пользователи, движение ликвидности, тенденции рынка и как процветает вся экосистема. Это то, что предлагает анализ данных Onchain, с GetBlock API.

Например, я могу взглянуть на то, сколько транзакций происходит на Ethereum или Solana, сколько ценности перемещается, или некоторые кошельки действуют подозрительно. Эти необработанные данные представляют собой золотую жилу для понимания того, что на самом деле происходит в сети блокчейнов (Onchain).

Почему это важно с GetBlock

Как трейдер Defi (и исследователь), я использую данные Onchain для определения тенденций, которые указывают на сдвиги рыночных настроений и движения ликвидности на любом блокчейне. Точно так же, как разработчики, которые понимают поведение сети, используя GetBlock API, обеспечивает легкий доступ к данным блокчейна через API, устраняя необходимость запуска собственного узла.

Посмотрите, как я комбинирую анализ Onchain с конечной точкой GetBlock API, чтобы получить количество транзакций, записанных в сети блокчейнов через определенный период времени. Прежде чем мы погрузимся, давайте настроемПолучитьсчет.

Настройка учетной записи с GetBlock

Шаг 1

Посетите getblock.ioПолем Вы можете подключить свой кошелек Metamask, электронную почту или Google к регистрации. Как только ваша учетная запись будет создана, вас будет приветствовать с помощью экрана что -то подобное.

from GetBlock website

Шаг 2

Прежде чем погрузиться в анализ, я собираюсь проверить API, чтобы убедиться, что он работает, используя биткойн в качестве примера здесь. Отправиться вGetBlock документацияи найтиСсылка на APIРаздел, такой как Aptos, Bitcoin и Ethereum.

Я собираюсь использовать самый первый метод для целей тестирования. Я просто скопирую запрос и тестирование на CLI:

И он генерирует следующий выход:

Итак, моя цель - получить информацию, связанную с транзакцией о биткойнах. Вот еще один пример. Конечная точка/функция, которую я собираюсьGetChaintxstatsкоторый вычисляет статистику о общем количестве и скорости транзакций в цепочке. После создания своей собственной конечной точки, вы также можете сделать запрос на завивку, подобный тому, что ниже:

GetBlock поддерживает как REST, так и JSON-RPC. Итак, я решил использовать JSON-RPC здесь.

Таким образом, следующий код будет хранить общие транзакции, которые произошли в последнем блоке. Инфомация будет храниться в базе данных, которая позже будет визуализирована путем построения графика.

Мой основной сценарий принесет количество транзакций в последнем блоке для блокчейна Ethereum. Это будет сделано всего за два шага. Первый шаг, мы будем использоватьeth_blocknumberкоторый принесет последний блок в Hex, который в конечном итоге будет преобразован в десятичное число. А позже,eth_getblocktransactionCountbynumberФункция возвращает количество транзакций в данном блоке. Ниже приведен код:

import datetime

import requests
import json
import sqlite3
import sqlite3
import datetime
from time import sleep
from dotenv import dotenv_values


def store(block_number, tx_count):
    try:
        current_date = datetime.datetime.now()
        formatted_date = current_date.strftime("%Y-%m-%d %H:%M:%S")
        connection = sqlite3.connect("tx.sqlite3")
        cursor = connection.cursor()
        cursor.execute("INSERT INTO tx_data(block_no,tx_count,date) VALUES (?,?,?)",
                       (block_number, tx_count, formatted_date))
        connection.commit()
        connection.close()

    except Exception as ex:
        print(ex)


if __name__ == '__main__':
    key = dotenv_values(".env")
    API_KEY = key['API_KEY']
    API_END_POINT = 'https://eth.getblock.io/{}/mainnet/'.format(API_KEY)
    headers = {'Content-Type': 'application/json'}

    # Construct the JSON-RPC payload to get the latest block number
    latest_block_number_payload = {
        'jsonrpc': '2.0',
        'method': 'eth_blockNumber',
        'params': [],
        'id': 1
    }

    while True:
        # Send the JSON-RPC request to get the latest block number
        latest_block_number_response = requests.post(API_END_POINT, headers=headers, json=latest_block_number_payload)
        latest_block_number_result = latest_block_number_response.json()
        latest_block_number_hex = latest_block_number_result['result']
        latest_block_number = int(latest_block_number_hex, 16)
        print('Latest Block# ', latest_block_number)

        # Construct the JSON-RPC payload to get the transaction count for the latest block
        transaction_count_payload = {
            'jsonrpc': '2.0',
            'method': 'eth_getBlockTransactionCountByNumber',
            'params': [hex(latest_block_number)],
            'id': 2
        }

        # Send the JSON-RPC request to get the transaction count for the latest block
        transaction_count_response = requests.post(API_END_POINT, headers=headers, json=transaction_count_payload)
        transaction_count_result = transaction_count_response.json()
        transaction_count_hex = transaction_count_result['result']
        transaction_count = int(transaction_count_hex, 16)
        store(block_number=latest_block_number, tx_count=transaction_count)
        print('Transaction Count: ', transaction_count)
        sleep(60)

Итак, гладкий интерфейс приборной панели показывает, какие методы были вызваны и сколько раз:

Api_key выбирается из.envфайл. А позже соответствующие запросы предпринимаются на веб -сайте getBlock.io. Как только информация будет доступна, она хранится в SQLite DB. И данные создают диаграмму, как указанный ниже:

Эта визуализация выше проста, но очень важна.

График показывает количество транзакций в последнем блоке с течением времени, предоставляя ценную информацию о динамике и здоровье сети блокчейнов. Понимание важности этой информации имеет решающее значение по нескольким причинам, которые я буду утверждать ниже:

  1. Сетевая деятельность и принятие:Мониторинг счета транзакций в последнем блоке позволяет пользователям оценивать уровень активности и внедрения сети блокчейнов. Более высокое количество транзакций указывает на увеличение использования и спроса, предлагая процветающую экосистему и растущую пользовательскую базу.
  2. Оценка масштабируемости:Анализ количества транзакций с течением времени показывает масштабируемость сети. Постоянно увеличивающее количество транзакций, сопровождаемое стабильным или уменьшающимся временем подтверждения, указывает на сеть, способную обрабатывать растущий спрос, это говорит о масштабируемости.
  3. Производительность и эффективность:Колебания в количестве транзакций могут показать производительность и эффективность сети блокчейнов. Спайки или внезапные падения количества транзакций могут указывать на перегрузку, ограничения сети или значительные события, влияющие на активность транзакций, подчеркивая необходимость улучшения масштабируемости или дальнейшего анализа.
  4. Динамика платы и приоритизация:Количество транзакций влияет на динамику платы, поскольку более высокие объемы транзакций могут привести к повышению конкуренции за блочное пространство, что приведет к более высокой комиссии за транзакцию. Пользователи могут использовать эту информацию для принятия обоснованных решений о приоритете транзакции и оптимизации платы.

Чтобы собрать; Мой вывод

Анализ Onchain, помимо фундаментального и технического анализа для криптовалюты, дает некоторую полезную информацию, которая может помочь вам в любой торговле.ПолучитьОбеспечивает облегчение и беспроблемное соединение с различными сетями блокчейна, используя их стандартные API. Таким образом, вам не нужно беспокоиться о настройке узла или других вещей.

Полем


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE