1个不稳定版本

0.0.1 2023年1月3日

#24 in #洞察

MPL-2.0 许可证

250KB
6.5K SLoC

巴雷利眼

Github Actions dependency status MSRV License: MPL 2.0 contributions - welcome discord twitter

什么是巴雷利眼?

巴雷利眼是一个开源的多链区块链分析工具。它的目标是帮助回答以下问题

  1. 一个地址持有哪些资产?

  2. 这些资产是从哪里来的?

  3. 哪些其他钱包可能与这些钱包相关?

注意: 这是一个正在积极开发中的工作进展,尚未准备好投入生产。请自行承担风险

尝试

需要Rust 1.65.0+

git clone https://github.com/barreleye/barreleye
cd barreleye
cargo run

说明

  • 首次运行时将生成一个默认的配置文件。可以选择将 barreleye.sample.toml 重命名为 barreleye.toml

  • Clickhouse 是仓库数据存储的要求(默认配置指向本地运行的服务器)

  • 巴雷利眼默认配置为使用 SQLite(也支持 MySQLPostgreSQL

它是如何工作的

巴雷利眼由两部分组成:索引器和服务器。索引器将连接到指定的RPC节点,并持续处理新的区块,服务器将处理已处理输出的请求。您可以使用CLI参数将这两者分离。

支持并行运行多个索引器,但一次只有一个处于活动状态。要在不运行服务器的情况下开始索引: cargo run -- --indexer

要运行服务器而不进行索引: cargo run -- --server

要同时运行它们: cargo run

添加网络

首次运行时将生成一个默认的API密钥,因此要获取它

select uuid from api_keys;

添加一个比特币RPC节点

curl -i -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{
    "name": "Bitcoin",
    "tag": "Bitcoin",
    "env": "mainnet",
    "blockchain": "bitcoin",
    "chainId": 0,
    "blockTimeMs": 600000,
    "rpcEndpoints": ["http://username:[email protected]:8332"],
    "rps": 100
  }' \
  https://127.0.0.1:22775/v0/networks

添加一个以太坊RPC节点

curl -i -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{
    "name": "Ethereum",
    "tag": "Ethereum",
    "env": "mainnet",
    "blockchain": "evm",
    "chainId": 1,
    "blockTimeMs": 12000,
    "rpcEndpoints": ["http://127.0.0.1:8545"],
    "rps": 100
  }' \
  https://127.0.0.1:22775/v0/networks

MVP待办事项

🚧 本项目处于开发阶段,尚未准备好用于生产。大多数API都在 "v0/" 下,crate版本是 "v0.x.x"。快速浏览当前待办事项

  • 基于比特币和EVM链的基本索引
  • v0/networks
  • v0/addresses
  • v0/labels
  • v0/keys
  • v0/heartbeat
  • 基本的v0/stats
  • 最少的v0/assets
  • 最少的v0/upstream
  • 最少的v0/related

随机笔记

  • 对于索引,您可能需要将Clickhouse的 max_server_memory_usage_to_ram_ratio 设置为 2了解更多

贡献

参见 CONTRIBUTING

欢迎提交pull请求。对于重大更改,请先提交一个issue来讨论您希望更改的内容。

许可证

Mozilla公共许可证2.0 (LICENSEhttps://opensource.org/licenses/MPL2.0)

依赖项

~127MB
~2.5M SLoC