本文介绍了QuickNode的Multichain功能,该功能允许通过单一端点管理多个区块链网络,适用于跨链应用开发。文章详细说明了如何设置和使用Multichain端点,并提供了测试脚本以确保不同链的协同工作。
QuickNode 的 Multichain 功能允许你通过一个端点同时管理多个区块链网络。这一功能对于需要与多个区块链合作的开发者特别有用,例如在构建跨链应用程序或集成多个区块链网络时。
在本指南中,我们将带你了解如何设置 QuickNode Multichain 端点,以及如何使用它来管理多个区块链网络。
QuickNode 的 Multichain 功能使你能够通过一个端点与多个区块链网络进行交互,该功能在免费和付费计划中均可用。
一个端点支持所有链:通过一个端点与多个链进行交互,简化跨区块链项目的工作流程。
集中安全管理:通过一个端点应用安全策略并简化例行检查,例如轮换 API 密钥或管理引用列表。
一致的速率限制:在一个地方设置和调整速率限制,消除管理多个端点限制的麻烦。
QuickNode 使用特定的 URL 结构来组织端点,其中每个支持的链都有一个子域名。该结构保持一致的 security token 和端点名称,同时使用链特定的子域名(以太坊主网除外)。
通用端点 URL 结构
https://{YOUR_ENDPOINT_NAME}.{NETWORK_NAME}.quiknode.pro/{YOUR_TOKEN_ID}
以太坊主网的端点 URL 结构
https://{YOUR_ENDPOINT_NAME}.quiknode.pro/{YOUR_TOKEN_ID}
对于大多数链,NETWORK_NAME
遵循 chainName-networkName
的模式。然而,存在一些例外情况,一些链(例如 Avalanche)由于其独特的配置需要在 URL 末尾添加特定的路径段。请始终参考你的 QuickNode 仪表板以获取每个网络的确切 URL 格式。
链名称 | 网络名称 | QuickNode 中的网络名称 | 示例 URL |
---|---|---|---|
以太坊 | 主网 | mainnet | https://{YOUR_ENDPOINT_NAME}.quiknode.pro/{YOUR_TOKEN_ID} |
比特币 | 主网 | btc | https://{YOUR_ENDPOINT_NAME}.btc.quiknode.pro/{YOUR_TOKEN_ID} |
Solana | 主网 | solana-mainnet | https://{YOUR_ENDPOINT_NAME}.solana-mainnet.quiknode.pro/{YOUR_TOKEN_ID} |
Base | 主网 | base-mainnet | https://{YOUR_ENDPOINT_NAME}.base-mainnet.quiknode.pro/{YOUR_TOKEN_ID} |
币安智能链 | 主网 | bsc | https://{YOUR_ENDPOINT_NAME}.bsc.quiknode.pro/{YOUR_TOKEN_ID} |
Avalanche | C-Chain 主网 | avalanche-mainnet | https://{YOUR_ENDPOINT_NAME}.avalanche-mainnet.quiknode.pro/{YOUR_TOKEN_ID}/ext/bc/C/rpc |
要启用 Multichain 功能,你需要登录你的 QuickNode 账户。如果你还没有账户,可以免费创建一个 这里。
登录后,导航到 Endpoints 部分。
如果你还没有端点,点击 Create Endpoint 通过选择你喜欢的区块链网络来创建一个。如果你已经有一个端点,选择你想要用于多链访问的端点。
选择或创建端点后,切换 Multichain 开关以启用该功能。然后,你可以从列表中选择任何支持的网络,QuickNode 将在仪表板上提供该网络的相应 URL。
现在 Multichain 已启用,你可以集中配置此端点上所有网络的安全设置。点击 Security 配置速率限制、IP 白名单和其他将应用于所有链的策略。
要测试你的 Multichain 端点,你可以使用一个简单的 bash 脚本,该脚本并行地向每个端点发出 RPC 调用。该脚本将打印每个端点的区块号以及每次调用的响应时间。
注意:请确保将 YOUR_ENDPOINT_URL_1
和 YOUR_ENDPOINT_URL_2
替换为你的实际 QuickNode 端点 URL。
multichain_test.sh
的新文件并粘贴以下代码。chmod +x multichain_test.sh
使其可执行。./multichain_test.sh
运行脚本。##!/bin/bash
## 获取带有微秒的时间戳
get_timestamp() {
date +"%Y-%m-%d %H:%M:%S.%6N"
}
## 执行 RPC 调用并记录详细时间
make_rpc_call() {
local endpoint=$1
local start_timestamp=$(get_timestamp)
echo "[START] $start_timestamp - Making call to $endpoint"
local start_time=$(date +%s.%N)
response=$(curl -s -X POST -H "Content-Type: application/json" --data '{
"jsonrpc":"2.0",
"method":"eth_blockNumber",
"params":[],
"id":1
}' "$endpoint")
local end_time=$(date +%s.%N)
local duration=$(echo "$end_time - $start_time" | bc)
local end_timestamp=$(get_timestamp)
echo "[END] $end_timestamp - Completed call to $endpoint"
# 提取区块号并将其从十六进制转换为十进制
block_hex=$(echo $response | grep -o '"result":"[^"]*"' | cut -d'"' -f4)
if [ ! -z "$block_hex" ]; then
block_dec=$((16#${block_hex#0x}))
echo "Endpoint: $endpoint"
echo "Block Number: $block_dec"
printf "Response Time: %.3f seconds\n" $duration
else
echo "Error for endpoint $endpoint: $response"
fi
echo "-------------------"
}
## 打印脚本开始时间
echo "Script started at $(get_timestamp)"
echo "-------------------"
## 端点列表(替换为你的实际端点)
ENDPOINT1="YOUR_ENDPOINT_URL_1" # 👈 替换为第一个网络的端点 URL(例如,以太坊主网)
ENDPOINT2="YOUR_ENDPOINT_URL_2" # 👈 替换为第二个网络的端点 URL(例如,Base 主网)
## 并行执行 RPC 调用
make_rpc_call "$ENDPOINT1" &
make_rpc_call "$ENDPOINT2" &
## 等待所有后台进程完成
wait
echo "-------------------"
echo "All RPC calls completed at $(get_timestamp)"
运行脚本后,你应该会看到以下输出:
因此,你已成功使用一个 QuickNode Multichain 端点同时在不同的区块链上运行了两个 RPC 调用。
QuickNode 的 Multichain 功能提供了一种结构化的方式,通过统一的端点格式管理多个区块链网络。这种方法减少了复杂性,集中了安全设置,并且对所有用户开放,无论是免费还是付费计划。对于跨不同链的项目,这一功能节省了时间并提高了操作效率。
如果你需要帮助或想分享你正在构建的内容,请在 Discord 或 Twitter 上告诉我们。
让我们知道 如果你有任何反馈或新主题的请求。我们很乐意听取你的意见。
- 原文链接: quicknode.com/guides/qui...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!