Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

Sonic 网络 RPC:链设置、端点和提供商选择

摘要

Sonic 是一个高性能的 EVM 兼容 Layer-1 区块链,具有亚秒级最终性。本页涵盖官方 Sonic 网络 RPC 设置、如何连接您的钱包或 dApp,以及如何评估用于生产环境的 RPC 提供商。我们还解释了何时选择托管或专用的 Sonic RPC 端点是正确的选择。

快速决策指南:您应该使用哪个 Sonic RPC?

在深入了解链设置之前,请决定哪种类型的 Sonic RPC 适合您的用例。正确的选择取决于您的工作负载,而不仅仅是最低延迟。

  • 原型开发或钱包设置:使用官方公共端点 https://rpc.soniclabs.com 或 OnFinality 公共端点 https://sonic.api.onfinality.io/public。这些适用于测试、将网络添加到钱包或低量请求。
  • 生产 dApp 或索引器:使用具有专用端点的托管 RPC 提供商更安全。公共端点可能会限制或限流大量使用,并且它们很少提供归档数据或 WebSocket 可靠性保证。
  • 高吞吐量或数据密集型工作负载:如果您需要大范围的 eth_getLogs、trace 方法或一致的 WebSocket 流,请考虑使用专用的 Sonic 节点。专用节点为您提供隔离的资源并可预测的性能。
  • 合规性或数据保留:如果您需要历史状态或 trace 数据,请检查提供商是否提供归档节点。并非所有 Sonic RPC 端点都提供归档数据。

有关提供商评估的深入探讨,请参阅我们的选择 RPC 提供商指南

Sonic 网络概览

Sonic 是一个 EVM 兼容的 Layer-1 区块链,专为高吞吐量和亚秒级最终性而设计。它是 Fantom 的继任者,并使用 S 代币作为 gas、质押和治理。对于开发者来说,关键要点是 Sonic 完全兼容 EVM,因此现有的以太坊工具只需很少的更改即可使用。

官方链设置如下:

设置
网络名称Sonic 主网
RPC URLhttps://rpc.soniclabs.com
链 ID146 (0x92)
货币符号S
区块浏览器https://sonicscan.org

这些设置是您将 Sonic 添加到钱包或配置 dApp 所需的。OnFinality 公共端点 https://sonic.api.onfinality.io/public 也可用作替代。

将 Sonic 添加到 MetaMask 或其他钱包

大多数钱包允许您手动添加自定义网络。MetaMask、Rabby 和其他 EVM 钱包的过程类似。

  1. 打开您的钱包并转到网络选择下拉菜单。
  2. 点击 添加网络手动添加网络
  3. 输入以下详细信息:
    • 网络名称:Sonic
    • 新的 RPC URLhttps://rpc.soniclabs.comhttps://sonic.api.onfinality.io/public
    • 链 ID:146
    • 货币符号:S
    • 区块浏览器 URLhttps://sonicscan.org
  4. 保存网络并切换到它。

如果您使用支持 WalletConnect 或 chainlist 的钱包,您也可以一键添加。但是,手动输入详细信息可确保您控制使用的 RPC 端点。

使用 ethers 或 viem 连接 dApp

对于开发者来说,连接到 Sonic 很简单。以下是使用 ethers.js 的示例:

import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider("https://sonic.api.onfinality.io/public");

const network = await provider.getNetwork();
console.log("Chain ID:", network.chainId); // 146

const blockNumber = await provider.getBlockNumber();
console.log("Latest block:", blockNumber);

使用 viem:

import { createPublicClient, http } from "viem";

const client = createPublicClient({
  chain: {
    id: 146,
    name: "Sonic",
    nativeCurrency: { name: "Sonic", symbol: "S", decimals: 18 },
    rpcUrls: {
      default: { http: ["https://sonic.api.onfinality.io/public"] },
    },
  },
  transport: http(),
});

const blockNumber = await client.getBlockNumber();
console.log("Latest block:", blockNumber);

使用 curl 进行 JSON-RPC 调用

如果您正在调试或测试,一个简单的 curl 请求可以验证连接性:

curl https://sonic.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

成功的响应以十六进制格式返回最新的区块号。

WebSocket 支持和实时数据

对于需要实时更新的应用程序,例如交易监控或订单簿,WebSocket 端点至关重要。官方 Sonic RPC 支持 WebSocket,许多提供商提供 WSS 端点。

使用 viem 的 WebSocket 订阅示例:

import { createPublicClient, webSocket } from "viem";

const client = createPublicClient({
  chain: {
    id: 146,
    name: "Sonic",
    nativeCurrency: { name: "Sonic", symbol: "S", decimals: 18 },
    rpcUrls: {
      default: { webSocket: ["wss://sonic-rpc.publicnode.com"] },
    },
  },
  transport: webSocket(),
});

const unwatch = client.watchBlockNumber({
  onBlockNumber: (blockNumber) => {
    console.log("New block:", blockNumber);
  },
});

请注意,公共 WebSocket 端点可能有连接限制。对于生产环境,建议使用专用的 WebSocket 端点。

Sonic RPC 提供商比较

在评估 Sonic RPC 提供商时,请考虑以下标准。下表比较了典型的产品,但请务必在每个提供商的网站上验证当前详细信息。

提供商端点类型归档数据WebSocket专用节点
OnFinality公共、托管、专用是(按需)
dRPC公共、高级是(高级)
Dwellir公共、专用
Ankr公共、高级是(高级)

OnFinality 提供公共端点和专用 Sonic 节点。专用节点为您提供隔离的资源,这对于高吞吐量应用程序非常重要。您可以在我们的网络页面上查看受支持网络的完整列表。

何时选择专用 Sonic 节点

专用节点是单租户 RPC 端点,不与其他用户共享。这在以下情况下很有用:

  • 您的应用程序产生大量请求,并且您需要一致的性能。
  • 您需要公共端点上不可用的归档数据或 trace 方法。
  • 您希望避免速率限制和限流。
  • 您需要用于实时数据的私有 WebSocket 端点。

OnFinality 的专用节点服务提供具有隔离资源的 Sonic 节点。您可以选择适合您工作负载的节点大小和配置。

常见陷阱和故障排除

即使使用正确的端点,您也可能会遇到问题。以下是常见问题及解决方法:

  • 错误的链 ID:确保您的钱包或 dApp 使用链 ID 146。不匹配会导致交易签名错误。
  • 速率限制:公共端点通常限制每秒请求数。如果您达到限制,请切换到托管或专用端点。
  • 缺少归档数据:某些 RPC 方法(如大范围的 eth_getLogs)需要归档节点。如果您遇到错误,请检查您的提供商是否提供归档数据。
  • WebSocket 断开:公共 WebSocket 端点可能会断开连接。对于生产环境,请使用专用的 WebSocket 端点。
  • 区块浏览器差异:如果浏览器显示的区块高度与您的 RPC 不同,则可能是同步问题。请使用多个来源进行验证。

监控您的 Sonic RPC 健康状况

为确保您的应用程序保持健康,请监控您的 RPC 端点。一个简单的健康检查脚本可以提醒您问题:

#!/bin/bash

RPC_URL="https://sonic.api.onfinality.io/public"

response=$(curl -s -X POST $RPC_URL \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}')

if echo "$response" | grep -q "result"; then
  echo "RPC is healthy"
else
  echo "RPC is down"
fi

对于生产环境,请考虑使用监控服务来跟踪延迟、错误率和区块高度滞后。

关键要点

  • Sonic 是一个 EVM Layer-1,链 ID 为 146,使用 S 代币。
  • 官方 RPC 是 https://rpc.soniclabs.com;OnFinality 还提供公共端点 https://sonic.api.onfinality.io/public
  • 对于生产环境,请评估托管或专用 RPC 提供商,以避免速率限制并获取归档数据。
  • 专用 Sonic 节点非常适合高吞吐量或数据密集型工作负载。
  • 始终监控您的 RPC 端点健康状况以确保可靠性。

常见问题解答

Sonic 网络 RPC URL 是什么?

官方 Sonic 主网 RPC URL 是 https://rpc.soniclabs.com。OnFinality 还提供公共端点 https://sonic.api.onfinality.io/public

Sonic 链 ID 是什么?

Sonic 主网链 ID 是 146 (0x92)。

Sonic 支持 WebSocket 吗?

是的,Sonic 支持 WebSocket RPC。公共 WSS 端点可用,但对于生产环境,建议使用专用的 WebSocket 端点。

我可以将 Sonic 与 MetaMask 一起使用吗?

是的,您可以使用上述链设置将 Sonic 作为自定义网络添加到 MetaMask。

OnFinality 提供 Sonic RPC 吗?

是的,OnFinality 提供公共 Sonic 端点和专用 Sonic 节点。有关详细信息,请参阅我们的 Sonic 网络页面

Sonic 区块浏览器是什么?

官方 Sonic 区块浏览器是 https://sonicscan.org

Sonic 是 EVM 兼容链吗?

是的,Sonic 完全兼容 EVM,因此您可以无需修改即可部署以太坊智能合约。

如何获取 Sonic 测试网代币?

Sonic 测试网与主网分开。您可以从 Sonic 水龙头获取测试网代币,该水龙头可在 Sonic 文档中找到。

有关 RPC 定价和受支持网络的更多信息,请访问我们的 RPC 定价页面网络页面

RPC 知识库

相关 RPC 内容

区块链基础设施Bittensor

Bittensor TAO 挖矿:如何开始、需要什么硬件以及如何保持在线

Bittensor TAO 挖矿并非传统的工作量证明挖矿。矿工在子网上注册一个热键,并提供验证者评分的有用工作——计算、推理、存储或预测。TAO 奖励取决于你所在子网的排放量以及你相对于其他矿工的表现。 本指南涵盖如何选择子网、所需的硬件和软件、如何注册并运行矿工,以及如何使用可靠的 RPC 端点保...

网络 RPCBittensor

什么是 Bittensor 网络,如何连接它?

Bittensor 是一个去中心化的机器智能网络,其中独立的子网生产数字商品,如计算、推理和存储,贡献者赚取 TAO。本文解释了网络的架构、如何通过 RPC 端点连接,以及在 Bittensor 上构建时选择基础设施的注意事项。...

网络 RPCPolkadot

Polkadot 网络迁移:有哪些变化以及如何影响您的 RPC 端点?

Polkadot 资产中心迁移(AHM)将核心网络功能——余额、质押和治理——从中继链迁移到了资产中心系统平行链。对于 RPC 用户来说,这意味着端点现在必须指向资产中心以获取链上用户数据,而中继链仍然是共识和跨链消息的入口点。开发者应确认其 RPC 提供商同时支持中继链和资产中心端点,以避免中断。...

RPC 提供商选择Optimism

How to Evaluate Optimism RPC Providers for Reliability in Production Apps?

When selecting an Optimism RPC provider, reliability goes beyond uptime. This article covers the key criteria to evaluate: endpoint consistency, archi...

网络 RPCxx network

什么是 xx network,开发者如何与之交互?

xx network 是一个抗量子、注重隐私的区块链,具有去中心化的混合网络(mixnet)。它基于 Substrate 链,并为开发者提供 RPC 端点。本文解释了该网络的架构、如何通过 RPC 连接,以及在选择基础设施以在 xx 上构建时需要考虑的事项。...

区块链基础设施

什么是专用节点,何时应该使用它们?

专用节点是专为单个用户或项目提供的区块链节点,具有隔离的计算、存储和带宽资源。它们消除了共享RPC服务中的资源争用,非常适合高吞吐量的dApp、交易机器人、分析管道以及任何需要持续低延迟访问的工作负载。与共享节点不同,专用节点让您完全控制客户端配置、归档数据保留和自定义RPC方法支持。然而,它们也带...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始