6 个版本
0.6.0 | 2024年1月4日 |
---|---|
0.0.5 | 2023年4月21日 |
0.0.4 | 2023年1月27日 |
0.0.2 | 2022年12月8日 |
0.0.1 | 2022年11月30日 |
#347 in 魔法豆
每月42次下载
44KB
868 行
SubRPC
简介
SubRPC 帮助维护和管理本地 RPC 端点列表。使用 subrpc
,用户可以聚合来自多个公共或私有 RPC 端点注册表的数据,并保持其本地数据库新鲜。
虽然 subrpc
命令行工具允许在终端中使用数据,但 subrpc-core
仓库可以帮助第三方应用获取和维护 RPC 端点列表。
这有助于您的应用不再需要提供如 your-cli --url wss://rpc.polkadot.io
这样的标志,而是使用 your-cli --chain polkadot
并确保连接到高质量的 RPC 端点。
快速入门
cargo install subrpc
# `reg` is an alias for `registry`
subrpc reg add https://raw.githubusercontent.com/chevdor/subrpc/master/registry/subrpc.json
subrpc reg add https://raw.githubusercontent.com/chevdor/subrpc/master/registry/parity.json
subrpc reg add https://raw.githubusercontent.com/chevdor/subrpc/master/registry/dwellir.json
subrpc reg add https://raw.githubusercontent.com/chevdor/subrpc/master/registry/onfinality.json
subrpc reg add https://raw.githubusercontent.com/chevdor/subrpc/master/registry/moonbeam.json
subrpc reg add https://polkadot-cloud.github.io/polkadot_network_directory/registry.json
subrpc reg up
subrpc system info
# `ep` is an alias for `endpoints`
subrpc ep ls
subrpc ep get polkadot
提示
如果您与多个链一起工作,可以将以下函数添加到您的 .bashrc
或 .zshrc
。
您需要安装 fzf 并安装 subrpc
v0.0.4+。
# A function to interactively open a chain in your Browser
# Simply call `sub` or `sub <pattern>`
function sub() {
chains=$(subrpc reg chains)
if [ ! -z "$1" ]; then
query="$1"
echo "Searching for chains matching: $query"
chain=$(echo "$chains" | sort -r | fzf -1 -q "$query" --prompt="Select the chain to open in your browser > ")
else
chain=$(echo "$chains" | sort -r | fzf -1 --prompt="Select the chain to open in your browser > ")
fi
subrpc endpoints open "$chain"
}
通过简单地调用 subopen
来调用函数。输入链的名称,可以是近似名称,例如 river
,然后按回车键。
点击下面的图片或点击 这里 以查看此提示的实际操作
注册表
注册表主要是一份 RPC 端点列表,存储在 JSON 文件中,并通过 Web 服务器(公共或非公共)提供。
以下是一些公共注册表列表
-
波卡网络目录注册表:波卡网络目录项目了解许多链和项目,并提供一个基于目录可用数据的自动更新注册表
-
SubRPC 注册表:一个小型基本注册表,用于入门和展示示例
-
通过 Pull Request 添加您的注册表
用法
帮助
`subrpc` allows managing a set of registry providing rpc nodes
Usage: subrpc <COMMAND>
Commands:
registry Manage your registries
system System
endpoints Endpoints
config Config
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help information
-V, --version Print version information
配置
Config
Usage: subrpc config <COMMAND>
Commands:
list Config list
edit Config edit
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help information
-V, --version Print version information
注册表
Manage your registries
Usage: subrpc registry <COMMAND>
Commands:
list List currently known registries
show Show the list of registries and some of the content
add Add a new registry. It will be enabled by default
update Fetch the latest data from the registries and update the list of endpoints
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help information
-V, --version Print version information
端点
Endpoints
Usage: subrpc endpoints <COMMAND>
Commands:
list Show the list of all endpoints
get Get one or some endpoints
ping Ping endpoints
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help information
-V, --version Print version information
系统
System
Usage: subrpc system <COMMAND>
Commands:
info Show general system information such as the location of relevant files
init Reset your local database
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help information
-V, --version Print version information
常见问题解答
SubRPC 是注册表吗?
不是。虽然 SubRPC 提供了一个非常基本的默认 RPC 端点列表,但此列表将保持较小且不太维护。它将仅包含网络的一些核心 RPC 端点,并且肯定会有许多重要的端点。
我可以使用私有注册表吗?
当然可以!这正是 SubRPC 的理念。您可以访问公共和私有注册表,建立自己的 RPC 端点数据库。
我如何确保我的列表是最新的?
subrpc
可以通过两种方式帮助您刷新/更新端点:首先,它将检查注册表中的新端点并将其添加到您的列表中,但它也会测试端点以确保您的本地端点列表保持质量。
使用 subrpc-core
crate 还可以收集(本地)有关您连接到的 RPC 端点的一些信息。这样做是为了让您在一段时间内跳过质量较差的端点,同时保持质量 RPC 端点列表的更新。这一切都是本地的,100% 有偏见:您可能认为差的端点可能对其他人来说效果很好,此外,配置(将)允许自定义端点列表。
我可以托管自己的注册表吗?
绝对可以,这将很棒。如果您创建一个公开的注册表,请在此存储库中打开一个 PR,这样我们就可以记录公共注册表的列表。
SubRPC 如何判断 RPC 端点是好是坏?
每次您连接(或请求刷新)时,SubRPC 都会检查端点是否可访问,如果是,则会收集一些关于它的指标。这允许维护一个最适合您的最佳端点列表。此列表是个人化的,并保留在您的机器上。
依赖关系
~14–30MB
~472K SLoC