摘要
Statemine 是 Kusama 网络上的一条公益平行链,为 Kusama 网络提供资产中心。它支持以低费用和快速最终性创建和管理资产、NFT 及其他代币标准。本文解释了什么是 Statemine,如何通过 RPC 端点连接它,以及如何为你的应用选择合适的基础设施。
快速决策:如何连接 Statemine
在深入了解细节之前,这里有一个快速指南,帮助你决定如何连接 Statemine。如果你正在构建生产级应用,你需要一个可靠的 RPC 端点。你有两个主要选择:
- 使用公共端点进行测试和开发。OnFinality 为 Statemine 提供了一个公共端点,你可以用于快速实验。
- 使用专用节点用于生产工作负载。如果你的应用需要高吞吐量、归档数据或 WebSocket 订阅,专用节点能提供你所需的性能和可靠性。
对于大多数生产用例,我们建议使用像 OnFinality 这样的托管 RPC 服务,以避免运行自己节点的运维开销。查看支持的 RPC 网络页面,了解 Statemine 是否可用,并查看RPC 定价了解成本详情。
什么是 Statemine?
Statemine 是 Kusama 网络上的一条公益平行链。它作为资产、NFT 和其他代币标准的中心。与通用智能合约链不同,Statemine 针对资产管理进行了优化,提供低交易费用和快速出块时间。它是 Polkadot 上 Statemint 的 Kusama 对应物。
Statemine 使用 Substrate 框架,并支持 Assets pallet 和 Uniques pallet。这允许用户直接在链上创建和管理可替代资产和不可替代代币(NFT),而无需部署智能合约。该链设计为轻量高效,非常适合代币发行、NFT 铸造和资产转移等用例。
链设置一览
以下是配置 RPC 连接时所需的 Statemine 关键链设置:
| 设置 | 值 |
|---|---|
| 链 ID | 1000 |
| 网络名称 | Statemine |
| 原生代币 | KSM |
| 出块时间 | 6 秒 |
| 共识 | PoS (NPoS) |
| 浏览器 | Kusama 浏览器 |
| RPC 端点 | wss://statemine-rpc.publicnode.com(示例) |
注意:上述 RPC 端点为占位符。有关 OnFinality 官方公共端点,请参阅Statemine 网络页面。
如何连接 Statemine
要连接 Statemine,你可以使用 WebSocket 或 HTTPS 端点。以下是使用 Polkadot.js API 的示例:
const { ApiPromise, WsProvider } = require('@polkadot/api');
async function main() {
const wsProvider = new WsProvider('wss://statemine-rpc.publicnode.com');
const api = await ApiPromise.create({ provider: wsProvider });
await api.isReady;
console.log('Connected to Statemine');
// Your code here
}
main().catch(console.error);
对于使用 curl 的简单 JSON-RPC 调用,你可以使用:
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method":"chain_getHeader", "params":[]}' https://statemine-rpc.publicnode.com
请记住将端点替换为网络页面上的实际 OnFinality 端点。
使用 Statemine 进行资产和 NFT 管理
Statemine 的主要用例是资产管理。你可以使用 Assets pallet 创建资产。以下是使用 Polkadot.js API 创建资产的示例:
const { Keyring } = require('@polkadot/keyring');
const { ApiPromise, WsProvider } = require('@polkadot/api');
async function createAsset() {
const wsProvider = new WsProvider('wss://statemine-rpc.publicnode.com');
const api = await ApiPromise.create({ provider: wsProvider });
const keyring = new Keyring({ type: 'sr25519' });
const alice = keyring.addFromUri('//Alice');
const tx = api.tx.assets.create(1, alice.address, 1000000);
const hash = await tx.signAndSend(alice);
console.log('Transaction hash:', hash.toHex());
}
createAsset().catch(console.error);
类似地,你可以使用 Uniques pallet 铸造 NFT。这些操作在 Statemine 上简单且成本低廉。
提供商评估矩阵
为 Statemine 选择 RPC 提供商时,请考虑以下因素:
| 提供商 | 公共端点 | 专用节点 | 归档数据 | WebSocket 支持 | 定价 |
|---|---|---|---|---|---|
| OnFinality | 是 | 是 | 是 | 是 | 透明 |
| 其他提供商 | 各不相同 | 各不相同 | 各不相同 | 各不相同 | 各不相同 |
OnFinality 提供公共和专用端点,支持归档数据和 WebSocket 订阅。这使其适用于从简单资产转移到复杂 NFT 市场的各种应用。有关详细比较,请参阅我们的指南如何选择 RPC 提供商。
常见陷阱和调试
使用 Statemine 时,你可能会遇到一些常见问题:
- 连接超时:如果你使用公共端点,可能会受到速率限制。对于生产环境,请考虑使用专用节点。
- 错误的链 ID:确保在配置钱包或应用时使用正确的链 ID(1000)。
- WebSocket 断开:如果端点过载,WebSocket 连接可能会断开。在应用中实现重连逻辑。
- 资产创建错误:确保你有足够的 KSM 余额来支付交易费用。
如果遇到问题,请查看Statemine 网络页面获取最新的端点信息和状态。
构建与租用:何时使用托管 RPC 服务
运行自己的 Statemine 节点需要大量的基础设施和维护。你需要同步链、保持节点更新并处理扩展。对于大多数开发人员来说,使用像 OnFinality 这样的托管 RPC 服务更具成本效益和可靠性。OnFinality 处理基础设施,因此你可以专注于构建应用。
考虑以下权衡:
| 因素 | 自托管 | 托管服务 |
|---|---|---|
| 初始设置 | 高 | 低 |
| 维护 | 高 | 低 |
| 可扩展性 | 手动 | 自动 |
| 成本 | 硬件 + 运维 | 订阅 |
| 可靠性 | 取决于你的设置 | 高 |
如果你需要快速开始,请使用公共端点。如果你需要生产级可靠性,请考虑 OnFinality 的专用节点。查看RPC 定价了解成本详情。
关键要点
- Statemine 是 Kusama 上用于资产和 NFT 管理的平行链。
- 连接时使用正确的链 ID(1000)和端点。
- 对于生产环境,使用像 OnFinality 这样的托管 RPC 服务以避免运维开销。
- 始终查看官方网络页面以获取最新的端点信息。
常见问题解答
Statemine 有什么用途?
Statemine 用于在 Kusama 网络上创建和管理资产和 NFT。它为代币发行和转移提供了一个低成本、高效的平台。
如何获取 Statemine RPC 端点?
你可以使用 OnFinality 或其他提供商的公共端点。对于生产环境,请考虑专用节点。访问Statemine 网络页面获取官方端点。
Statemine 和 Statemint 有什么区别?
Statemine 在 Kusama 上,而 Statemint 在 Polkadot 上。它们在不同网络上服务于类似的目的。
我可以将 WebSocket 与 Statemine 一起使用吗?
是的,支持 WebSocket。使用 wss:// 端点进行实时订阅。
Statemine 上的交易费用是多少?
费用以 KSM 支付,通常较低。具体费用取决于网络拥塞和交易复杂性。
有关更多详细信息,请探索支持的网络页面,为你的项目找到合适的基础设施。