8 个版本

0.1.7 2024 年 4 月 6 日
0.1.6 2023 年 8 月 24 日
0.1.5 2023 年 5 月 23 日
0.1.4 2023 年 1 月 20 日

#2052 in 神奇豆子

每月 23 次下载

MIT 许可证

280KB
4K SLoC

快速比特币区块浏览器

一个轻量级的比特币区块浏览器,没有地址索引,仅使用一个没有 RPC 凭证的比特币核心实例(未经身份验证的 REST 接口)。

在主网、测试网和签名字段上实时运行 @ http://fbbe.info

本地可以运行在 regtest。

本地运行

假设已经安装了 rust >= 1.66.0,并且主网上有同步的 bitcoin core,设置 txindex=1rest=1,则

git clone https://github.com/RCasatta/fbbe
cd fbbe
cargo run --release

browse: http://localhost:3000/

CSS

修改 custom.css 后,使用压缩器

yui-compressor custom.css > custom.min.css.rs

Docker

有两种方法使用 Docker 构建 和 运行,使用 Dockerfile 的标准方式更简单,但生成的 Docker 镜像更大,第二种方式生成的镜像更小,但需要 nix

使用 Dockerfile

docker build . -f ./docker/Dockerfile -t fbbe
docker run -it -p 3000:3000 -e BITCOIND_ADDR=172.17.0.1:8332 -e LOCAL_ADDR=0.0.0.0:3000 fbbe

使用 Nix

nix --experimental-features 'nix-command flakes' build .#dockerImage
./result | docker load
docker run -it -p 3000:3000 -e BITCOIND_ADDR=172.17.0.1:8332 -e LOCAL_ADDR=0.0.0.0:3000 xenoky/fbbe:latest

主网测试案例

  • 交易最多的区块 00000000000000001080e6de32add416cd6cda29f35ec9bce694fea4b964c7be

  • 每个交易的最大输入 52539a56b1eb890504b775171923430f0355eb836a57134ba598170a2f8980c1

  • 每个交易的最大输出 dd9f6bbf80ab36b722ca95d93268667a3ea6938288e0d4cf0e7d2e28a7a91ab3

内存跟踪

为了允许在低资源设备上运行浏览器,必须保持内存使用量低。

Heaptrack

即使在发布模式下,即使已在 Cargo.toml 中指定,使用调试符号也能获得更好的结果,请使用环境变量 CARGO_PROFILE_RELEASE_DEBUG=true

heaptrack 通过跟踪内存管理系统调用来实现,安装工具后使用

cargo build --release
timeout 10m heaptrack ./target/release/fbbe # in this example the tracker runs for 10 minutes
heaptrack_gui heaptrack.fbbe.105581.zst # file created by the previous command

依赖项

~58MB
~1M SLoC