引介 Esplr - 本地自部署 EVM 浏览器

esplr 是一个以以太坊为基础的私有区块链探索工具,用户可以通过私人 RPC URL 安全地查看 ETH 和代币的余额、交易历史以及支持 ERC-20 和 ERC-721 NFT 的功能。与传统的区块浏览器相比,它不收集用户数据,同时提供更全面的功能和良好的易用性。

Esplr 是一个开源的浏览器,通过自己的 RPC URL 浏览链上数据。 以下是 github 仓库的 Readme。

Esplr

通过你的 RPC URL 探索类以太坊区块链。

  • 🔒 没有第三方服务:仅使用私密 RPC 请求
  • 💹 ETH 及代币余额,交易历史
  • 💵 来自预言机的链上美元价格转换
  • 🪶 100KB 压缩后,3 个文件:1 个 html,1 个 css,1 个 js

动机

这比 Etherscan 更好吗?

Etherscan 和其他第三方区块浏览器收集和跟踪用户数据。每当有人打开一个地址时,他们会创建日志。私密浏览器允许在不记录的情况下查看信息。

这比 Otterscan 更好吗?

Otterscan 不支持代币余额或转账历史,这使得它的实用性有限。ERC20 / ERC721 / ERC1155 代币及 NFTs 是类似 EVM 区块链最受欢迎的功能之一。除此之外,Otterscan 只能与一个客户端使用,而 esplr 力求支持所有节点类型。

我可以验证所有网络请求吗?

该浏览器仅向指定的 RPC URL 发出请求。要审核此请求,请检查 src/App.vuehandleConnect。它使用 micro-ftch 来确保不会在 URL 之外进行请求。你可以在此处添加自定义日志记录。

USD 价格如何计算?

Chainlink EVM 合约提供链上价格。没有使用外部服务。

ERC-20 代币完全支持吗?

是的。要查看某个账户的完整代币转账历史,请打开交易详情标签。第一次调用可能需要最长 50 秒,因为 ETH 节点的限制。第二次调用将被缓存且立即返回。

ERC-721 NFTs 完全支持吗?

正在开发中。它们将于下一个更新中的用户界面中显示。

使用了哪些前端库?

micro-eth-signermicro-ftch 用于数据检索。Vue.js 被用作用户界面框架。

设置

要构建应用并启动开发服务器,执行:

npm install && npm run dev

要进行生产构建:

npm install && npm run build

## 输出现在在 `dist/` 中
## 示例:使用内置 Python 模块提供 `dist/` 目录
cd dist && python3 -m http.server --bind 127.0.0.1

输出是 dist 中的 3 个文件:1 个 html,1 个 js,1 个 css。

运行 RPC 后端

Esplr 支持所有节点类型。建议使用用户运行的 Erigon RPC 节点以获取 100% 的功能。 Reth 可能很快实现功能平价。请参阅 详细信息

  1. 下载 Erigon 并启动:
erigon --datadir=/data/erigon --prune.mode='archive' --torrent.download.rate="100mb" --http --http.api=eth,erigon,web3,net,debug,trace,txpool,ots --ws --http.corsdomain='*'
  1. 对于 ETH 主网,初始同步将在 100Mbps 连接下花费 8 小时(较慢的连接仍可使用)。同步完成后,RPC 将在 8545 端口运行。

RPC 将在 127.0.0.1:8545 本地运行。将其提供给外部互联网的两种方式:

  • 重定向例如 ethnode.com127.0.0.1:8545
    • 可以使用 NGINX 来实现:proxy_pass http://127.0.0.1:8545
    • 你可能需要一个域名和 SSL 证书。例如,如果域名是 ethnode.com,你将能够指定其 RPC。
    • 建议使用基本身份验证 (user:password@ethnode.com)。
  • 或者,通过 SSH 隧道将 8545 端口转发到本地机器: ssh -L 5678:127.0.0.1:8545 root@192.168.1.50,其中 5678 是你本地机器上的端口, root@192.168.1.50 是 Erigon3 服务器的用户 + 主机名。

Reth, Geth, Nethermind, Infura

在 Erigon 之外,一些功能不可用。该应用程序广泛使用归档节点 API / trace_filter

  • 自托管的 Erigon 3 使用 prune.mode=archive 以获得 100% 的功能
  • 第三方(infura / alchemy / quicknode)Erigon 节点有严格的速率限制:tx 历史不可用
  • Reth 节点由于缺乏索引而没有 tx 历史。他们表示希望修复此问题 fix the issue
  • Geth、Nethermind 没有正确的低资源归档模式,因此不支持查询 tx 历史

速度

大多数请求是瞬时的。某些请求,例如查看代币转账历史,需要从头扫描整个区块链。这可能需要 10-50 秒。

为改进此点,归档节点开发人员可在未来的更新中向他们的软件添加额外索引。他们还可以提供新的 RPC 方法来查询历史。我们能做的最好事就是在他们的错误跟踪器中请求此功能:12

Trueblocks 这样的附加组件也可以加快速度。尽管 esplr 的目标是使用 "纯" 归档节点,我们仍欢迎对简易 Trueblocks 集成的支持。

硬件要求

归档节点需要 30Mbps 连接和 2.5TB NVME SSD(TLC,不是 QLC)。类似的新 PC 可能花费 $570,具有 32GB RAM 和 4 核 CPU。这里是另一个 $650 的配置,具有 64GB RAM 和 8 核 CPU。

类似的服务器可以从 Hetzner 租赁,大约每月 \$40。确保在防火墙中 禁止私有 IP

完全验证的非归档节点的存储要求可能低于 1TB。请参阅 RessEIP-7870

许可证

MIT 许可证

  • 原文链接: github.com/paulmillr/esp...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
paulmillr
paulmillr
江湖只有他的大名,没有他的介绍。