#负载均衡 #以太坊 #WebSocket #HTTP #命令行界面

app blutgang

快速、极简的负载均衡,具有缓存功能,适用于以太坊JSON-RPC调用。完全支持HTTP和WS。

12个版本

0.3.6 2024年6月27日
0.3.5 2024年4月1日
0.3.4 2024年3月29日
0.3.2 2024年2月28日
0.1.2 2023年10月21日

#35 in #负载均衡

Download history 1/week @ 2024-05-28 3/week @ 2024-06-04 139/week @ 2024-06-25 12/week @ 2024-07-02

821 每月下载量

自定义许可 和可能 LGPL-2.1-or-later WITH GCC-exception-2.0

270KB
6.5K SLoC

Blutgang - 以太坊负载均衡器的WD-40

blutgang_gm

加入我们在 discordtelegrammatrix 上的讨论!

Blutgang是一个闪电般的快速、缓存、极简的负载均衡器,专为以太坊的JSON-RPC设计。历史RPC查询被缓存在本地数据库中,无需对您的节点进行缓慢的重复调用。

有关blutgang的更多信息及其使用方法,请参阅wiki

如何运行

有关如何使用blutgang的详细说明,请参阅wiki

使用cargo

要使用cargo安装blutgang,请运行以下命令

cargo install blutgang

完成操作后,从该存储库获取example_config.toml,修改它以符合您的需求,然后使用它启动blutgang。

从源代码

克隆存储库,并找到example_config.toml文件。修改它以符合您的需求,然后运行cargo run --release -- -c example_config.toml

如果您想使用命令行参数,请运行cargo run --release -- --help以获取更多信息。请注意,运行blutgang的推荐方法是使用配置文件。

最大性能

如果您需要从blutgang获得绝对的最大性能,请使用以下命令进行编译

RUSTFLAGS='-C target-cpu=native' cargo build --profile maxperf

Docker

官方Docker镜像可在dockerhub上找到。
您必须向Docker容器提供配置文件,以及暴露指定的端口。示例

docker run -v /full/path/to/config.toml:/app/config.toml --network host makemake1337/blutgang

Nix

使用碎片和nix-community/ethereum.nix覆盖

nix run github:nix-community/ethereum.nix#blutgang -- --help

基准测试

基准测试在Ryzen 7 2700X、NVME SSD和默认Ubuntu 23.04内核上进行。使用了相同的RPC端点

time sothis --source_rpc https://127.0.0.1:3000 --mode call_track --contract_address 0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6 --origin_block 17885300 --terminal_block 17892269 --calldata 0x06f13056 --query_interval 20

Figure_1 Figure_2

致谢

Blutgang站在巨人的肩膀上。感谢以上所有项目的贡献者!

许可证

Blutgang采用FSL许可。未经许可,这意味着您可以使用Blutgang进行除商业用途以外的任何用途,例如销售RPC访问、构建其他负载均衡器。内部评估和任何非商业用途均明确允许。发布两年后,该特定版本将采用Apache-2.0许可证。

对于包括部署脚本、重新许可选项、ansible playbooks等在内的商业支持,请联系我们获取商业许可证!

依赖项

~23–39MB
~682K SLoC