Hemera,新一代链上数据分析

Hemera 新一代链上数据分析

Hemera 是一款全新的链上数据分析工具,专为区块链世界设计,旨在提供更加全面、智能和高效的数据洞察。它结合了先进的技术,支持对区块链上不断增长的庞大数据集进行深度挖掘与实时分析,帮助开发者、分析师以及研究人员快速获取链上的动态信息和重要趋势。

与传统的链上数据工具相比,Hemera 不仅关注数据的采集和展示,更注重数据的价值挖掘和智能化应用。通过支持多链结构的数据聚合分析,Hemera 帮助用户实现更深入的洞察。例如,它能够迅速追踪区块链上的交易路径,分析资金流动,识别关键的交互节点,从而揭示出隐藏在链上复杂交互背后的商业逻辑与市场动向。

Hemera 的设计理念还体现了开放性与易用性。借助现代化的可视化界面和 API 接口,用户可以方便地自定义查询和创建分析模型,无论是需要基础的区块链数据统计,还是高级的数据科学分析需求,Hemera 都能轻松满足。此外,Hemera 采用高度优化的数据存储与计算技术,确保在面对大规模链上数据时,依然能够保持良好的性能和响应速度。

通过 Hemera,区块链的数据不再是孤立的记录,而是可以被探索、关联和深入解读的丰富资产。无论是开发去中心化应用(DApp),研究 DeFi 生态,还是分析 NFT 市场,Hemera 都是不可或缺的强力助手。它的智能化链上数据分析能力,正引领着区块链数据分析进入一个全新的时代。

1. 介绍 Hemera Protocol

什么是 Hemera?

Hemera是一种以账户为中心的可编程索引协议(Account-Centric Indexing, ACI),专注于简化链上数据的访问和管理。不同于传统的区块链索引方式,Hemera基于用户账户而非每个交易进行索引,从而提升数据访问效率、减少资源消耗,特别适用于开发人员和链上应用的数据管理需求。

传统区块链数据访问的挑战

  1. 效率低:数据访问费时且耗费大量资源。
  2. 成本高:复杂查询频繁调用,导致高基础设施成本。
  3. 数据膨胀:传统索引方式对每个事件或交易建立索引,导致冗余数据量大。

Hemera 如何应对这些挑战?

  • 用户级数据访问:通过以账户为中心的索引简化数据访问流程。
  • 实时用户行为洞察:支持跨链实时分析用户行为。
  • 灵活的用户定义函数(UDF):提供内置函数库并支持自定义UDF,方便开发者进行特定的数据提取和分析。

Hemera 应用场景

  • 区块链浏览器:高效探索链上数据。
  • 投资组合追踪:快速获取和分析资产投资组合。
  • 身份解决方案:便捷地构建以用户为中心的去中心化身份账户。

2. 环境配置

为了顺利运行Hemera项目,需要安装以下软件和开发环境:

  • Python:链上数据处理的必备语言环境,参考安装教程:Python安装教程
  • PostgreSQL:数据库管理系统,用于存储和管理链上数据,参考安装教程:PostgreSQL安装教程。若出现安装问题,参考解决教程:PostgreSQL安装过程问题解决教程
  • PostgreSQL可视化工具:建议安装Navicat或Workbench等可视化工具进行数据库管理。
  • WSL(Windows子系统):在Windows上运行Linux环境的必备工具,方便开发者使用Linux命令行和应用程序,详细安装指南:WSL安装教程

3. 获取项目源码

克隆源码

对于有一定开发经验的用户,可从GitHub克隆Hemera项目源码并自行配置环境:

# 使用HTTPS方式克隆
git clone https://github.com/HemeraProtocol/hemera-indexer.git

# 或使用SSH方式克隆
git clone git@github.com:HemeraProtocol/hemera-indexer.git

提示:请确保已安装Git,参考安装教程:Git详细安装教程


4.Hemerea入门demo

Demo 运行步骤

  1. 创建项目文件夹

    在主目录下创建 code/hemere 文件夹,用于存放项目代码:

    mkdir -p ~/code/hemere
    
  2. 进入文件夹

    进入刚创建的 code/hemere 文件夹:

    cd ~/code/hemere
    
  3. 检查 Git 版本

    确认安装了 Git,并检查 Git 版本:

    git --version
    
  4. 克隆代码仓库

    从GitHub克隆Hemera项目源码到本地:

    git clone https://github.com/HemeraProtocol/hemera-indexer.git
    
  5. 进入项目目录

    进入下载的项目文件夹 hemera-indexer

    cd hemera-indexer/
    
  6. 安装 Python 开发环境

    安装 Python 3.9.5 环境:

    sudo apt install python3
    
  7. 安装 Python 虚拟环境管理工具

    安装 venv,用于创建Python虚拟环境:

    sudo apt install python3-venv
    
  8. 检查 Python 版本

    确认 Python 安装正确并查看版本:

    python3 --version
    
  9. 创建 Python 虚拟环境

    在项目文件夹中创建虚拟环境 venv

    python3 -m venv ./venv
    

    到此为止全部完成会在~/code/hemere/hemera-indexer目录下面看见一个venv文件夹,说明Python虚拟环境创建成功
    在这里插入图片描述

  10. 安装依赖管理工具 Make

    Make用于自动化依赖管理,确保系统中已安装:

    sudo apt install make
    
  11. 下载项目依赖

    使用 Make 下载和整理项目依赖:

    make development
    

    下载所有依赖之后会提示:source .venv/bin/activate
    在这里插入图片描述

  12. 激活虚拟环境

    进入 Python 虚拟环境:

    source .venv/bin/activate
    

    要退出虚拟环境,请运行:

    deactivate
    
  13. 运行 Demo

    运行 Demo 脚本以获取特定区块上的数据。本示例中,将查询区块 100001100003 的信息:

    python3 hemera.py stream \
        --provider-uri https://ethereum.publicnode.com \
        --start-block 100001 \
        --end-block 100003 \
        --output-types block,transaction
    

    运行效果展示:
    在这里插入图片描述
    在这里插入图片描述

5. 用户定义函数 (User-Defined Functions, UDF)

什么是 UDF?

用户定义函数(UDF)允许开发者编写自定义的查询函数,以便更灵活高效地提取特定数据。Hemera内置了多个预构建的UDF示例,如提取账户余额、事件日志等,开发者可以根据需求进一步调整,甚至创建全新的UDF以满足特定的业务需求。

UDF 的工作原理

UDF包含以下核心组件:

  • 数据模型:定义UDF中处理的数据结构。
  • 数据类:组织输入和输出数据的类型,以提升效率。
  • 业务逻辑:定义UDF的核心逻辑,用于数据处理和转换。

6. 构建和部署您的第一个 UDF

环境配置

  1. 使用Docker:适用于快速部署环境。
    • 步骤1:安装Docker。
    • 步骤2:克隆hemera-indexer仓库。
    • 步骤3:获取目标EVM链的RPC URL。
    • 更多Docker使用说明详见:Docker文档
  2. 从源码构建:适用于开发和调试。
    • 安装开发工具(Linux/Unix环境)。
    • 执行 make development 启动开发环境。
    • 配置 PostgreSQL 实例。
    • 运行 hemera.py stream 启动索引器。
    • 详细安装指南参见:源码构建文档

创建一个简单的 UDF 步骤

  1. 定义数据类:例如,为ERC721 Token Mint定义数据结构。
  2. 实现数据库模型:在PostgreSQL中定义ERC721 Token Mint事件的数据存储模型。
  3. 实现UDF任务:在UDF中实现数据处理逻辑,过滤和提取链上事件。
  4. 测试 UDF:编写单元测试以验证UDF的准确性。
  5. 部署 UDF:将UDF文件加入Hemera索引器目录,更新配置并重启索引器以加载新功能。

代码示例ERC721 Token Mint Tracker 示例代码


7. 高级 UDF 开发与实际应用

实战示例:ERC20 Token 追踪

目标是开发一个UDF,追踪指定钱包地址的ERC20 Token交易流量,包括所有收款和付款的累计数量。UDF输入和输出如下:

  • 输入:钱包地址。
  • 输出:返回该地址接收和发送的ERC20 Token累计数额。

UDF 的实际应用场景

  1. 区块链浏览器:通过结合多种UDF实现链上交互的可视化。
  2. 链上社交图谱:分析地址之间的交互,构建去中心化的社交图谱。
  3. DeFi投资组合追踪:聚合多种DeFi协议的数据,以便用户实时跟踪投资组合。

UDF 性能优化

  • 数据结构优化:使用集合等高效数据结构,加快查询速度。
  • 批处理:将数据分批处理,减少单次RPC调用压力。
  • 缓存:缓存频繁访问的数据,提升响应速度。
  • 并行处理:将任务分块,并使用多工作节点并行执行,提高处理效率。

8. Hemera 生态系统与开发者支持

Hemera积极支持开发者参与生态建设,并提供详细的开发指南和技术支持,开发者可以在生态系统中贡献自己的UDF模块。Hemera的支持内容包括:

此外,Hemera提供 UDF构建者计划,鼓励开发者创建和分享UDF的实际应用案例。更多详情请访问:UDF构建者计划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值