1个不稳定版本
0.0.1 | 2023年1月3日 |
---|
#24 in #洞察
250KB
6.5K SLoC
巴雷利眼
什么是巴雷利眼?
巴雷利眼是一个开源的多链区块链分析工具。它的目标是帮助回答以下问题
-
一个地址持有哪些资产?
-
这些资产是从哪里来的?
-
哪些其他钱包可能与这些钱包相关?
注意: 这是一个正在积极开发中的工作进展,尚未准备好投入生产。请自行承担风险
尝试
需要Rust 1.65.0+
git clone https://github.com/barreleye/barreleye
cd barreleye
cargo run
说明
-
首次运行时将生成一个默认的配置文件。可以选择将
barreleye.sample.toml
重命名为barreleye.toml
-
Clickhouse 是仓库数据存储的要求(默认配置指向本地运行的服务器)
-
巴雷利眼默认配置为使用 SQLite(也支持 MySQL 和 PostgreSQL)
它是如何工作的
巴雷利眼由两部分组成:索引器和服务器。索引器将连接到指定的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 (LICENSE 或 https://opensource.org/licenses/MPL2.0)
依赖项
~127MB
~2.5M SLoC